Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Creación de plantillas de lanzamiento con AWS CloudFormation

Modo de enfoque
Creación de plantillas de lanzamiento con AWS CloudFormation - AWS CloudFormation
Filtrar vista

En esta sección se proporciona un ejemplo de creación de una plantilla de lanzamiento de Amazon EC2 mediante AWS CloudFormation. Las plantillas de lanzamiento le permiten crear plantillas para configurar y aprovisionar instancias de Amazon EC2 en AWS. Puede utilizar plantillas de lanzamiento para almacenar parámetros de lanzamiento con el objetivo de no tener que especificarlos cada vez que lance una instancia. Para obtener más ejemplos, consulte la sección Ejemplos del recurso de AWS::EC2::LaunchTemplate.

Para obtener más información sobre las plantillas de lanzamiento, consulte Lanzar una instancia desde una plantilla de lanzamiento.

Para obtener información acerca de cómo crear una plantilla de lanzamiento para utilizarla con los grupos de escalado automático, consulte Lanzar plantillas en la Guía del usuario de Amazon EC2 Auto Scaling.

Creación de una plantilla de lanzamiento que especifique grupos de seguridad, etiquetas, datos del usuario y un rol de IAM

En este fragmento se muestra un recurso AWS::EC2::LaunchTemplate que contiene la información de configuración para lanzar una instancia. Los usuarios especifican valores para las propiedades ImageId, InstanceType, SecurityGroups, UserData y TagSpecifications. La propiedad SecurityGroups especifica un grupo de seguridad de EC2 existente y un nuevo grupo de seguridad. La función Ref obtiene el ID del recurso myNewEC2SecurityGroup de AWS::EC2::SecurityGroup que se declara en otra parte de la plantilla de pila.

La plantilla de lanzamiento incluye una sección para datos de usuario personalizados. En esta sección, puede pasar tareas de configuración y scripts que se ejecutan cuando se lanza una instancia. En este ejemplo, los datos de usuario instalan el agente de AWS Systems Manager e inicia el agente.

La plantilla de lanzamiento también incluye un rol de IAM que permite a las aplicaciones que se ejecutan en instancias llevar a cabo acciones en su nombre. En este ejemplo, se muestra un recurso AWS::IAM::Role para la plantilla de lanzamiento, que utiliza la propiedad IamInstanceProfile para especificar el rol de IAM. La función Ref obtiene el nombre del recurso myInstanceProfile de AWS::IAM::InstanceProfile. Para configurar los permisos del rol de IAM, debe especificar un valor para la propiedad ManagedPolicyArns.

JSON

{ "Resources":{ "myLaunchTemplate":{ "Type":"AWS::EC2::LaunchTemplate", "Properties":{ "LaunchTemplateName":{ "Fn::Sub": "${AWS::StackName}-launch-template" }, "LaunchTemplateData":{ "ImageId":"ami-02354e95b3example", "InstanceType":"t3.micro", "IamInstanceProfile":{ "Name":{ "Ref":"myInstanceProfile" } }, "SecurityGroupIds":[ { "Ref":"myNewEC2SecurityGroup" }, "sg-083cd3bfb8example" ], "UserData":{ "Fn::Base64":{ "Fn::Join": [ "", [ "#!/bin/bash\n", "cd /tmp\n", "yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm\n", "systemctl enable amazon-ssm-agent\n", "systemctl start amazon-ssm-agent\n" ] ] } }, "TagSpecifications":[ { "ResourceType":"instance", "Tags":[ { "Key":"environment", "Value":"development" } ] }, { "ResourceType":"volume", "Tags":[ { "Key":"environment", "Value":"development" } ] } ] } } }, "myInstanceRole":{ "Type":"AWS::IAM::Role", "Properties":{ "RoleName":"InstanceRole", "AssumeRolePolicyDocument":{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "ec2.amazonaws.com" ] }, "Action":[ "sts:AssumeRole" ] } ] }, "ManagedPolicyArns":[ "arn:aws:iam::aws:policy/myCustomerManagedPolicy" ] } }, "myInstanceProfile":{ "Type":"AWS::IAM::InstanceProfile", "Properties":{ "Path":"/", "Roles":[ { "Ref":"myInstanceRole" } ] } } } }

YAML

--- Resources: myLaunchTemplate: Type: AWS::EC2::LaunchTemplate Properties: LaunchTemplateName: !Sub ${AWS::StackName}-launch-template LaunchTemplateData: ImageId: ami-02354e95b3example InstanceType: t3.micro IamInstanceProfile: Name: !Ref myInstanceProfile SecurityGroupIds: - !Ref myNewEC2SecurityGroup - sg-083cd3bfb8example UserData: Fn::Base64: !Sub | #!/bin/bash cd /tmp yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm systemctl enable amazon-ssm-agent systemctl start amazon-ssm-agent TagSpecifications: - ResourceType: instance Tags: - Key: environment Value: development - ResourceType: volume Tags: - Key: environment Value: development myInstanceRole: Type: AWS::IAM::Role Properties: RoleName: InstanceRole AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: 'Allow' Principal: Service: - 'ec2.amazonaws.com' Action: - 'sts:AssumeRole' ManagedPolicyArns: - 'arn:aws:iam::aws:policy/myCustomerManagedPolicy' myInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: Path: '/' Roles: - !Ref myInstanceRole
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.