Note

Ce plugin fait partie de la collection community.aws (version 1.3.0).

Pour l'installer, utilisez : ansible-galaxy collection install community.aws.

Pour l'utiliser dans un playbook, spécifiez : community.aws.ec2_lc.

Nouveau dans la version 1.0.0 : de community.aws

  • Synopsis
  • Exigences
  • Paramètres
  • Notes
  • Exemples
  • Valeurs de retour

Synopsis

  • Peut créer ou supprimer des configurations d'autoscaling AWS.
  • Fonctionne avec le module ec2_asg pour gérer les groupes d'autoscaling.

Exigences

Les exigences ci-dessous sont nécessaires sur l'hôte qui exécute ce module.

  • boto
  • boto <3>= 1.4.4
  • python >= 2.6

Paramètres

Paramètre Choix/par défaut Commentaires
assign_public_ipbooléen
    Choix :

  • pas de
  • oui
Utilisé pour les groupes de mise à l'échelle automatique qui lancent des instances dans un cloud privé virtuel Amazon. Spécifie s'il faut attribuer une adresse IP publique à chaque instance lancée dans un VPC Amazon.
associate_public_ip_addressbooléen
    Choix :

  • pas de
  • oui
Le site associer_adresse_ip_publique ne fait rien et sera supprimée après le 2022-06-01.
aws_access_keychaîne de caractères Clé d'accès AWS. S'il n'est pas défini, la valeur de la variable d'environnement AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY ou EC2_ACCESS_KEY est utilisée.Si profil est défini, ce paramètre est ignoré.Le passage de la variable d'environnement aws_access_key et profil en même temps a été déprécié et les options seront rendues mutuellement exclusives après le 2022-06-01.
alias : ec2_access_key, access_key
aws_ca_bundlechemin d'accès L'emplacement d'un Bundle CA à utiliser lors de la validation des certificats SSL.Uniquement utilisé pour les modules basés sur boto3.Remarque : le Bundle CA est lu côté 'module' et peut devoir être explicitement copié depuis le contrôleur s'il n'est pas exécuté localement.
aws_configdictionnaire Un dictionnaire pour modifier la configuration de botocore.Les paramètres se trouvent à l'adresse suivante . https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.Seule la clé 'user_agent' est utilisée pour les modules boto. Voir http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto pour plus de configuration boto.
aws_secret_keychaîne de caractères Clé secrète AWS. Si elle n'est pas définie, alors la valeur de la variable d'environnement AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY ou EC2_SECRET_KEY est utilisée.Si profil est défini, ce paramètre est ignoré.Passer le paramètre aws_secret_key et profil en même temps a été déprécié et les options seront rendues mutuellement exclusives après le 2022-06-01.
alias : ec2_secret_key, secret_key
classic_link_vpc_idchaîne de caractères Id du VPC activé par ClassicLink
classic_link_vpc_security_groupsliste / elements=chaîne Une liste d'identifiants de groupes de sécurité auxquels associer les instances VPC ClassicLink.
debug_botocore_endpoint_logsbooléen
    Choix :

  • pas de
  • oui
Utilisez un logger botocore.endpoint pour analyser les appels API "ressource:action" uniques (plutôt que totaux) effectués pendant une tâche, en fournissant l'ensemble à la clé resource_actions dans les résultats de la tâche. Utilisez le callback aws_resource_action pour afficher la liste totale des appels effectués pendant un playbook. La variable d'environnement ANSIBLE_DEBUG_BOTOCORE_LOGS peut également être utilisée.
ebs_optimizedbooléen
    Choix :

  • pas de
  • oui
Indique si l'instance est optimisée pour les EBS I/O (true) ou non (false).
ec2_urlchaîne de caractères Url à utiliser pour se connecter à EC2 ou à votre cloud Eucalyptus (par défaut, le module utilisera les endpoints EC2). Ignoré pour les modules où la région est requise. Doit être spécifié pour tous les autres modules si la région n'est pas utilisée. Si elle n'est pas définie, alors la valeur de la variable d'environnement EC2_URL, si elle existe, est utilisée.
Alias : aws_endpoint_url, endpoint_url.
image_idchaîne de caractères L'identifiant unique de l'AMI à utiliser pour le groupe.
instance_idchaîne de caractères L'Id d'une instance en cours d'exécution à utiliser comme base pour une configuration de lancement. Peut être utilisé à la place de image_id et instance_type.
instance_monitoringbooléen
    Choix :

  • pas de
  • oui
Spécifie si les instances sont lancées avec une surveillance détaillée.
nom_profil_instancechaîne de caractères Le nom ou le nom de ressource Amazon (ARN) du profil d'instance associé au rôle IAM pour les instances.
instance_typechaîne de caractères Type d'instance à utiliser pour l'instance.Obligatoire lors de la création d'une nouvelle configuration de lancement.
kernel_idchaîne de caractères Id du noyau pour l'instance EC2.
nom_cléchaîne de caractères Le nom de la clé SSH à utiliser pour l'accès aux instances gérées.
nomchaîne de caractères / obligatoire Nom unique pour la configuration.
placement_tenancychaîne de caractères
    Choix :

  • par défaut
  • dédié
Détermine si l'instance fonctionne sur du matériel à locataire unique ou non.Lorsqu'il n'est pas défini, AWS utilisera par défaut le matériel dédié. default.
profilchaîne de caractères Utilise un profil boto. Fonctionne uniquement avec boto >= 2.24.0.Using profil remplacera aws_access_key, aws_secret_key et security_token et le support pour les passer en même temps que profil a été déprécié.aws_access_key, aws_secret_key et security_token seront rendus mutuellement exclusifs avec profil après le 2022-06-01.
alias : aws_profile
ramdisk_idchaîne de caractères Un identifiant de disque de mémoire vive pour les instances.
régionchaîne de caractères La région AWS à utiliser. Si elle n'est pas spécifiée, la valeur de la variable d'environnement AWS_REGION ou EC2_REGION, le cas échéant, est utilisée. Voir http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
alias : aws_region, ec2_region
groupes de sécuritéliste / elements=chaîne Une liste de groupes de sécurité à appliquer aux instances. Depuis la version 2.4, vous pouvez spécifier soit des noms de groupes de sécurité, soit des ID, soit un mélange des deux. Avant la version 2.4, pour les instances VPC, spécifiez les ID des groupes de sécurité et pour EC2-Classic, spécifiez soit les noms des groupes de sécurité, soit les ID.
security_tokenchaîne de caractères Jeton de sécurité AWS STS. S'il n'est pas défini, alors la valeur de la variable d'environnement AWS_SECURITY_TOKEN ou EC2_SECURITY_TOKEN est utilisée.Si profil est défini, ce paramètre est ignoré.Le passage de la variable d'environnement security_token et profil en même temps a été déprécié et les options seront rendues mutuellement exclusives après le 2022-06-01.
alias : aws_security_token, access_token
prix_spotfloat Le prix spot sur lequel vous faites une offre. S'applique uniquement pour un groupe d'autoscaling avec des instances spot.
étatchaîne de caractères
    Choix :

  • présent
  • absent
Enregistre ou désenregistre l'instance.
données_utilisateurchaîne de caractères Blob opaque de données qui est mis à la disposition de l'instance ec2. Mutuellement exclusif avec chemin_données_utilisateur.
chemin_données_utilisateurchemin Chemin d'accès au fichier qui contient les données utilisateur pour les instances ec2. Mutuellement exclusif avec données_utilisateur.
validate_certsbooléen
    Choix :

  • pas de
  • oui
Lorsqu'il est défini sur "non", les certificats SSL ne seront pas validés pour les versions boto >= 2.6.0.
volumesliste / elements=dictionnaire Une liste de dictionnaires définissant les volumes à créer.Pour tout volume, une taille de volume inférieure à 1 sera interprétée comme une demande de ne pas créer le volume.
delete_on_terminationbooléen
    Choix :

  • pas de
  • oui
Indique si le volume doit être automatiquement supprimé lorsque l'instance est terminée.
nom_du_dispositifchaîne de caractères / obligatoire Le nom du volume (par exemple /dev/sda).
cryptébooléen
    Choix :

  • pas de
  • oui
Indique si le volume doit être chiffré à l'aide de la CMK de la KMS 'aws/ebs'.
éphémèrechaîne de caractères Indique si le volume doit être éphémère.Les données sur les volumes éphémères sont perdues lorsque l'instance est arrêtée.Mutuellement exclusif avec le paramètre snapshot paramètre.
iopsnombre entier Le nombre d'IOPS par seconde à provisionner pour le volume.Obligatoire lorsque volume_type=io1.
no_deviceboolean
    Choix :

  • pas de
  • oui
Quand no_device=true le périphérique ne sera pas créé.
snapshotchaîne de caractères L'ID d'un snapshot EBS à copier lors de la création du volume.Mutuellement exclusif avec la chaîne de caractères éphémère paramètre.
volume_sizenombre entier La taille du volume (en GiB).Obligatoire à moins que l'un des éléments suivants ne soit utilisé. éphémère, instantané ou no_device est défini.
type_volumechaîne de caractères Le type de volume à créer.Voir https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html pour plus d'informations sur les types de volumes disponibles.
vpc_idchaîne de caractères ID VPC, utilisé lors de la résolution des noms de groupes de sécurité en ID.

Notes

Note

  • Les configurations de lancement d'Amazon ASG Autoscaling sont immuables une fois créées, de sorte que la modification de la configuration après son changement ne modifiera pas la configuration de lancement sur AWS. Vous devez créer une nouvelle configuration et l'affecter à l'ASG à la place.
  • les volumes chiffrés sont pris en charge sur les versions >= 2.4.
  • Si les paramètres ne sont pas définis dans le module, les variables d'environnement suivantes peuvent être utilisées par ordre décroissant de priorité. AWS_URL ou EC2_URL, AWS_PROFILE ou AWS_DEFAULT_PROFILE, AWS_ACCESS_KEY_ID ou AWS_ACCESS_KEY ou EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY ou AWS_SECRET_KEY ou EC2_SECRET_KEY, AWS_SECURITY_TOKEN ou EC2_SECURITY_TOKEN, AWS_REGION ou EC2_REGION, AWS_CA_BUNDLE
  • Ansible utilise le fichier de configuration boto (généralement ~/.boto) si aucun identifiant n'est fourni. Voir https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION ou EC2_REGION peuvent être typiquement utilisés pour spécifier la région AWS, lorsque cela est nécessaire, mais cela peut également être configuré dans le fichier de configuration boto.

Exemples

# create a launch configuration using an AMI image and instance type as a basis-name: note that encrypted volumes are only supported in >= Ansible 2.4
  community.aws.ec2_lc:name: special
    image_id: ami-XXX
    key_name: default
    security_groups:['group','group2']instance_type: t1.micro
    volumes:-device_name: /dev/sda1
      volume_size:100volume_type: io1
      iops:3000delete_on_termination:trueencrypted:true-device_name: /dev/sdb
      ephemeral: ephemeral0

-name: create a launch configuration using a running instance id as a basis
  community.aws.ec2_lc:name: special
    instance_id: i-00a48b207ec59e948
    key_name: default
    security_groups:['launch-wizard-2']volumes:-device_name: /dev/sda1
      volume_size:120volume_type: io1
      iops:3000delete_on_termination:true-name: create a launch configuration to omit the /dev/sdf EBS device that is included in the AMI image
  community.aws.ec2_lc:name: special
    image_id: ami-XXX
    key_name: default
    security_groups:['group','group2']instance_type: t1.micro
    volumes:-device_name: /dev/sdf
      no_device:true-name: Use EBS snapshot ID for volume
  block:-name: Set Volume Facts
    ansible.builtin.set_fact:volumes:-device_name: /dev/sda1
        volume_size:20ebs:snapshot: snap-XXXX
          volume_type: gp2
          delete_on_termination:trueencrypted: no

  -name: Create launch configuration
    community.aws.ec2_lc:name: lc1
      image_id: ami-xxxx
      assign_public_ip: yes
      instance_type: t2.medium
      key_name: my-key
      security_groups:"['sg-xxxx']"volumes:"{{ volumes }}"register: lc_info

Valeurs de retour

Les valeurs de retour courantes sont documentées ici, les champs suivants sont uniques à ce module :

Clé Retourné Description
arnchaîne de caractères quand state=present Le nom de ressource Amazon de la configuration de lancement.
Exemple : arn:aws:autoscaling:us-east-1:148830907657:launchConfiguration:888d9b58-d93a-40c4-90cf-759197a2621a:launchConfigurationName/launch_config_name
a changébooléen toujours Indique si l'état de la configuration de lancement a changé.
heure_créationchaîne de caractères quand state=present La date et l'heure de création de la configuration de lancement.
Exemple : 2017-11-03 23:46:44.841000
image_idchaîne de caractères quand state=present L'ID de l'image de la machine Amazon utilisée par la configuration de lancement.
Exemple : ami-9be6f38c
instance_typechaîne de caractères lorsque state=present Le type d'instance pour les instances.
Exemple : t1.micro
nomchaîne de caractères quand state=present Le nom de la configuration de lancement.
Exemple : nom_config_lancement
résultatcomplexe quand état=présent Les détails de la spécification pour la configuration de lancement.
associate_public_ip_addressbooléen lorsque state=présent (EC2-VPC) Indique s'il faut attribuer une adresse IP publique à chaque instance.
bloc_device_mappingscomplexe quand état=présent Un mappage de périphérique de bloc, qui spécifie les périphériques de bloc.
nom_du_dispositifchaîne de caractères quand state=present Le nom du périphérique exposé à l'instance EC2 (par exemple, /dev/sdh ou xvdh).
Exemple :/dev/sda1
ebscomplexe quand état=présent Les informations relatives au volume Amazon EBS.
snapshot_idchaîne de caractères quand state=present L'identifiant de l'instantané.
volume_sizechaîne de caractères quand state=present La taille du volume, en GiB.
Echantillon : 100
nom_virtuelchaîne de caractères quand state=present Le nom du périphérique virtuel (par exemple, ephemeral0).
Exemple : ephemeral0
classic_link_vpc_idchaîne de caractères quand state=present L'ID d'un VPC compatible avec ClassicLink auquel vous devez lier vos instances EC2-Classic.
classic_link_vpc_security_groupsliste / elements=chaîne quand state=present Les identifiants d'un ou plusieurs groupes de sécurité pour le VPC spécifié dans ClassicLinkVPCId.
created_timechaîne de caractères quand state=present La date et l'heure de création de la configuration de lancement.
Exemple : 2017-11-03 23:46:44.841000
delete_on_terminationboolean quand state=présent Indique si le volume est supprimé à la fin de l'instance.
Exemple : Vrai
ebs_optimisébooléen quand state=présent Indique si l'instance est optimisée pour les EBS I/O (true) ou non (false).
image_idchaîne de caractères quand state=present L'ID de l'image de la machine Amazon utilisée par la configuration de lancement.
Exemple : ami-9be6f38c
instance_monitoringbooléen quand state=présent Indique si les instances de ce groupe sont lancées avec une surveillance détaillée (true) ou de base (false).
Exemple : Vrai
nom_profil_instancechaîne de caractères quand state=present Le nom ou le nom de ressource Amazon (ARN) du profil d'instance associé au rôle IAM pour l'instance.
instance_typechaîne de caractères lorsque state=present Le type d'instance pour les instances.
Exemple : t1.micro
iopsentier quand state=present Le nombre d'opérations d'entrée/sortie par seconde (IOPS) à provisionner pour le volume.
kernel_idchaîne de caractères quand state=present L'identifiant du noyau associé à l'AMI.
nom_cléchaîne de caractères quand state=present Le nom de la paire de clés.
Exemple : testkey
lancement_configuration_arnchaîne de caractères quand state=present Le nom de ressource Amazon (ARN) de la configuration de lancement.
Exemple : arn:aws:autoscaling:us-east-1:148830907657:launchConfiguration:888d9b58-d93a-40c4-90cf-759197a2621a:launchConfigurationName/launch_config_name
membrechaîne de caractères quand state=present Echantillon :
nomchaîne de caractères quand state=present Le nom de la configuration de lancement.
Exemple : nom_config_lancement
PlacementTenancychaîne de caractères lorsque state=present La location des instances, soit par défaut, soit dédiée.
Exemple : par défaut
ramdisk_idchaîne de caractères quand state=present L'identifiant du disque RAM associé à l'AMI.
groupes_de_sécuritéliste / elements=chaîne quand state=present Les groupes de sécurité à associer aux instances.
Exemple :['sg-5e27db2f']
prix_publicfloat quand state=présent Le prix à enchérir lors du lancement d'instances ponctuelles.
use_block_device_typesboolean quand state=présent Indique s'il faut supprimer un mappage de périphérique.
données_utilisateurchaîne de caractères quand state=present Les données utilisateur disponibles pour les instances.
type_volumechaîne de caractères quand state=present Le type de volume (un parmi standard, io1, gp2).
Echantillon : io1
groupes de sécuritéliste / elements=chaîne quand state=present Les groupes de sécurité à associer aux instances.
Exemple :['sg-5e27db2f']

Auteurs

  • Gareth Rushgrove (@garethr)
  • Willem van Ketwich (@wilvk)