Crear grupos basados en consultas en AWS Resource Groups - AWS Resource Groups

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::service::resource, 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.

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 desplegable AWS::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::service-id::resource-type: una lista separada por comas de cadenas de especificación de tipos de recursos con este formato: , como por ejemplo "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::service-id::resource-type: una lista separada por comas de cadenas de especificación de tipos de recursos con este formato: , como por ejemplo "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\"}'