2017-09-27 4 views
0

J'utilise Auto Scaling avec Load Balancer et j'ai deux volumes EBS associés.Redémarrage d'un instantané EBS dans Auto Scaling

Maintenant, lorsqu'une instance est terminée, elle stocke l'instantané des volumes EBS.

J'ai parcouru plusieurs liens mais je ne trouve pas comment récupérer/monter le volume EBS lorsqu'une configuration de lancement lance une nouvelle instance. Puis-je obtenir une référence ou un script PowerShell pour identifier un volume via le nom de tag de la liste de volumes et le monter lorsque l'instance est en cours d'initialisation?

+0

Plutôt que de demander à quelqu'un d'écrire du code pour vous, il est préférable de montrer ce que vous avez et de poser une question pour tout problème que vous rencontrez. Pour des conseils sur une bonne question, voir: [Comment poser une bonne question?] (Http://stackoverflow.com/help/how-to-ask) –

Répondre

2

Aucune installation automatique pour monter un instantané ou un volume EBS existant lorsque Auto Scaling lance une instance.

La meilleure pratique pour Auto Scaling est de stocker des données hors instance, comme dans Amazon S3 ou Amazon EFS. De cette façon, les données sont accessibles à toutes les instances simultanément et peuvent être utilisées par les nouvelles instances lancées.

Il n'y a pas non plus de possibilité automatique de créer un instantané EBS lorsqu'une instance Auto Scaling est terminée. Au lieu de cela, il y a l'option Supprimer sur la terminaison, qui contrôle si le volume EBS doit être supprimé lorsque l'instance est terminée. Si cette option est off, les volumes EBS resteront après la fin d'une instance. Vous pouvez écrire du code (par exemple dans un script User Data) qui a réattaché un volume EBS à une nouvelle instance lancée par Auto Scaling, mais cela peut être compliqué. (Par exemple: Quel exemple pour attacher Qu'advient-il si plusieurs instances sont lancées?)

Bottom line: Oui, vous pouvez écrire un script pour le faire, mais il est une mauvaise conception architecturale.

+0

Merci pour la réponse !!! – gary

0

Oui, vous pouvez attacher (monter) un volume EBS à une instance EC2 à l'aide de l'outil de ligne de commande AWS CLI. Vous exécutez cette commande dans les données utilisateur EC2 au lancement de l'instance.

Running Commands on Your Linux Instance at Launch

AWS CLI attach-volume

Note: Il y a un problème avec cette stratégie. La configuration de lancement ASG permet de créer de nouvelles instances EC2 identiques. Cela signifierait que vous tenteriez d'attacher le même volume EBS à chaque instance qui échouera. Vous pouvez envisager d'utiliser EFS à la place.

Amazon Elastic File System

Mount EFS on EC2 using the AWS CLI

Note: Utiliser les rôles IAM pour fournir vos instances avec des informations d'identification au lieu de stocker les informations d'identification sur l'instance EC2. Une fois que vous avez configuré votre instance EC2 "maître", créez une nouvelle AMI pour votre configuration de lancement ASG. Lorsqu'il est monté sur des instances Amazon EC2, un système de fichiers Amazon EFS fournit une interface de système de fichiers standard et une sémantique d'accès au système de fichiers, vous permettant d'intégrer facilement Amazon EFS à vos applications et outils existants.Plusieurs instances Amazon EC2 peuvent accéder en même temps à un système de fichiers Amazon EFS, ce qui permet à Amazon EFS de fournir une source de données commune pour les charges de travail et les applications s'exécutant sur plusieurs instances Amazon EC2.

+0

Merci pour la réponse !!! – gary