Paso 3: Cargar la aplicación "Hello, World!" en Amazon S3 - 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.

Paso 3: Cargar la aplicación "Hello, World!" en Amazon S3

Ahora preparará y cargará su contenido fuente en una ubicación desde la que CodeDeploy pueda desplegarlo. Las siguientes instrucciones explican cómo aprovisionar un bucket de Amazon S3, preparar los archivos de la revisión de la aplicación para el bucket, agrupar los archivos de la revisión y, a continuación, enviar la revisión al bucket.

nota

Aunque no se trata en este tutorial, puede utilizarla CodeDeploy para implementar aplicaciones desde GitHub los repositorios hasta las instancias. Para obtener más información, consulte Integración CodeDeploy con GitHub.

Aprovisionar un bucket de Amazon S3

Cree un contenedor de almacenamiento o bucket en Amazon S3 o utilice un bucket existente. Asegúrese de poder cargar la revisión en el depósito y de que EC2 las instancias de Amazon utilizadas en las implementaciones puedan descargar la revisión del depósito.

Puede usar la AWS CLI consola Amazon S3 o Amazon S3 APIs para crear un bucket de Amazon S3. Tras crear el bucket, asegúrese de conceder permisos de acceso al bucket y a su CodeDeploy usuario.

nota

Los nombres de los buckets deben ser únicos en Amazon S3 para todas AWS las cuentas. Si no puede utilizar amzn-s3-demo-bucket, pruebe otro nombre de bucket, por ejemplo, amzn-s3-demo-bucket seguido de un guion y sus iniciales o algún otro identificador único. A continuación, cuando aparezca amzn-s3-demo-bucket en este tutorial, asegúrese de sustituirlo por el nombre de su bucket.

El bucket de Amazon S3 debe crearse en la misma AWS región en la que se lanzan EC2 las instancias de Amazon de destino. Por ejemplo, si creas el bucket en la región EE.UU. Este (Norte de Virginia), tus EC2 instancias de Amazon de destino deben lanzarse en la región EE.UU. Este (Norte de Virginia).

Para crear un bucket de Amazon S3 (CLI)

Llame al comando mb para crear un bucket de Amazon S3 denominado amzn-s3-demo-bucket:

aws s3 mb s3://amzn-s3-demo-bucket --region region

Para crear un bucket de Amazon S3 (consola)

  1. Abra la consola Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la consola de Amazon S3, elija Crear bucket.

  3. En el cuadro Bucket name (Nombre del bucket), escriba un nombre para el bucket.

  4. En la lista Region (Región), elija la región de destino y, a continuación, seleccione Create (Crear).

Conceda permisos al bucket de Amazon S3 y a su AWS cuenta

Debe tener permisos para cargar en el bucket de Amazon S3. Puede especificar estos permisos mediante una política de bucket de Amazon S3. Por ejemplo, en la siguiente política de bucket de Amazon S3, el uso del carácter comodín (*) permite 111122223333 a la AWS cuenta cargar archivos en cualquier directorio del bucket de Amazon S3 denominadoamzn-s3-demo-bucket:

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

Para ver el ID de su AWS cuenta, consulte Cómo encontrar el ID de su AWS cuenta.

Ahora es un buen momento para comprobar que el bucket de Amazon S3 permite las solicitudes de descarga de cada EC2 instancia de Amazon participante. Puede especificarlos mediante una política de bucket de Amazon S3. Por ejemplo, en la siguiente política de bucket de Amazon S3, el uso del carácter comodín (*) permite ARN arn:aws:iam::444455556666:role/CodeDeployDemo a cualquier EC2 instancia de Amazon con un perfil de IAM instancia adjunto que contenga los archivos descargar archivos desde cualquier directorio del bucket de Amazon S3 denominadoamzn-s3-demo-bucket:

{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/CodeDeployDemo" ] } } ] }

Para obtener información acerca de cómo generar y adjuntar una política de bucket de Amazon S3, consulte Ejemplos de política de bucket.

El usuario CodeDeploy administrativo en el que creó también Paso 1: Configurar debe tener permiso para cargar la revisión en el bucket de Amazon S3. Una forma de especificarlo es mediante una IAM política, que se añade al conjunto de permisos del usuario o a un IAM rol (que se deja que asuma el usuario). La siguiente IAM política permite al usuario cargar revisiones en cualquier lugar del bucket de Amazon S3 denominadoamzn-s3-demo-bucket:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":["s3:PutObject"], "Resource":"arn:aws:s3:::amzn-s3-demo-bucket/*" } ] }

Para obtener información sobre cómo crear una IAM política, consulte Creación de IAM políticas en la Guía del IAM usuario. Para obtener información sobre cómo añadir una política a un conjunto de permisos, consulte Crear un conjunto de permisos en la Guía del usuario de AWS IAM Identity Center .

Preparación de los archivos de la aplicación para el bucket

Asegúrese de que la página web, el AppSpec archivo y el script estén organizados en su máquina de desarrollo de la siguiente manera:

c:\ |-- temp\ |--HelloWorldApp\ |-- appspec.yml |-- before-install.bat |-- index.html

Agrupación de los archivos de la aplicación en un único archivo de almacenamiento y envío del archivo de almacenamiento

Agrupe los archivos en un archivo de almacenamiento (se denomina una revisión de la aplicación).

nota

Es posible que se cobre por almacenar objetos en un bucket y por transferir revisiones de la aplicación dentro y fuera de un bucket. Para obtener más información, consulte Precios de Amazon S3.

  1. En el equipo de desarrollo, cambie a la carpeta en la que se almacenan los archivos:

    cd c:\temp\HelloWorldApp
    nota

    Si no cambia a esta carpeta, la agrupación del archivo comenzará en su carpeta actual. Por ejemplo, si la carpeta actual es c:\temp en lugar de c:\temp\HelloWorldApp, la agrupación comenzará con los archivos y subcarpetas de la carpeta c:\temp, lo que puede incluir algo más que la subcarpeta HelloWorldApp.

  2. Ejecute el create-application comando para registrar una nueva aplicación cuyo nombre HelloWorld_App sea CodeDeploy:

    aws deploy create-application --application-name HelloWorld_App
  3. Ejecute el comando CodeDeploy push para agrupar los archivos, cargar las revisiones en Amazon S3 y registrar la información CodeDeploy sobre la revisión cargada, todo en una sola acción.

    aws deploy push --application-name HelloWorld_App --s3-location s3://amzn-s3-demo-bucket/HelloWorld_App.zip --ignore-hidden-files

    Este comando agrupa los archivos del directorio actual (excluyendo los archivos ocultos) en un único archivo denominadoHelloWorld_App.zip, carga la revisión en el amzn-s3-demo-bucket depósito y registra la información CodeDeploy sobre la revisión cargada.