La réponse est double.
Solution: utilisez / dev / xvdb (/ mnt) pour les données temporaires
Il s'agit du stockage éphémère de votre instance Amazon EC2 et ses caractéristiques sont très différentes de celles du stockage Amazon EBS persistant utilisé ailleurs. En particulier, ce stockage éphémère sera perdu lors des cycles d'arrêt / démarrage et peut généralement disparaître , de sorte que vous ne voulez certainement pas y mettre quoi que ce soit de valeur durable, c'est-à-dire y mettre uniquement des données temporaires que vous pouvez vous permettre de perdre ou de reconstruire facilement , comme un fichier d'échange ou des données strictement temporaires utilisées pendant les calculs. Bien sûr, vous pouvez y stocker d'énormes index par exemple, mais vous devez être prêt à les reconstruire après que le stockage a été effacé pour une raison quelconque (redémarrage de l'instance, panne matérielle, ...).
Solution: redimensionnez / dev / xvda1 (/) pour obtenir le stockage souhaité
C'est ce que l'on appelle le stockage de périphérique racine de votre instance EC2 basée sur Amazon EBS , qui facilite notamment la flexibilité et la durabilité d' Amazon EBS , c'est-à-dire que les données qui y sont stockées sont raisonnablement sûres et survivent aux défaillances d'instance; vous pouvez encore augmenter la flexibilité et la durabilité en prenant des instantanés réguliers de votre volume EBS, qui sont stockés sur Amazon S3 , avec la durabilité bien connue de 99,999999999%.
Cette fonction d'instantané vous permet de résoudre votre problème tour à tour, dans la mesure où vous pouvez remplacer votre stockage racine EBS 8 Go actuel (/ dev / xvda1) par un autre plus ou moins volumineux. Le processus est décrit dans l'excellent article d'Eric Hammond Resizing the Root Disk on a Running EBS Boot EC2 Instance :
Tant que vous êtes d'accord avec un petit temps d'arrêt sur l'instance EC2 (quelques minutes), il est possible de changer le volume EBS racine avec une copie plus grande, sans avoir besoin de démarrer une nouvelle instance.
Si vous préparez correctement les étapes qu'il décrit (je recommande fortement de les tester avec une instance EC2 jetable d'abord pour vous familiariser avec la procédure, ou de l'automatiser via un script personnalisé même), vous devriez pouvoir terminer le processus avec quelques minutes d'arrêt seulement en effet.
La plupart des étapes décrites peuvent également être effectuées via l' AWS Management Console , ce qui évite de traiter avec les outils API Amazon EC2 ; cela se résume à:
- arrêter (pas terminer!) l'instance EC2
- détacher le volume EBS de l'instance arrêtée
- créer un instantané du volume EBS détaché
- créer un nouveau volume EBS (plus grand) à partir de l'instantané créé
- attachez le nouveau volume EBS à l'instance EC2 ( Important ! S'il s'agit de votre périphérique racine, assurez-vous qu'il le nomme exactement comme périphérique racine de l'instance comme il a été mentionné, par exemple (/ dev / sda1) ou (/ dev / xdva1) sinon, il sera attaché en tant que périphérique de bloc et non en tant que périphérique racine et vous ne pourrez pas démarrer l'instance car aucun périphérique racine ne sera répertorié pour l'instance.)
- SSH dans l'instance en cours d'exécution et confirmez que tout est en ordre via
df -ah
- dans le cas où votre système n'a pas automatiquement redimensionné le système de fichiers, vous devrez le faire manuellement comme expliqué dans l'article d'Eric
Bonne chance!
Alternative
Étant donné la polyvalence et la facilité d'utilisation de ces volumes EBS, une option supplémentaire serait d'attacher plus de volumes EBS à votre instance et de déplacer des zones de préoccupation clairement séparables là-bas.
Par exemple, nous utilisons quelques applications Java assez lourdes, chacune consommant 1 à 2 Go de stockage par version; pour faciliter la mise à niveau des versions et pouvoir généralement déplacer ces applications vers différentes instances à ma discrétion, je les ai placées sur des volumes EBS dédiés chacune, les monter sur une instance et les lier à l'emplacement souhaité, par exemple généralement /var/lib/<app>/<version>
et /usr/local/<app>/<version>
.
Avec cette méthode, nous exécutons actuellement des instances EC2 avec le stockage de périphérique racine toujours à sa taille par défaut de 8 Go (comme le vôtre), mais parfois jusqu'à 8 volumes EBS avec des tailles différentes (1 à 15 Go) également.
Cependant, vous devez être conscient des problèmes potentiels de performances du réseau, dans la mesure où tous ces volumes EBS utilisent le même LAN pour leurs E / S, ce qui pourrait même générer des gains de performances respectifs, ou saturer votre réseau dans des cas extrêmes - comme d'habitude, cela dépend sur le cas d'utilisation et la charge de travail à portée de main.