Crear una instancia de Amazon EC2 para CodeDeploy (plantilla)AWS 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.

Crear una instancia de Amazon EC2 para CodeDeploy (plantilla)AWS CloudFormation

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

  • Indica AWS CloudFormation que dé permiso a la instancia para participar en CodeDeploy las implementaciones.

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

  • Instala y ejecuta el CodeDeploy agente en la instancia.

No es necesario que utilice nuestro AWS CloudFormation para configurar una instancia de Amazon EC2. Si desea conocer otras alternativas, consulte Trabajar con instancias para CodeDeploy.

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

Antes de empezar

Antes de poder usar la AWS CloudFormation plantilla 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:*

    • Soy: AddRoleToInstanceProfile

    • objetivo: CreateInstanceProfile

    • objetivo: CreateRole

    • objetivo: DeleteInstanceProfile

    • objetivo: DeleteRole

    • objetivo: DeleteRolePolicy

    • objetivo: GetRole

    • objetivo: DeleteRolePolicy

    • objetivo: PutRolePolicy

    • objetivo: 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 podrás usar el key pair de instancias con CodeDeploy.

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

  1. Inicie sesión en la AWS CloudFormation consola AWS Management Console y ábrala en https://console.aws.amazon.com/cloudformation.

    importante

    Inicia sesión en la AWS Management Console con la misma cuenta que utilizasteEmpezar con CodeDeploy. En la barra de navegación, en el selector de regiones, elige una de las regiones que aparecen en Región y los puntos finales 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 AWS CloudFormation plantilla para su región y, a continuación, seleccione Siguiente.

    Región Ubicación de la AWS CloudFormation plantilla
    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).

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

    • Para InstanceType, escriba el tipo de instancia que desee lanzar (o deje t1.micro como valor predeterminado).

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

    • En OperatingSystemBox, escriba Windows para lanzar instancias que ejecuten Windows Server (o deje Linux como predeterminado).

    • 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 proporciona únicamente con fines de demostración. CodeDeploy no requiere que las instancias de Amazon EC2 tengan 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.

    • Para TagKeyello, escriba la etiqueta de instancia que la clave CodeDeploy utilizará para identificar las instancias durante la implementación (o deje el nombre predeterminado).

    • Para TagValue, escriba el valor de la etiqueta de instancia que CodeDeploy se 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

    AWS CloudFormation las etiquetas son diferentes de las CodeDeploy etiquetas. AWS CloudFormation usa etiquetas para simplificar la administración de su infraestructura. CodeDeploy utiliza etiquetas para identificar las instancias de Amazon EC2. Especificó las CodeDeploy etiquetas en la página Especificar parámetros.

  7. En la página de revisión, en Capacidades, seleccione la casilla Reconozco que AWS CloudFormation podría crear recursos de IAM y, a continuación, elija Crear.

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

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

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

  1. Utilice nuestra AWS CloudFormation plantilla en una llamada al create-stack comando. Esta pila lanzará una nueva instancia de Amazon EC2 con el CodeDeploy agente 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 AWS CloudFormation plantilla en su región:

    Región Ubicación de la plantilla AWS 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 AWS CloudFormation pila denominadaCodeDeployDemoStack, utilizando la AWS CloudFormation plantilla del 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. Llama al describe-stacks comando para comprobar que la AWS CloudFormation pila nombrada CodeDeployDemoStack se creó 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 comprobar que el CodeDeploy agente se está ejecutando en la instancia Amazon EC2, consulte y, a continuaciónGestión de las operaciones CodeDeploy de los agentes, continúe con. Cree una aplicación con CodeDeploy