Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Crear grupos basados en consultas en AWS Resource Groups
Tipos de consultas de grupos de recursos
En AWS Resource Groups, una consulta es la base de un grupo basado en consultas. Puede basar un grupo de recursos en uno de los dos tipos de consultas.
- Consultas basadas en etiquetas
-
Las consultas basadas en etiquetas incluyen listas de tipos de recursos que se especifican con el formato siguiente
AWS::
, así como etiquetas. Las etiquetas son claves que ayudan a identificar y ordenar los recursos de la organización. Opcionalmente, las etiquetas incluyen valores para las claves.service
::resource
Para una consulta basada en etiquetas, también debe especificar las etiquetas compartidas por los recursos que desea que sean miembros del grupo. Por ejemplo, si desea crear un grupo de recursos que contenga todas las EC2 instancias de Amazon y los buckets de Amazon S3 que utiliza para ejecutar la fase de prueba de una aplicación y tiene instancias y buckets etiquetados de esta manera, elija los tipos de recursos y los tipos de
AWS::S3::Bucket
recursos de la lista desplegableAWS::EC2::Instance
y, a continuación, especifique la clave de etiquetaStage
, con un valor de etiqueta de.Test
La sintaxis del parámetro
ResourceQuery
de un grupo de recursos basado en etiquetas contiene los siguientes elementos:-
Type
Este elemento indica qué tipo de consulta define este grupo de recursos. Para crear un grupo de recursos basado en etiquetas, especifique el valor
TAG_FILTERS_1_0
de la siguiente manera:"Type": "TAG_FILTERS_1_0"
-
Query
Este elemento define la consulta real que se utiliza para compararla con los recursos. Contiene una representación en cadena de una JSON estructura con los siguientes elementos:
-
ResourceTypeFilters
Este elemento limita los resultados solo a los tipos de recursos que coinciden con el filtro. Puede especificar los valores siguientes:
-
"AWS::AllSupported"
: para especificar que los resultados pueden incluir recursos de cualquier tipo que coincidan con la consulta y que actualmente son admitidos por el servicio Resource Groups. -
"AWS::
: una lista separada por comas de cadenas de especificación de tipos de recursos con este formato: , como por ejemploservice-id
::resource-type
"AWS::EC2::Instance"
.
-
-
TagFilters
Este elemento especifica los pares de cadenas clave/valor que se comparan con las etiquetas adjuntas a los recursos. Los que tengan una clave de etiqueta y un valor que coincidan con el filtro se incluyen en el grupo. Cada filtro consta de los siguientes elementos:
-
"Key"
: una cadena con un nombre de clave. Únicamente los recursos de la cuenta que están etiquetados con un par de clave-valor coincidente con las siguientes claves: -
"Values"
: una cadena con una lista de valores separados por comas para la clave especificada. Únicamente los recursos de la cuenta que están etiquetados con un par de clave-valor coincidente son miembros del grupo.
-
-
Todos estos JSON elementos deben combinarse en una representación de cadena de una sola línea de la JSON estructura. Por ejemplo, considere a
Query
con la siguiente JSON estructura de ejemplo. Esta consulta debe coincidir únicamente con las EC2 instancias de Amazon que tengan la etiqueta «Stage» con el valor «Test».{ "ResourceTypeFilters": [ "AWS::EC2::Instance" ], "TagFilters": [ { "Key": "Stage", "Values": [ "Test" ] } ] }
Esto se JSON puede representar como la siguiente cadena de una sola línea y se puede usar como el valor del
Query
elemento. Como el valor de una JSON estructura debe ser una cadena entre comillas dobles, debe evitar los caracteres incrustados entre comillas dobles o barras diagonales y colocarlos delante de una barra invertida, como se muestra a continuación:"Query":"{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"TagFilters\":[{\"Key\":\"Stage\",\"Values\":[\"Test\"]}]}"
A continuación, la
ResourceQuery
cadena completa se representa como parámetro de comando, tal y como se muestra a continuación: CLI--resource-query '{"Type":"TAG_FILTERS_1_0","Query":"{\"ResourceTypeFilters\":[\"AWS::AllSupported\"],\"TagFilters\":[{\"Key\":\"Stage\",\"Values\":[\"Test\"]}]}"}'
-
- basadas en una pila de AWS CloudFormation
-
En una consulta AWS CloudFormation basada en pilas, eliges una AWS CloudFormation pila de tu cuenta en la región actual y, a continuación, eliges los tipos de recursos de la pila que quieres que formen parte del grupo. Puede basar la consulta en una sola AWS CloudFormation pila.
nota
Una AWS CloudFormation pila puede contener otras pilas AWS CloudFormation «secundarias». Sin embargo, un grupo de recursos basado en una pila “principal” no obtiene todos los recursos de las pilas secundarias como miembros del grupo. Los grupos de recursos agregan las pilas secundarias al grupo de recursos de la pila principal como miembros de un solo grupo y no las amplían.
Resource Groups admite consultas basadas en AWS CloudFormation pilas que tienen uno de los siguientes estados.
-
CREATE_COMPLETE
-
CREATE_IN_PROGRESS
-
DELETE_FAILED
-
DELETE_IN_PROGRESS
-
REVIEW_IN_PROGRESS
importante
Solo los recursos que se crean directamente como parte de la pila de la consulta se incluyen en el grupo de recursos. Los recursos creados posteriormente por los miembros de la AWS CloudFormation pila no se convierten en miembros del grupo. Por ejemplo, si un grupo de autoescalado es creado AWS CloudFormation como parte de la pila, entonces ese grupo de autoescalado es miembro del grupo. Sin embargo, una EC2 instancia de Amazon creada por ese grupo de autoscalamiento como parte de su operación no es miembro del grupo de recursos basado en AWS CloudFormation pilas.
Si creas un grupo basado en una AWS CloudFormation pila y el estado de la pila cambia a uno que ya no se admite como base para una consulta de grupo, por ejemplo, el grupo de recursos sigue existiendo, pero no tiene recursos de miembros.
DELETE_COMPLETE
-
Después de crear un grupo de recursos, puede realizar tareas en los recursos del grupo.
La sintaxis del ResourceQuery
parámetro de un grupo de recursos CloudFormation basado en una pila contiene los siguientes elementos:
-
Type
Este elemento indica qué tipo de consulta define este grupo de recursos.
Para crear un grupo de recursos AWS CloudFormation basado en una pila, especifique el valor
CLOUDFORMATION_STACK_1_0
de la siguiente manera:"Type": "CLOUDFORMATION_STACK_1_0"
-
Query
Este elemento define la consulta real que se utiliza para compararla con los recursos. Contiene una representación en cadena de una JSON estructura con los siguientes elementos:
-
ResourceTypeFilters
Este elemento limita los resultados solo a los tipos de recursos que coinciden con el filtro. Puede especificar los valores siguientes:
-
"AWS::AllSupported"
: para especificar que los resultados pueden incluir recursos de cualquier tipo que coincidan con la consulta. -
"AWS::
: una lista separada por comas de cadenas de especificación de tipos de recursos con este formato: , como por ejemploservice-id
::resource-type
"AWS::EC2::Instance"
.
-
-
StackIdentifier
Este elemento especifica el nombre del recurso de Amazon (ARN) de la AWS CloudFormation pila cuyos recursos desea incluir en el grupo.
-
Todos estos JSON elementos deben combinarse en una representación de cadena de una sola línea de la JSON estructura. Por ejemplo, considere a Query
con la siguiente JSON estructura de ejemplo. Esta consulta debe coincidir únicamente con los buckets de Amazon S3 que forman parte de la AWS CloudFormation pila especificada.
{ "ResourceTypeFilters": [ "AWS::S3::Bucket" ], "StackIdentifier": "arn:aws:cloudformation:us-west-2:123456789012:stack/
MyCloudFormationStackName
/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE" }
Esto se JSON puede representar como la siguiente cadena de una sola línea y se puede usar como el valor del Query
elemento. Como el valor de una JSON estructura debe ser una cadena entre comillas dobles, debe evitar los caracteres incrustados entre comillas dobles o barras diagonales y colocarlos delante de una barra invertida, como se muestra a continuación:
"Query":"{\"ResourceTypeFilters\":[\"AWS::S3::Bucket\"],\"StackIdentifier\":\"arn:aws:cloudformation:us-west-2:123456789012:stack\/
MyCloudFormationStackName
\/fb0d5000-aba8-00e8-aa9e-50d5cEXAMPLE\"
A continuación, la ResourceQuery
cadena completa se representa como parámetro de comando, tal y como se muestra a continuación: CLI
--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\"}'