Création de groupes basés sur des requêtes dans AWS Resource Groups - AWS Resource Groups

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.

Création de groupes basés sur des requêtes dans AWS Resource Groups

Types de requêtes de groupes de ressources

Dans AWS Resource Groups, une requête est le fondement d'un groupe basé sur des requêtes. Vous pouvez baser un groupe de ressources sur l'un des deux types de requêtes.

Basé sur des balises

Les requêtes basées sur des balises incluent des listes de types de ressources spécifiés dans le format suivantAWS::service::resource, ainsi que des balises. Les balises sont des clés qui facilitent l'identification et le tri de vos ressources au sein de votre organisation. Le cas échéant, les balises incluent des valeurs pour les clés.

Pour une requête basée sur une balise, vous pouvez également spécifier les balises qui sont partagés par les ressources dont vous souhaitez qu’elles soient membres du groupe. Par exemple, si vous souhaitez créer un groupe de ressources contenant toutes les EC2 instances Amazon et les compartiments Amazon S3 que vous utilisez pour exécuter la phase de test d'une application, et que vous avez des instances et des compartiments balisés de cette façon, choisissez les types de AWS::S3::Bucket ressources AWS::EC2::Instance et dans la liste déroulante, puis spécifiez la clé de baliseStage, avec une valeur de balise de. Test

La syntaxe du ResourceQuery paramètre d'un groupe de ressources basé sur des balises contient les éléments suivants :

  • Type

    Cet élément indique le type de requête qui définit ce groupe de ressources. Pour créer un groupe de ressources basé sur des balises, spécifiez la valeur TAG_FILTERS_1_0 comme suit :

    "Type": "TAG_FILTERS_1_0"
  • Query

    Cet élément définit la requête réelle utilisée pour établir une correspondance avec les ressources. Il contient une représentation sous forme de chaîne d'une JSON structure avec les éléments suivants :

    • ResourceTypeFilters

      Cet élément limite les résultats aux seuls types de ressources qui correspondent au filtre. Vous pouvez spécifier les valeurs suivantes :

      • "AWS::AllSupported"— pour spécifier que les résultats peuvent inclure des ressources de tout type correspondant à la requête et actuellement prises en charge par le service Resource Groups.

      • "AWS::service-id::resource-type— une liste séparée par des virgules de chaînes de spécification de type ressource au format suivant :, par exemple. "AWS::EC2::Instance"

    • TagFilters

      Cet élément spécifie les paires de chaînes clé/valeur qui sont comparées aux balises associées à vos ressources. Les personnes dont la clé de balise et la valeur correspondent au filtre sont incluses dans le groupe. Chaque filtre est composé des éléments suivants :

      • "Key"— une chaîne avec un nom de clé. Seules les ressources dotées de balises avec un nom de clé correspondant correspondent au filtre et sont membres du groupe.

      • "Values"— une chaîne avec une liste de valeurs séparées par des virgules pour la clé spécifiée. Seules les ressources dont la clé de balise correspond et dont la valeur correspond à l'une des ressources de cette liste sont membres du groupe.

Tous ces JSON éléments doivent être combinés dans une représentation sous forme de chaîne sur une seule ligne de la JSON structure. Par exemple, considérez a Query avec l'exemple de JSON structure suivant. Cette requête est destinée à faire correspondre uniquement les EC2 instances Amazon dont le tag « Stage » est associé à la valeur « Test ».

{ "ResourceTypeFilters": [ "AWS::EC2::Instance" ], "TagFilters": [ { "Key": "Stage", "Values": [ "Test" ] } ] }

Cela JSON peut être représenté sous la forme de la chaîne d'une seule ligne suivante et utilisé comme valeur de l'Queryélément. Comme la valeur d'une JSON structure doit être une chaîne entre guillemets doubles, vous devez éviter les guillemets ou les barres obliques intégrés en les faisant précéder d'une barre oblique inverse, comme indiqué ici :

"Query":"{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"TagFilters\":[{\"Key\":\"Stage\",\"Values\":[\"Test\"]}]}"

La ResourceQuery chaîne complète est ensuite représentée comme indiqué ici, en tant que paramètre de CLI commande :

--resource-query '{"Type":"TAG_FILTERS_1_0","Query":"{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"TagFilters\":[{\"Key\":\"Stage\",\"Values\":[\"Test\"]}]}"}'
AWS CloudFormation basé sur une pile

Dans une requête AWS CloudFormation basée sur une pile, vous choisissez une AWS CloudFormation pile dans votre compte dans la région actuelle, puis vous choisissez les types de ressources dans la pile que vous souhaitez inclure dans le groupe. Vous ne pouvez baser votre requête que sur une seule AWS CloudFormation pile.

Note

Une AWS CloudFormation pile peut contenir d'autres piles AWS CloudFormation « enfants ». Cependant, un groupe de ressources basé sur une pile « parent » n'obtient pas toutes les ressources des piles enfants en tant que membres du groupe. Les groupes de ressources ajoutent les piles enfants au groupe de ressources de la pile parent en tant que membres individuels du groupe et ne les développent pas.

Resource Groups prend en charge les requêtes basées sur des AWS CloudFormation piles présentant l'un des statuts suivants.

  • CREATE_COMPLETE

  • CREATE_IN_PROGRESS

  • DELETE_FAILED

  • DELETE_IN_PROGRESS

  • REVIEW_IN_PROGRESS

Important

Seules les ressources directement créées dans le cadre de la pile de la requête sont incluses dans le groupe de ressources. Les ressources créées ultérieurement par les membres de la AWS CloudFormation pile ne deviennent pas membres du groupe. Par exemple, si un groupe d'auto-scaling est créé par dans le AWS CloudFormation cadre de la pile, ce groupe d'auto-scaling en est membre. Toutefois, une EC2 instance Amazon créée par ce groupe d'auto-scaling dans le cadre de son fonctionnement n'est pas membre du groupe de ressources basé sur une AWS CloudFormation pile.

Si vous créez un groupe basé sur une AWS CloudFormation pile et que le statut de la pile change pour devenir un groupe qui n'est plus pris en charge comme base pour une requête de groupe, par exempleDELETE_COMPLETE, le groupe de ressources existe toujours, mais il ne possède aucune ressource membre.

Après avoir créé un groupe de ressources, vous pouvez effectuer des tâches sur les ressources du groupe.

La syntaxe du ResourceQuery paramètre d'un groupe de ressources CloudFormation basé sur une pile contient les éléments suivants :

  • Type

    Cet élément indique le type de requête qui définit ce groupe de ressources.

    Pour créer un groupe de ressources AWS CloudFormation basé sur une pile, spécifiez la valeur comme CLOUDFORMATION_STACK_1_0 suit :

    "Type": "CLOUDFORMATION_STACK_1_0"
  • Query

    Cet élément définit la requête réelle utilisée pour établir une correspondance avec les ressources. Il contient une représentation sous forme de chaîne d'une JSON structure avec les éléments suivants :

    • ResourceTypeFilters

      Cet élément limite les résultats aux seuls types de ressources qui correspondent au filtre. Vous pouvez spécifier les valeurs suivantes :

      • "AWS::AllSupported"— pour spécifier que les résultats peuvent inclure des ressources de tout type correspondant à la requête.

      • "AWS::service-id::resource-type— une liste séparée par des virgules de chaînes de spécification de type ressource au format suivant :, par exemple. "AWS::EC2::Instance"

    • StackIdentifier

      Cet élément indique le nom de ressource Amazon (ARN) de la AWS CloudFormation pile dont vous souhaitez inclure les ressources dans le groupe.

Tous ces JSON éléments doivent être combinés dans une représentation sous forme de chaîne sur une seule ligne de la JSON structure. Par exemple, considérez a Query avec l'exemple de JSON structure suivant. Cette requête est destinée à correspondre uniquement aux compartiments Amazon S3 qui font partie de la AWS CloudFormation pile spécifiée.

{ "ResourceTypeFilters": [ "AWS::S3::Bucket" ], "StackIdentifier": "arn:aws:cloudformation:us-west-2:123456789012:stack/MyCloudFormationStackName/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE" }

Cela JSON peut être représenté sous la forme de la chaîne d'une seule ligne suivante et utilisé comme valeur de l'Queryélément. Comme la valeur d'une JSON structure doit être une chaîne entre guillemets doubles, vous devez éviter les guillemets ou les barres obliques intégrés en les faisant précéder d'une barre oblique inverse, comme indiqué ici :

"Query":"{\"ResourceTypeFilters\":[\"AWS::S3::Bucket\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack\/MyCloudFormationStackName\/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE\"

La ResourceQuery chaîne complète est ensuite représentée comme indiqué ici, en tant que paramètre de CLI commande :

--resource-query '{"Type":"CLOUDFORMATION_STACK_1_0","Query":"{\"ResourceTypeFilters\":[\"AWS::S3::Bucket\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack\/MyCloudFormationStackName\/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE\"}'