J'aimerais adopter une stratégie structurée et cohérente de balisage des ressources Amazon EC2. Comment utiliser les balises pour optimiser l'allocation de ressources et la rentabilité de mes ressources EC2 ?

Je sais que les balises sont des paires nom/valeur pouvant être attribuées aux ressources AWS. Toutefois, j'ai besoin d'informations plus précises sur les balises afin de pouvoir créer une stratégie de balisage optimale pour mon scénario d'utilisation EC2.

Cet article décrit plusieurs concepts de balisage élémentaires :

• Présentation du balisage
• Restrictions liées au balisage
• Règles et recommandations concernant la dénomination des balisages
• Interface de ligne de commande et API de balisage
• Utilisation des filtres de balises avec les outils AWS pour Windows PowerShell

Les balises permettent d'identifier et de classer les ressources AWS en associant des métadonnées descriptives, telles que l'identifiant, l'environnement ou le propriétaire de l'application. Chacune d'elles est constituée d'une clé et d'une valeur définies par l'utilisateur. Les balises peuvent être utilisées en tant que filtre lors des demandes de ressources, telles que les instances EC2, en fonction de leur paire valeur/clé. Elles facilitent également la gestion des ressources à grande échelle et figurent sur votre facture mensuelle, ce qui peut être très utile pour le contrôle et la répartition des coûts.

  • Les noms de clé de balise sont sensibles à la casse et peuvent comprendre des caractères alphanumériques (A-Z, a-z, 0-9), des tirets bas et hauts.
  • Les autres caractères autorisés sont les lettres, les espaces et les chiffres représentés en UTF-8, ainsi que les caractères spéciaux suivants : + - = . _ : / @.
  • Reportez à la section Restrictions liées au balisage dans la documentation Amazon EC2 pour consulter les informations les plus récentes à ce sujet.

Balises composées

Pour une utilisation optimale des 50 balises pouvant être attribuées à une ressource, pensez à utiliser des balises composées. Les balises composées combinent plusieurs paires de valeurs et clés dans une seule clé, jointe à une chaîne composée de plusieurs « valeurs » séparées par une barre verticale. Cela permet de réunir les trois clés Ownername (Nom du propriétaire), OwnerPhone (Téléphone du propriétaire) et OwnerEmail (Adresse e-mail du propriétaire) sous une clé OwnerContact (Coordonnées du propriétaire) associée à une chaîne de valeurs délimitées par des barres verticales, telles que le nom, le numéro de téléphone et l'adresse e-mail : John Doe|1-555-555-1212|jdoe@example.com.

Casse du nom de clé de balise

Le nom des clés doit respecter la convention UpperCamelCase, selon laquelle les mots et abréviations qui constituent le terme CamelCase doivent commencer par une majuscule. Exemple : MiscMetadata ou SupportEndpoints. Le nom des clés des balises composées doit utiliser le format UpperCamelCase, suivi du signe égal (« = ») et des valeurs délimitées par une barre verticale : NomDeLaClé1=valeur1|valeur2|valeur3;NomDeLaClé2=valeur1|valeur2|valeur3.

Scénario d'utilisation

Exemple de nom de clé

Exemple de paire valeur/clé

Balise simple

Propriétaire

Bob

Valeur de balise composée

avec barre verticale comme séparateur

Contact

Bob|1-555-555-1212|bob@example.com

Valeur de balise composée avec point-virgule comme séparateur

OnCall

Primary=Bob|1-555-555-1212|bob@example.com;Secondary=Bill|1-555-555-1212|bill@example.com

Nom d'application : nom de l'application avec un identifiant unique facultatif et un nom de domaine/nom de ressource facultatif séparé par une barre verticale

WebApp

ProdWebApp|7231a74d|www.example.com

Environnement d'application : nom de l'environnement avec un nom de niveau et/ou un niveau critique facultatif séparé par une barre verticale

AppEnv

·  Production|Business Critical|Tier 1
·  Dev|Alpha|Tier 2
·  Test|Beta1|Tier 2

Rôle de la ressource : rôle de la ressource dans l'infrastructure

Rôle

·  CustomerDb
·  HRWeb
·  MarketingCollab

Coordonnées de l'auteur et du propriétaire : coordonnées de l'auteur et du propriétaire de la ressource (nom, téléphone, adresse e-mail) avec un point-virgule ou une barre verticale comme séparateur

CreatorOwner

ResourceCreator=Doe, John|1-555-555-1212|jdoe@;ResourceOwner=Doe, Jane|1-555-555-1212|jadoe@

Coordonnées professionnelles : coordonnées (nom, téléphone, adresse e-mail) avec un point-virgule ou une barre verticale comme séparateur

MarketingMgmt

SocialMediaLead=John Doe|1-555-555-1212|jdoe@example.com;TradMediaLead=Jane Doe|1-555-555-1212|jadoe@example.com

Points de terminaison : points de terminaison séparés par un point-virgule

UsSupportEndPoints

AlarmEndPoint=arn::SNS::topic1;ChangeApprovalEndPoint=arn::SQS::changequeue

Métadonnées diverses : métadonnées diverses avec le point-virgule et la barre verticale comme séparateurs

HrMiscMetadata

key1=value1|value2|value3;key2=value1|value2|value3

Coordonnées des partenaires : coordonnées des prestataires de services gérés en externe (nom, téléphone, adresse e-mail) avec un point-virgule ou une barre verticale comme séparateur

NasSolutions-Contact

OwnerContact=John Doe|1-555-555-1212|jdoe@example.com;IncidentContact=Jane Doe|1-555-555-1212|jadoe@example.com

Utilisez les commandes suivantes pour ajouter, mettre à jour, répertorier et supprimer les balises pour vos ressources via l'API ou l'interface de ligne de commande. La documentation relative à chaque commande fournit des exemples.

Description

Interface de ligne de commande sur Amazon EC2

AWS CLI

Outils AWS pour Windows PowerShell

Action d'API

Ajoute ou écrase une ou plusieurs balises pour les ressources spécifiées

ec2-create-tags

create-tags

Cmdlet New-EC2Tag

CreateTags

Supprime les balises spécifiées à partir des ressources identifiées

ec2-delete-tags

delete-tags

Cmdlet Remove-EC2Tag

DeleteTags

Décrit une ou plusieurs balises pour vos ressources

ec2-describe-tags

describe-tags

Cmdlet Get-EC2Tag

DescribeTags

Les ID de ressource EC2 d'une région peuvent être renvoyés sur la base d'un filtrage via les outils AWS pour Windows PowerShell et le cmdlet Get-EC2Tag. Get-EC2Tag prend en charge le filtrage au niveau des paramètres « key », « resource-id », « resource-type » et « value ». Le filtrage de base avec les caractères génériques * et ? est également pris en charge. Il n'est pas possible de renvoyer plus de 1 000 ID de ressource EC2 au cours d'un seul et même appel. Pour en savoir plus sur le cmdlet Get-EC2Tag, reportez-vous à cette section.

Les exemples suivants illustrent l'utilisation des filtres de balises avec les outils AWS pour Windows PowerShell.

Filtrage de l'ID de ressource EC2 en fonction du nom de clé de la balise :

Dans cet exemple, le cmdlet Get-EC2Tag renvoie les ID de ressource des instances EC2 dont le nom de clé de la balise correspond à la chaîne « Contact ».

$filter = New-Object Amazon.EC2.Model.Filter –Property @(Name=”key”; Values=”Contact”)
Get-EC2Tag –Filter $filter

Filtrage de l'ID de ressource EC2 en fonction de la valeur de la balise avec utilisation de caractères génériques :

Dans cet exemple, le cmdlet Get-EC2Tag renvoie les ID de ressource des instances EC2 dont la valeur de la balise contient la chaîne « John Doe ».

$filter = New-Object Amazon.EC2.Model.Filter –Property @(Name=”value”; Values=”*John Doe*”)
Get-EC2Tag –Filter $filter

Filtrage de l'ID de ressource EC2 en fonction du nom de clé et de la valeur de la balise avec utilisation de caractères génériques :

Dans cet exemple, le cmdlet Get-EC2Tag renvoie les ID de ressource des instances EC2 dont le nom de clé de la balise correspond à la chaîne « Contact » et dont la valeur de la balise contient la chaîne « John Doe ».

$filter1 = New-Object Amazon.EC2.Model.Filter -Property @(Name="key"; Values="Contact")
$filter2 = New-Object Amazon.EC2.Model.Filter -Property @(Name="value"; Values="*John Doe*")
$filters = $filter1, $filter2
Get-EC2Tag -Filter $filters

Voici un exemple de sortie générée par le cmdlet Get-EC2Tag lors du filtrage à l'aide de ces critères :

ID de ressource

Type de ressource

Clé

Value

i-2d477420

instance

Contact

OwnerContact=John Doe|1-55…

i-2d477421

instance

Contact

OwnerContact=John Doe|1-55…

i-2d477422

instance

Contact

OwnerContact=John Doe|1-55…

Utilisation des filtres de balises avec la CLI d'AWS et describe-tags :

Les ID de ressources EC2 d'une région peuvent entre renvoyées avec filtrage à l'aide de describe-tags. Describe-tags prend en charge le filtrage au niveau des paramètres « key », « resource-id », « resource-type » et « value ». Le filtrage de base avec les caractères génériques * et ? est également pris en charge.

Exemples de filtres de balises

Les exemples suivants illustrent l'utilisation des filtres de balises avec la CLI d'AWS.

Filtrage de l'ID de ressource EC2 en fonction du nom de clé de la balise :

Dans cet exemple, la CLI d'AWS renvoie les ID de ressource des instances EC2 dont le nom de clé de la balise correspond à la chaîne « Contact ».

$ aws ec2 describe-tags --filters Name=key,Values="Contact"

Filtrage de l'ID de ressource EC2 en fonction de la valeur de la balise avec utilisation de caractères génériques :

Dans cet exemple, la CLI d'AWS renvoie les ID de ressource des instances EC2 dont la valeur de la balise contient la chaîne « John Doe ».

$ aws ec2 describe-tags --filters Name=value,Values="*John Doe*"

Filtrage de l'ID de ressource EC2 en fonction du nom de clé et de la valeur de la balise avec utilisation de caractères génériques

Dans cet exemple, la CLI d'AWS renvoie les ID de ressource des instances EC2 dont le nom de clé de la balise correspond à la chaîne « Contact » et dont la valeur de la balise contient la chaîne « John Doe ».

aws ec2 describe-tags --filters Name=key,Values=Contact Name=value,Values="*John Doe*"

La sortie est la même que pour les exemples PowerShell précédents.

Filtrage des instances EC2 en fonction de leurs balises :

Pour consulter des exemples de filtrage d'instances en fonction des balises via la commande describe-instances, reportez-vous à la section Gestion des balises à l'aide de l'interface de commande ou de l'API.

Le balisage des ressources est un moyen efficace de faciliter la gestion des ressources AWS à grande échelle, car les balises permettent d'identifier, de classer et de localiser les ressources à des fins de gestion et de facturation. Le filtrage des balises EC2 permet de localiser les ressources balisées et de confirmer que les normes de votre entreprise en matière de balisage sont implémentées correctement afin d'optimiser l'allocation des ressources et la rentabilité.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support.

Date de publication : 06/11/2015

Date de mise à jour : 09/06/2016