Baliser des groupes et des instances Auto Scaling - Amazon EC2 Auto Scaling

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Baliser des groupes et des instances Auto Scaling

Une balise est une étiquette d'attribut personnalisée que vous attribuez ou attribuez à une AWS ressource. AWS Chaque balise se compose de deux parties :

  • Une clé d'identification (par exemple, costcenter, environment ou project)

  • Un champ facultatif appelé valeur d'identification (par exemple, 111122223333 ou production)

Les balises vous permettent d’effectuer les actions suivantes :

  • Suivez vos AWS coûts. Vous activez ces balises sur le AWS Billing and Cost Management tableau de bord. AWS utilise les balises pour classer vos coûts et vous fournir un rapport mensuel de répartition des coûts. Pour plus d’informations, veuillez consulter Utilisation des étiquettes de répartition des coûts dans le AWS Billing Guide de l’utilisateur.

  • Contrôlez l'accès aux groupes Auto Scaling basé sur des balises. Vous pouvez utiliser des conditions dans vos politiques IAM pour contrôler l'accès aux groupes Auto Scaling en fonction des balises de ce groupe Auto Scaling. Pour plus d’informations, consultez Balises pour la sécurité.

  • Filtrez et recherchez des groupes Auto Scaling en fonction des balises que vous insérez. Pour plus d’informations, consultez Utilisation d'identifications pour filtrer les groupes Auto Scaling.

  • Identifiez et organisez vos AWS ressources. Beaucoup Services AWS prennent en charge le balisage. Vous pouvez donc attribuer le même tag aux ressources provenant de différents services pour indiquer que les ressources sont liées.

Vous pouvez baliser les groupes Auto Scaling nouveaux ou existants. Vous pouvez également propager les balises d'un groupe Auto Scaling aux instances EC2 qu'il lance.

Les balises ne sont pas propagées aux volumes Amazon EBS. Pour ajouter des balises aux volumes Amazon EBS, spécifiez les balises dans un modèle de lancement. Pour plus d’informations, consultez Créer un modèle de lancement pour un groupe Auto Scaling.

Vous pouvez créer et gérer des balises via AWS Management Console le ou AWS CLI les SDK.

Limites d'utilisation et de dénomination des balises

Les restrictions de base suivantes s'appliquent aux balises :

  • Le nombre maximum d'identifications par ressource est de 50.

  • Le nombre maximum de balises susceptibles d'être ajoutées ou supprimées avec un seul appel est de 25.

  • La longueur de clé maximale est de 128 caractères Unicode.

  • La longueur de valeur maximale est de 256 caractères Unicode.

  • Les clés et les valeurs des balises sont sensibles à la casse. La bonne pratique consiste à choisir une politique pour mettre des balises en majuscule et mettre en œuvre cette politique de manière cohérente sur tous les types de ressources.

  • N'utilisez pas le aws: préfixe dans les noms ou les valeurs de vos balises, car il est réservé à AWS l'usage. Vous ne pouvez pas modifier ou supprimer les noms ou valeurs des balises avec ce préfixe, et elles ne sont pas comptées dans vos balises par quota de groupe.

Cycle de vie de balisage d'instance EC2

Si vous avez choisi de propager des balises vers vos instances EC2, celles-ci sont gérées comme suit :

  • Lorsqu'un groupe Auto Scaling lance des instances, il ajoute les balises aux instances lors de la création de ressources plutôt qu'après la création de la ressource.

  • Le groupe Auto Scaling ajoute automatiquement une identification aux instances avec une clé aws:autoscaling:groupName et une valeur du nom du groupe Auto Scaling.

  • Si vous spécifiez des balises d'instance dans votre modèle de lancement et que vous avez choisi de propager les balises de votre groupe à ses instances, toutes les balises sont fusionnées. Si la même clé d'identification est spécifiée pour une identification dans votre modèle de lancement et une identification dans votre groupe Auto Scaling, la valeur de l'identification du groupe est prioritaire.

  • Lorsque vous attachez des instances existantes, le groupe Auto Scaling ajoute les balises aux instances en remplaçant les anciennes balises par la même clé de balise. Il ajoute également une identification avec une clé de aws:autoscaling:groupName et une valeur du nom du groupe Auto Scaling.

  • Quand vous détachez une instance d'un groupe Auto Scaling, celui-ci ne supprime que la balise aws:autoscaling:groupName.

Baliser vos groupes Auto Scaling

Lorsque vous ajoutez une balise au groupe Auto Scaling, vous pouvez spécifier si elle doit être ajoutée aux instances lancées dans le groupe Auto Scaling. Si vous modifiez une balise, la version mise à jour de la balise est ajoutée aux instances lancées dans le groupe Auto Scaling après le changement. Si vous créez ou modifiez une balise pour un groupe Auto Scaling, ces changements ne sont pas appliqués aux instances déjà en cours d'exécution dans le groupe Auto Scaling.

Ajouter ou modifier des balises (console)

Pour étiqueter un groupe Auto Scaling lors de la création

Lorsque vous utilisez la console Amazon EC2 pour créer un groupe Auto Scaling, vous pouvez spécifier les clés et les valeurs des balises sur la page Add tags (Ajouter des balises) de l'assistant Create Auto Scaling group (Créer un groupe Auto Scaling). Pour propager une balise aux instances lancées dans le groupe Auto Scaling, assurez-vous que vous conservez l'option Tag new instances (Baliser les nouvelles instances) pour cette balise sélectionnée. Sinon, vous pouvez la désactiver.

Pour ajouter ou modifier des balises pour un groupe Auto Scaling existant
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ et choisissez Groupes Auto Scaling dans le panneau de navigation.

  2. Cochez la case située en regard du groupe Auto Scaling.

    Un volet fractionné s'ouvre en bas de la page Auto Scaling groups (Groupes Auto Scaling).

  3. Sous l'onglet Details (Détails) choisissez Tags (Balises), Edit (Modifier).

  4. Pour modifier des identifications existantes, modifiez Key (Clé) et Value (Valeur).

  5. Pour ajouter une nouvelle identification, choisissez Add tag (Ajouter une identification) et modifiez Key (Clé) et Value (Valeur). Vous pouvez continuer de sélectionner l'option Tag New Instances (Baliser les nouvelles instances) pour ajouter automatiquement la balise aux instances lancées dans le groupe Auto Scaling, sinon annulez sa sélection.

  6. Lorsque vous avez fini d'ajouter des balises, choisissez Update (Mettre à jour).

Ajouter ou modifier des balises (AWS CLI)

Les exemples suivants montrent comment utiliser le AWS CLI pour ajouter des balises lorsque vous créez des groupes Auto Scaling et pour ajouter ou modifier des balises pour des groupes Auto Scaling existants.

Pour étiqueter un groupe Auto Scaling lors de la création

Utilisez la create-auto-scaling-groupcommande pour créer un nouveau groupe Auto Scaling et ajouter une balise, par exempleenvironment=production, au groupe Auto Scaling. La balise est également ajoutée aux instances lancées dans le groupe Auto Scaling.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-configuration-name my-launch-config --min-size 1 --max-size 3 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --tags Key=environment,Value=production,PropagateAtLaunch=true
Pour créer ou modifier des balises pour un groupe Auto Scaling existant

Utilisez la create-or-update-tagscommande pour créer ou modifier un tag. Par exemple, la commande suivante ajoute les balises Name=my-asg et costcenter=cc123. Les balises sont également ajoutées aux instances lancées dans le groupe Auto Scaling après cette modification. Si une balise avec cette clé existe déjà, la balise existante est remplacée. La console Amazon EC2 associe le nom d'affichage de chaque instance avec le nom spécifié pour la clé Name (sensible à la casse).

aws autoscaling create-or-update-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Name,Value=my-asg,PropagateAtLaunch=true \ ResourceId=my-asg,ResourceType=auto-scaling-group,Key=costcenter,Value=cc123,PropagateAtLaunch=true

Décrire les balises d'un groupe Auto Scaling (AWS CLI)

Si vous souhaitez afficher les balises qui sont appliquées à un groupe Auto Scaling spécifique, vous pouvez utiliser l'une des commandes suivantes :

  • describe-tags — Vous indiquez le nom de votre groupe Auto Scaling pour afficher la liste des balises du groupe spécifié.

    aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-asg

    Voici un exemple de réponse.

    { "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "production", "Key": "environment" } ] }
  • describe-auto-scaling-groups— Vous indiquez le nom de votre groupe Auto Scaling pour afficher les attributs du groupe spécifié, y compris les éventuelles balises.

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

    Voici un exemple de réponse.

    { "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateId": "lt-0b97f1e282EXAMPLE", "LaunchTemplateName": "my-launch-template", "Version": "$Latest" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 1, ... "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "production", "Key": "environment" } ], ... } ] }

Supprimer des balises

Vous pouvez supprimer une balise associée au groupe Auto Scaling à tout moment.

Supprimer des balises (console)

Pour supprimer une balise
  1. Ouvrez la console Amazon EC2 à l'adresse https://console.aws.amazon.com/ec2/ et choisissez Groupes Auto Scaling dans le panneau de navigation.

  2. Activez la case à cocher en regard d'un groupe existant.

    Un volet fractionné s'ouvre en bas de la page Auto Scaling groups (Groupes Auto Scaling).

  3. Sous l'onglet Details (Détails) choisissez Tags (Balises), Edit (Modifier).

  4. Choisissez Remove (Supprimer) en regard de la balise.

  5. Choisissez Mettre à jour.

Supprimer des balises (AWS CLI)

Utilisez la commande delete-tags pour supprimer une balise. Par exemple, la commande suivante supprime une balise avec une clé environment.

aws autoscaling delete-tags --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=environment"

Vous devez préciser la clé de balise, mais pas la valeur. Si vous spécifiez une valeur et qu'elle est incorrecte, la balise n'est pas supprimée.

Balises pour la sécurité

Utilisez des balises pour vérifier que le demandeur (tel qu'un utilisateur ou un rôle IAM) dispose des autorisations de créer, modifier ou supprimer des groupes Auto Scaling spécifiques. Fournissez des informations de balise dans l'élément de condition d'une politique IAM à l'aide des clés de condition suivantes :

  • Utilisez autoscaling:ResourceTag/tag-key: tag-value pour accorder (ou refuser) aux utilisateurs des actions sur des groupes Auto Scaling avec des balises spécifiques.

  • Utilisez aws:RequestTag/tag-key: tag-value pour exiger qu'une balise spécifique soit présente (ou non) dans une demande.

  • Utilisez aws:TagKeys [tag-key, ...] pour exiger que des clés de balise spécifiques soient présentes (ou non) dans une demande.

Par exemple, vous pouvez refuser l'accès à tous les groupes Auto Scaling qui incluent une balise avec la clé environment et la valeur production, comme illustré dans l'exemple suivant.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DeleteAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": {"autoscaling:ResourceTag/environment": "production"} } } ] }

Pour plus d’informations sur l’utilisation des clés de condition afin de contrôler l’accès aux groupes Auto Scaling, consultez Fonctionnement d'Amazon EC2 Auto Scaling avec IAM.

Contrôler l'accès aux balises

Utilisez des balises pour vérifier que le demandeur (tel qu'un utilisateur ou un rôle IAM) dispose des autorisations d'ajouter, modifier ou supprimer des balises pour des groupes Auto Scaling.

L’exemple de politique IAM suivant donne l’autorisation principale de supprimer uniquement la balise avec la clé temporary des groupes Auto Scaling.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "autoscaling:DeleteTags", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": ["temporary"] } } } ] }

Pour plus d’exemples de politiques IAM qui appliquent des contraintes sur les balises spécifiées pour les groupes Auto Scaling, consultez Contrôler les clés de balise et les valeurs de balise pouvant être utilisées.

Note

Même si vous disposez d'une politique qui empêche vos utilisateurs d'exécuter une opération d'étiquetage (ou d'annulation de désétiquetage) sur un groupe Auto Scaling, cela ne les empêche pas de modifier manuellement les identifications sur les instances après les avoir lancées. Pour obtenir des exemples qui contrôlent l'accès aux balises sur les instances EC2, veuillez consulter Exemple : balisage de vos ressources dans le Guide de l'utilisateur Amazon EC2 pour les instances Linux.

Utilisation d'identifications pour filtrer les groupes Auto Scaling

Les exemples suivants vous montrent comment utiliser des filtres avec la describe-auto-scaling-groupscommande pour décrire les groupes Auto Scaling dotés de balises spécifiques. Le filtrage par balises est limité au SDK AWS CLI ou à un SDK et n'est pas disponible depuis la console.

Considérations relatives au filtrage

  • Vous pouvez spécifier plusieurs filtres et plusieurs valeurs de filtre dans une seule requête.

  • Vous ne pouvez pas utiliser des caractères génériques avec les valeurs de filtre.

  • Les valeurs de filtre sont sensibles à la casse.

Exemple : décrire les groupes Auto Scaling avec une paire clé-valeur d'identification spécifique

La commande suivante montre comment filtrer les résultats pour n'afficher que les groupes Auto Scaling dont la paire clé/valeur d'identification est environment=production.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-key,Values=environment Name=tag-value,Values=production

Voici un exemple de réponse.

{ "AutoScalingGroups": [ { "AutoScalingGroupName": "my-asg", "AutoScalingGroupARN": "arn", "LaunchTemplate": { "LaunchTemplateId": "lt-0b97f1e282EXAMPLE", "LaunchTemplateName": "my-launch-template", "Version": "$Latest" }, "MinSize": 1, "MaxSize": 5, "DesiredCapacity": 1, ... "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "production", "Key": "environment" } ], ... }, ... additional groups ... ] }

Vous pouvez également spécifier des identifiants à l'aide d'un filtre tag:<key>. Par exemple, la commande suivante montre comment filtrer les résultats pour n'afficher que les groupes Auto Scaling avec une paire clé et valeur d'identification de environment=production. Ce filtre est formaté comme suit : Name=tag:<key>,Values=<value>, avec <key> et <value> représentant une paire clé et valeur d'identification.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag:environment,Values=production

Vous pouvez également filtrer la AWS CLI sortie à l'aide de l'--queryoption. L'exemple suivant montre comment limiter la AWS CLI sortie de la commande précédente au nom du groupe, à la taille minimale, à la taille maximale et aux attributs de capacité souhaités uniquement.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag:environment,Values=production \ --query "AutoScalingGroups[].{AutoScalingGroupName: AutoScalingGroupName, MinSize: MinSize, MaxSize: MaxSize, DesiredCapacity: DesiredCapacity}"

Voici un exemple de réponse.

[ { "AutoScalingGroupName": "my-asg", "MinSize": 0, "MaxSize": 10, "DesiredCapacity": 1 }, ... additional groups ... ]

Pour plus d'informations sur le filtrage, consultez la section Filtrage AWS CLI de la sortie dans le guide de AWS Command Line Interface l'utilisateur.

Exemple : décrire les groupes Auto Scaling dont les identifications correspondent à la clé d'identification spécifiée

La commande suivante montre comment filtrer les résultats pour afficher uniquement les groupes Auto Scaling avec l'identification environment, quelle que soit la valeur de l'identification.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-key,Values=environment
Exemple : décrire les groupes d'Auto Scaling dont les identifications correspondent à l'ensemble des clés d'identification spécifiées

La commande suivante montre comment filtrer les résultats pour afficher uniquement les groupes Auto Scaling avec des identifications pour environment et project, quelle que soit la valeur de l'identification.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-key,Values=environment Name=tag-key,Values=project
Exemple : décrire les groupes Auto Scaling dont les identifications correspondent à au moins une des clés d'identification spécifiées

La commande suivante montre comment filtrer les résultats pour afficher uniquement les groupes Auto Scaling avec des identifications pour environment ou project, quelle que soit la valeur de l'identification.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-key,Values=environment,project
Exemple : décrire les groupes Auto Scaling avec la valeur d'identification spécifiée

La commande suivante montre comment filtrer les résultats pour afficher uniquement les groupes Auto Scaling dont la valeur de l'identification est production, quelle que soit la clé de l'identification.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-value,Values=production
Exemple : décrire les groupes Auto Scaling avec l'ensemble des valeurs d'identification spécifiées

La commande suivante montre comment filtrer les résultats pour afficher uniquement les groupes Auto Scaling dont l'identification est production et development, quelle que soit la clé d'identification.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-value,Values=production Name=tag-value,Values=development
Exemple : décrire les groupes Auto Scaling dont les identifications correspondent à au moins une des valeurs d'identification spécifiées

La commande suivante montre comment filtrer les résultats pour afficher uniquement les groupes Auto Scaling dont la valeur de l'identification est production ou development, quelle que soit la clé de l'identification.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag-value,Values=production,development
Exemple : décrire les groupes d'Auto Scaling dont les identifications correspondent à plusieurs clés et valeurs d'identification

Vous pouvez également combiner des filtres pour créer une logique AND et OR personnalisée pour effectuer un filtrage plus complexe.

La commande suivante montre comment filtrer les résultats pour afficher uniquement les groupes Auto Scaling avec un ensemble spécifique d'identifications. Une clé d'identification est environment AND la valeur de l'identification est (production OR development) AND l'autre clé d'identification est costcenter AND la valeur de l'identification est cc123.

aws autoscaling describe-auto-scaling-groups \ --filters Name=tag:environment,Values=production,development Name=tag:costcenter,Values=cc123