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.
Ejemplo 2: Crear una canalización de Amazon S3 con AWS CloudFormation
Este tutorial le muestra cómo utilizar la consola de AWS CloudFormation para crear una infraestructura que incluya una canalización conectada a un bucket de origen de Amazon S3. En este tutorial utilizará el archivo de plantilla de muestra proporcionado para crear su pila de recursos, que incluye el bucket de origen, el almacén de artefactos, la canalización y recursos de detección de cambios, como, por ejemplo, la regla de Eventos de Amazon CloudWatch y el registro de seguimiento de CloudTrail. Después de crear la pila de recursos en AWS CloudFormation, puede ver su canalización en la consola de AWS CodePipeline. La canalización es una canalización con una etapa de origen de Amazon S3 y una etapa de implementación de CodeDeploy.
Requisitos previos:
Debe haber creado los siguientes recursos para su uso con la plantilla de ejemplo de AWS CloudFormation:
-
Debe haber creado las instancias de Amazon EC2, donde instaló el agente de CodeDeploy en las instancias. Debe haber creado una aplicación de CodeDeploy y un grupo de implementaciones. Puede utilizar los recursos de Amazon EC2 y CodeDeploy creados en Tutorial: Crear una canalización sencilla (repositorio de CodeCommit).
-
Elija los siguientes enlaces para descargar los archivos de plantilla de AWS CloudFormation de ejemplo para crear una canalización con un origen de Amazon S3:
-
Descargue la aplicación de ejemplo de SampleApp_Linux.zip.
Guarde el archivo .zip en su equipo local. Debe cargar el archivo .zip una vez que se haya creado la pila.
Crear la canalización en AWS CloudFormation
-
Abra la consola de AWS CloudFormation y elija Create Stack (Crear pila). Elija Con nuevos recursos (estándar).
-
En Elegir una plantilla, elija Cargar una plantilla. Seleccione Elegir un archivo y luego seleccione el archivo de plantilla desde el equipo local. Elija Siguiente.
-
En Stack Name (Nombre de pila), escriba el nombre de la canalización. Se muestran los parámetros especificados en la plantilla de muestra. Introduzca los siguientes parámetros:
-
En ApplicationName, introduzca el nombre de la aplicación de CodeDeploy. Puede reemplazar el nombre predeterminado
DemoApplication. -
En BetaFleet, escriba el nombre de su grupo de implementaciones de CodeDeploy. Puede reemplazar el nombre predeterminado
DemoFleet. -
En SourceObjectKey, escriba
SampleApp_Linux.zip. Puede cargar este archivo en el bucket después de que la plantilla cree el bucket y la canalización.
-
-
Elija Siguiente. Acepte los valores predeterminados en la siguiente página y, a continuación, elija Next (Siguiente).
-
En Capacidades, seleccione Confirmo que AWS CloudFormation puede crear recursos de IAM y luego elija Crear pila.
-
Una vez creada la pila, consulte la lista de eventos para comprobar si hay errores.
Solución de problemas
El usuario de IAM que crea la canalización en AWS CloudFormation puede requerir permisos adicionales para crear recursos para la canalización. Los siguientes permisos son necesarios en la política para permitir que AWS CloudFormation cree los recursos de Eventos de Amazon CloudWatch necesarios para la canalización de Amazon S3:
{ "Effect": "Allow", "Action": [ "events:PutRule", "events:PutEvents", "events:PutTargets", "events:DeleteRule", "events:RemoveTargets", "events:DescribeRule" ], "Resource": "resource_ARN" } -
En CloudFormation, en la pestaña Resources (Recursos) de la pila, consulte los recursos que se crearon para la pila.
nota
Para ver la canalización que se creó, busque la columna ID lógico en la pestaña Recursos para su pila en CloudFormation. Anote el nombre de la canalización en la columna ID físico. En CodePipeline, puede ver la canalización con el mismo ID físico (nombre de la canalización) en la región en la que creó su pila.
Elija el bucket de S3 con una etiqueta
sourcebucketen el nombre, comos3-cfn-codepipeline-sourcebucket-y04EXAMPLE.. No elija el bucket del artefacto de la canalización.El bucket de origen está vacío porque ha creado recientemente el recurso CloudFormation. Abra la consola de Amazon S3 y localice su bucket de
sourcebucket. Elija Upload (Cargar) y siga las instrucciones para cargar el archivo .zipSampleApp_Linux.zip.nota
Cuando Amazon S3 es el proveedor de origen de la canalización, debe cargar en el bucket todos los archivos de origen empaquetados como un solo archivo .zip. De lo contrario, la acción de origen dará error.
-
Inicie sesión en la Consola de administración de AWS y abra la consola de CodePipeline en https://console.aws.amazon.com/codepipeline/
. En Canalizaciones, elija la canalización y luego Ver. El diagrama muestra las etapas de código fuente e implementación de la canalización.
-
Complete los pasos del siguiente procedimiento para crear sus recursos de AWS CloudTrail.
Crear recursos de AWS CloudTrail en AWS CloudFormation
-
Abra la consola de AWS CloudFormation y elija Create Stack (Crear pila).
-
En Elegir una plantilla, elija Subir una plantilla en Amazon S3. Seleccione Browse (Examinar) y luego seleccione el archivo de plantilla para los recursos de AWS CloudTrail desde el equipo local. Elija Siguiente.
-
En Stack name (Nombre de pila), escriba un nombre para la pila de recursos. Se muestran los parámetros especificados en la plantilla de muestra. Introduzca los siguientes parámetros:
-
En SourceObjectKey, acepte el valor predeterminado para el archivo zip de la aplicación de ejemplo.
-
-
Elija Siguiente. Acepte los valores predeterminados en la siguiente página y, a continuación, elija Next (Siguiente).
-
En Capacidades, seleccione Confirmo que AWS CloudFormation puede crear recursos de IAM y luego elija Crear.
-
Una vez creada la pila, consulte la lista de eventos para comprobar si hay errores.
Los siguientes permisos son necesarios en la política para permitir que AWS CloudFormation cree los recursos de CloudTrail necesarios para la canalización de Amazon S3:
{ "Effect": "Allow", "Action": [ "cloudtrail:CreateTrail", "cloudtrail:DeleteTrail", "cloudtrail:StartLogging", "cloudtrail:StopLogging", "cloudtrail:PutEventSelectors" ], "Resource": "resource_ARN" } -
Inicie sesión en la Consola de administración de AWS y abra la consola de CodePipeline en https://console.aws.amazon.com/codepipeline/
. En Canalizaciones, elija la canalización y luego Ver. El diagrama muestra las etapas de código fuente e implementación de la canalización.
-
En el bucket de origen, confirme y envíe un cambio. Sus recursos de detección de cambios recogen el cambio y se inicia la canalización.