Creación de una instancia de Amazon EC2 para CodeDeploy (plantilla de CloudFormation) - AWS CodeDeploy

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.

Creación de una instancia de Amazon EC2 para CodeDeploy (plantilla de CloudFormation)

Puede utilizar la plantilla de CloudFormation para lanzar rápidamente una instancia de Amazon EC2 que esté ejecutando Amazon Linux o Windows Server. Puede utilizar la AWS CLI, la consola de CodeDeploy o las API de AWS para lanzar la instancia con la plantilla. Además de lanzar la instancia, la plantilla hace lo siguiente:

  • Indica a CloudFormation que conceda a la instancia permiso para participar en las implementaciones de CodeDeploy.

  • Etiqueta la instancia para que CodeDeploy pueda encontrarla durante una implementación.

  • Instala y ejecuta el agente de CodeDeploy en la instancia.

No es necesario utilizar nuestra plantilla de CloudFormation para configurar una instancia Amazon EC2. Si desea conocer otras alternativas, consulte Trabajo con instancias para CodeDeploy.

No proporcionamos una plantilla de CloudFormation para las instancias de Amazon EC2 que ejecutan Ubuntu Server o Red Hat Enterprise Linux (RHEL).

Antes de empezar

Antes de poder usar la plantilla de CloudFormation para lanzar instancias de Amazon EC2, asegúrese de completar los siguientes pasos.

  1. Asegúrese de haber creado un usuario administrativo, tal y como se describe en Paso 1: Configurar. Compruebe que el usuario tiene los siguientes permisos mínimos y añada los que no estén presentes:

    • cloudformation:*

    • codedeploy:*

    • ec2:*

    • iam:AddRoleToInstanceProfile

    • iam:CreateInstanceProfile

    • iam:CreateRole

    • iam:DeleteInstanceProfile

    • iam:DeleteRole

    • iam:DeleteRolePolicy

    • iam:GetRole

    • iam:DeleteRolePolicy

    • iam:PutRolePolicy

    • iam:RemoveRoleFromInstanceProfile

  2. Asegúrese de tener un par de claves de instancia para permitir el acceso SSH a la instancia de Amazon EC2 que ejecuta Amazon Linux o el acceso RDP a la instancia que ejecuta Windows Server.

    Para buscar un nombre de par de claves, abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/. En el panel de navegación, en Network & Security (Red y seguridad), elija Key Pairs (Pares de claves) y anote el nombre del par de claves de la lista.

    Para generar un nuevo par de claves, consulte Crear un par de claves con Amazon EC2. Asegúrese de que crea el par de claves en una de las regiones que se encuentran en la lista de Regiones y puntos de conexión de la Referencia general de AWS. De lo contrario, no puede utilizar el par de claves de la instancia con CodeDeploy.

Lanzamiento de una instancia de Amazon EC2 con la plantilla de CloudFormation (consola)

  1. Inicie sesión en la Consola de administración de AWS y abra la consola de CloudFormation en https://console.aws.amazon.com/cloudformation.

    importante

    Inicie sesión en la Consola de administración de AWS con la misma cuenta que utilizó en Empezando con CodeDeploy. En la barra de navegación, en el selector de regiones, elija una de las regiones que figuran en la lista de Regiones y puntos de conexión en Referencia general de AWS. CodeDeploy solo admite estas regiones.

  2. Elija Crear pila.

  3. En Elegir una plantilla, seleccione Especificar una URL de plantilla de Amazon S3. En el cuadro, escriba la ubicación de la plantilla de CloudFormation para su región y, a continuación, elija Next (Siguiente).

    Región Ubicación de plantilla de CloudFormation
    Región del Este de EE. UU. (Ohio) http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región del Este de EE. UU (Norte de Virginia) http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región del Oeste de EE. UU (Norte de California) http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región del Oeste de EE. UU (Oregón) http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Canadá (centro) http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Europa (Irlanda) http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Europa (Londres) http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región Europa (París) http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Europa (Fráncfort) http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región Israel (Tel Aviv) http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Hong Kong) http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacífico (Tokio) http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Seúl) http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Singapur) http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Sídney) http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Melbourne) https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Bombay) http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de América del Sur (São Paulo) aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
  4. En el cuadro Stack name (Nombre de la pila), escriba un nombre para la pila (por ejemplo, CodeDeployDemoStack).

  5. En Parameters (Parámetros), escriba lo siguiente y seleccione Next (Siguiente).

    • En InstanceCount, escriba el número de instancias que desea lanzar. (Le recomendamos que deje el valor predeterminado 1.)

    • En InstanceType, escriba el tipo de instancia que desea lanzar (o deje el valor predeterminado, t1.micro).

    • En KeyPairName, escriba el nombre del par de claves de la instancia. Escriba solo el nombre del par de claves, no la extensión de archivo del par de claves.

    • Para el cuadro OperatingSystem, escriba Windows para lanzar instancias que ejecutan Windows Server (o deje el valor predeterminado Linux).

    • En SSHLocation, escriba el rango de direcciones IP que desea utilizar para conectarse a la instancia con SSH o RDP (o deje el valor predeterminado, 0.0.0.0/0).

      importante

      El valor predeterminado de 0.0.0.0/0 se suministra únicamente con fines ilustrativos. CodeDeploy no requiere instancias de Amazon EC2 para tener acceso ilimitado a los puertos. Es recomendable que restrinja el acceso a los puertos SSH (y HTTP). Para obtener más información, consulte Sugerencias para proteger la instancia de Amazon EC2.

    • En TagKey, escriba la clave de etiqueta de instancia que CodeDeploy utilizará para identificar las instancias durante la implementación (o deje el valor predeterminado, Name).

    • En TagValue, escriba el valor de etiqueta de instancia que CodeDeploy utilizará para identificar las instancias durante la implementación (o deje el valor predeterminado, CodeDeployDemo).

  6. En la página Options (Opciones), deje las casillas de opción vacías y elija Next (Siguiente).

    importante

    Las etiquetas de CloudFormation son diferentes a las etiquetas de CodeDeploy. CloudFormation utiliza etiquetas para simplificar la administración de la infraestructura. CodeDeploy utiliza etiquetas para identificar las instancias de Amazon EC2. Ha especificado etiquetas de CodeDeploy en la página Especificar parámetros.

  7. En la página Revisión, en Capacidades, active la casilla Acepto que CloudFormation puede crear recursos de IAM y luego elija Crear.

    Una vez que CloudFormation haya creado la pila y lanzado las instancias de Amazon EC2, en la consola de CloudFormation se mostrará CREATE_COMPLETE en la columna Estado. Este proceso puede tardar varios minutos.

Para verificar que el agente de CodeDeploy se está ejecutando en las instancias de Amazon EC2, consulte Gestión de las operaciones del agente de CodeDeploy y, a continuación, continúe en Cree una aplicación con CodeDeploy.

Lanzamiento de una instancia de Amazon EC2 con la plantilla de CloudFormation (AWS CLI)

  1. Utilice nuestra plantilla de CloudFormation en una llamada al comando create-stack. Esta pila lanzará una nueva instancia de Amazon EC2 con el agente de CodeDeploy instalado.

    Para lanzar una instancia de Amazon EC2 que ejecute Amazon Linux:

    aws cloudformation create-stack \ --stack-name CodeDeployDemoStack \ --template-url templateURL \ --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro \ ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Linux \ ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name \ ParameterKey=TagValue,ParameterValue=CodeDeployDemo \ --capabilities CAPABILITY_IAM

    Para lanzar una instancia de Amazon EC2 que ejecute Windows Server:

    aws cloudformation create-stack --stack-name CodeDeployDemoStack --template-url template-url --parameters ParameterKey=InstanceCount,ParameterValue=1 ParameterKey=InstanceType,ParameterValue=t1.micro ParameterKey=KeyPairName,ParameterValue=keyName ParameterKey=OperatingSystem,ParameterValue=Windows ParameterKey=SSHLocation,ParameterValue=0.0.0.0/0 ParameterKey=TagKey,ParameterValue=Name ParameterKey=TagValue,ParameterValue=CodeDeployDemo --capabilities CAPABILITY_IAM

    keyName es el nombre del par de claves de la instancia. Escriba solo el nombre del par de claves, no la extensión de archivo del par de claves.

    template-url es la ubicación de la plantilla de CloudFormation para su región:

    Región Ubicación de plantilla de CloudFormation
    Región del Este de EE. UU. (Ohio) http://s3-us-east-2.amazonaws.com/aws-codedeploy-us-east-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región del Este de EE. UU (Norte de Virginia) http://s3.amazonaws.com/aws-codedeploy-us-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región del Oeste de EE. UU (Norte de California) http://s3-us-west-1.amazonaws.com/aws-codedeploy-us-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región del Oeste de EE. UU (Oregón) http://s3-us-west-2.amazonaws.com/aws-codedeploy-us-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Canadá (centro) http://s3-ca-central-1.amazonaws.com/aws-codedeploy-ca-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Europa (Irlanda) http://s3-eu-west-1.amazonaws.com/aws-codedeploy-eu-west-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Europa (Londres) http://s3-eu-west-2.amazonaws.com/aws-codedeploy-eu-west-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región Europa (París) http://s3-eu-west-3.amazonaws.com/aws-codedeploy-eu-west-3/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Europa (Fráncfort) http://s3-eu-central-1.amazonaws.com/aws-codedeploy-eu-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región Israel (Tel Aviv) http://s3-il-central-1.amazonaws.com/aws-codedeploy-il-central-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Hong Kong) http://s3-ap-east-1.amazonaws.com/aws-codedeploy-ap-east-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Asia Pacífico (Tokio) http://s3-ap-northeast-1.amazonaws.com/aws-codedeploy-ap-northeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Seúl) http://s3-ap-northeast-2.amazonaws.com/aws-codedeploy-ap-northeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Singapur) http://s3-ap-southeast-1.amazonaws.com/aws-codedeploy-ap-southeast-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Sídney) http://s3-ap-southeast-2.amazonaws.com/aws-codedeploy-ap-southeast-2/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Melbourne) https://aws-codedeploy-ap-southeast-4.s3.ap-southeast-4.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de Asia-Pacífico (Bombay) http://s3-ap-south-1.amazonaws.com/aws-codedeploy-ap-south-1/templates/latest/CodeDeploy_SampleCF_Template.json
    Región de América del Sur (São Paulo) aws-codedeploy-ap-northeast-1.s3.sa-east-1.amazonaws.com/templates/latest/CodeDeploy_SampleCF_Template.json

    Este comando crea una pila de CloudFormation denominada CodeDeployDemoStack mediante la plantilla de CloudFormation en el bucket de Amazon S3 especificado. La instancia de Amazon EC2 se basa en el tipo de instancia t1.micro, pero puede utilizar cualquier tipo. Está etiquetada con el valor CodeDeployDemo, pero se puede etiquetar con cualquier valor. Se le ha aplicado el par de claves de instancia especificado.

  2. Ejecute el comando describe-stacks para comprobar que la pila de CloudFormation denominada CodeDeployDemoStack se ha creado correctamente:

    aws cloudformation describe-stacks --stack-name CodeDeployDemoStack --query "Stacks[0].StackStatus" --output text

    No continúe hasta que se devuelva el valor CREATE_COMPLETE.

Para verificar que el agente de CodeDeploy se está ejecutando en la instancia de Amazon EC2, consulte Gestión de las operaciones del agente de CodeDeploy y, a continuación, continúe en Cree una aplicación con CodeDeploy.