Grafvision - Fotolia

Administration cloud : comment créer une VM EC2 en ligne de commande

Les administrateurs de ressources sur le cloud AWS peuvent utiliser la ligne de commande AWS CLI pour lancer et gérer des instances EC2. Cet article explique comment le faire.

Les administrateurs AWS disposent de plusieurs moyens pour lancer une machine virtuelle (VM) EC2. De nombreux administrateurs utilisent l’interface en ligne de commande, AWS CLI, pour des lancements fiables, automatisés et cohérents.

Les utilisateurs peuvent choisir l’interface en ligne de commande AWS CLI plutôt que la console de gestion AWS, car il s’agit d’un moyen de lancer des ressources en cloud en précisant plus de paramètres. AWS CLI allège également le travail manuel pour créer et lancer une instance EC2. Cependant, il existe une courbe d’apprentissage pour passer de la console graphique aux commandes.

Cet article montre étape par étape comment utiliser l’interface de programmation AWS CLI pour lancer des machines virtuelles EC2. Il passe en revue la configuration initiale de l’environnement AWS CLI, les paramètres minimaux requis pour lancer une instance et d’autres paramètres importants dans les déploiements AWS.

Étape 1 : configurer l’environnement de script 

Pour commencer, installez les composants CLI. Reportez-vous à la documentation d’AWS pour connaître les dernières commandes, l’emplacement des paquets et les dépendances nécessaires à l’installation de l’AWS CLI dans les systèmes d’exploitation Linux, Apple macOS et Windows.

Ensuite, les utilisateurs doivent configurer les autorisations appropriées dans l’environnement où ils exécuteront les commandes CLI. Ici, les informations d’identification AWS sont stockées dans le fichier $HOME/.aws/credentials. L’inclusion des informations d’identification AWS dans des variables d’environnement ou dans la commande elle-même crée des vulnérabilités en matière de sécurité. Il est préférable de configurer ces informations d’identification dans un fichier local. Si vous exécutez des commandes à partir d’une instance EC2, configurez un profil de sécurité AWS Identity and Access Management (IAM) pour éviter la configuration interne des informations d’identification.

Pour suivre cet article, l’utilisateur IAM configuré dans le fichier d’informations d’identification doit disposer d’autorisations suffisantes pour démarrer les instances EC2, et d’autorisations d’écriture liées à EC2. Par exemple, l’utilisateur doit pouvoir créer des groupes de sécurité AWS et des volumes Elastic Block Storage (EBS). Attachez la politique IAM AmazonEC2FullAccess à l’utilisateur pour vous assurer qu’il peut effectuer les étapes requises.

La région AWS est un paramètre essentiel à configurer dans la CLI. Utilisez le fichier $HOME/.aws/config. Spécifiez une région en définissant la variable d’environnement AWS_REGION ou en passant le paramètre -region dans la CLI AWS.

Étape 2 : lister les paramètres minimums de la VM EC2

Vous avez besoin des paramètres suivants pour lancer une instance EC2 :

  • ID de l’image de la VM (AMI). Cela permet de lancer l’instance.
  • Type d’instance EC2. Assurez-vous que le type d’instance sélectionné est compatible avec l’identifiant AMI.
  • ID du VPC et de ses sous-réseaux. L’instance est lancée à partir de ceux-ci.
  • ID du groupe de sécurité. Les utilisateurs doivent en attribuer un à l’instance. Pour les groupes de sécurité nouvellement créés, les utilisateurs doivent attribuer un ID avant de lancer l’instance EC2.
  • Nom de la paire de clés EC2. Sans ce nom, les utilisateurs ne peuvent pas utiliser Secure Shell pour se connecter à l’instance EC2 ou y accéder via Windows Remote Desktop.

Utilisez l’écran AMI Catalog dans la console EC2 pour sélectionner une image AMI disponible pour une région particulière. Filtrez les AMI disponibles en fonction de paramètres tels que le système d’exploitation, l’architecture, l’éditeur AWS Marketplace, le modèle de tarification et les AMI privées. Notez tous les identifiants AMI pertinents qui seront utiles pour travailler avec l’AWS CLI. Cela peut permettre d’éviter de revenir sur cette page chaque fois qu’un utilisateur lance une nouvelle instance EC2.

Cet article suppose que certains aspects de la configuration EC2 existent déjà. Il ne couvre pas la création d’un nouveau réseau VPC, d’un sous-réseau, d’un groupe de sécurité ou d’une paire de clés EC2.

Pour créer l’instance EC2 dans le CLI AWS avec l’ensemble minimum recommandé de paramètres, utilisez les commandes suivantes :

aws ec2 run-instances \

--image-id <ami-id> \

--instance-type <instance-type> \

--subnet-id <subnet-id> \

--security-group-ids <security-group-id> <security-group-id> … \

--key-name <ec2-key-pair-name>

Étape 3 : configurer l’instance avec d’autres paramètres importants

La commande CLI qui lance une instance EC2 comporte 40 paramètres différents. En plus des paramètres minimaux, vous pouvez spécifier les paramètres suivants pour améliorer la sécurité, adapter l’instance EC2 à l’application, ou encore augmenter la fiabilité :

  • BlockDeviceMappings. La valeur par défaut du volume racine pour une AMI standard Amazon Linux 2023 est un volume gp3 de 8 Go. Pour une AMI Windows, il s’agit d’un volume gp2 de 30 Go. Ces capacités peuvent ne pas être suffisantes pour l’application envisagée. Les AMI personnalisées ont également une allocation de volume EBS par défaut. Utilisez le paramètre BlockDeviceMappings pour allouer plus d’espace EBS que celui fourni par défaut dans l’AMI.
  • Monitoring. Pour une surveillance améliorée, utilisez le paramètre Monitoring. Il fournit des métriques toutes les minutes, au lieu d’un délai de cinq minutes par défaut. Des intervalles plus courts permettent une réponse plus rapide aux événements et un dépannage plus efficace lors de l’analyse des problèmes.
  • UserData. Si l’instance EC2 doit démarrer certains processus au lancement, utilisez le paramètre UserData pour les configurer. Par exemple, une instance peut démarrer des processus spécifiques à une application pour Apache ou Nginx, ou mettre à jour les fichiers de configuration de l’application. Ce paramètre permet de rendre plus souple et d’automatiser le processus de lancement de l’instance EC2.
  • DisableApiTermination. Si l’instance EC2 stocke des données critiques ou exécute une tâche critique, définissez ce paramètre sur true afin d’éviter une résiliation accidentelle via la console graphique ou la console CLI.
  • IamInstanceProfile. L’attribution d’un profil de sécurité IAM est une bonne pratique de sécurité lorsque vous créez une nouvelle instance EC2. Il n’est pas nécessaire de configurer les informations d’identification AWS dans des fichiers ou des variables d’environnement à l’intérieur de l’instance. Configurez ce paramètre au lancement de l’instance.
  • TagSpecifications. L’application de balises aux ressources AWS est une bonne pratique pour gérer l’infrastructure à long terme. Ce paramètre permet d’étiqueter l’instance EC2 de manière appropriée. Au minimum, définissez la balise Name pour faciliter la recherche de l’instance EC2 dans la console.
  • LaunchTemplate. Les modèles de lancement standardisent le lancement des instances EC2 en préconfigurant l’image AMI, le type d’instance, la configuration du volume de stockage, les groupes de sécurité et d’autres paramètres. Si les modèles de lancement sont déjà configurés pour le déploiement AWS, définissez ce paramètre pour simplifier les tâches de configuration pour le lancement de l’instance via la CLI.
  • Count. Le paramètre Count indique le nombre d’instances EC2 qui seront lancées.
  • associatePublicIpAddress | noAssociatePublicIpAddress. Les utilisateurs d’AWS peuvent sélectionner ce paramètre selon que la ou les nouvelles instances utiliseront ou non une adresse IP publique. Les sous-réseaux ont une configuration par défaut qui permet de désactiver ou d’activer l’association avec une adresse IP publique. Pour des raisons de sécurité, certaines instances EC2 ne doivent pas avoir d’adresse IP publique. Dans d’autres cas d’utilisation, elle est nécessaire.

Pour approfondir sur Administration et supervision du Cloud

Close