¿Cómo creo instancias de Amazon EC2 a través de CloudFormation si la política de IAM para RunInstances tiene restricciones basadas en etiquetas?

2 minutos de lectura
0

Quiero crear instancias de Amazon Elastic Compute Cloud (Amazon EC2) a través de AWS CloudFormation. Sin embargo, mi política de AWS Identity and Access Management (IAM) para RunInstances tiene restricciones basadas en etiquetas.

Descripción breve

Puede utilizar una plantilla de lanzamiento para crear instancias de Amazon EC2 a través de CloudFormation.

La propiedad Etiquetas del recurso AWS::EC2::Instance no se extiende a los volúmenes que se crean mediante CloudFormation. Si la política de IAM asociada al usuario o al rol tiene restricciones en las etiquetas de volumen, aparecerá el siguiente error:

«No está autorizado a realizar esta operación».

Para pasar las etiquetas a ec2:CreateVolume a través de CloudFormation, debe definirlas en el recurso AWS::EC2::LaunchTemplate de su plantilla de CloudFormation.

Resolución

1.    Defina una plantilla de lanzamiento en la pila con las etiquetas que requiere la política de IAM. Por ejemplo:

RequiredTagsLaunchTemplate:
    Type: 'AWS::EC2::LaunchTemplate'
    Properties:
      LaunchTemplateData:
        TagSpecifications:
          - ResourceType: volume
            Tags:
              - Key: Env
                 Value: Dev

2.    Adjunte la plantilla de lanzamiento a su recurso de instancia de EC2. Por ejemplo:

Instance:
    Type: 'AWS::EC2::Instance'
    Properties:
      LaunchTemplate:
        LaunchTemplateId: !Ref RequiredTagsLaunchTemplate
        Version: 1
      InstanceType: r4.xlarge
      .
      .
  RequiredTagsLaunchTemplate:
    Type: 'AWS::EC2::LaunchTemplate'
    Properties:
      LaunchTemplateData:
        TagSpecifications:
          - ResourceType: volume
            Tags:
              - Key: Env
                Value: Dev

3.    Confirme que la plantilla de lanzamiento tenga todas las etiquetas necesarias.

Importante: Debe confirmar que el rol o el usuario que crea la pila tiene los permisos para crear y usar una plantilla de lanzamiento sin restricciones de etiquetado. Puede usar la clave de condición aws:CalledVia para crear una nueva instrucción que exima a las llamadas a la API de CloudFormation de los requisitos de etiquetado.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año