

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.

# Referencia de acción de implementación de Amazon Elastic Container Service
<a name="action-reference-ECS"></a>

Puede utilizar una acción de Amazon ECS para implementar un conjunto de tareas y un servicio de Amazon ECS. Un servicio de Amazon ECS es una aplicación de contenedor que se implementa en un clúster de Amazon ECS. Un clúster de Amazon ECS es una colección de instancias que alojan su aplicación de contenedores en la nube. La implementación requiere una definición de tareas que cree en Amazon ECS y un archivo de definiciones de imágenes que se CodePipeline utilice para implementar la imagen.

**importante**  
La acción de despliegue estándar de Amazon ECS CodePipeline crea su propia revisión de la definición de la tarea en función de la revisión utilizada por el servicio Amazon ECS. Si crea nuevas revisiones para la definición de la tarea sin actualizar el servicio Amazon ECS, la acción de implementación ignorará esas revisiones.

Antes de crear la canalización, debe haber creado los recursos de Amazon ECS, haber etiquetado y almacenado la imagen en su repositorio de imágenes y haber cargado el BuildSpec archivo en su repositorio de archivos.

**nota**  
En este tema de referencia se describe la acción de implementación estándar de Amazon ECS para CodePipeline. Para obtener información de referencia sobre las acciones de implementación de Amazon ECS a CodeDeploy azul/verde en CodePipeline, consulte. [Referencia de acciones de despliegue de Amazon Elastic Container Service y CodeDeploy azul-verde](action-reference-ECSbluegreen.md)

**Topics**
+ [Tipo de acción](#action-reference-ECS-type)
+ [Parámetros de configuración](#action-reference-ECS-config)
+ [Artefactos de entrada](#action-reference-ECS-input)
+ [Artefactos de salida](#action-reference-ECS-output)
+ [Permisos del rol de servicio: acción estándar de Amazon ECS](#edit-role-ecs)
+ [Declaración de acciones](#action-reference-ECS-example)
+ [Véase también](#action-reference-ECS-links)

## Tipo de acción
<a name="action-reference-ECS-type"></a>
+ Categoría: `Deploy`
+ Propietario: `AWS`
+ Proveedor: `ECS`
+ Versión: `1` 

## Parámetros de configuración
<a name="action-reference-ECS-config"></a>

**ClusterName**  
Obligatorio: sí  
El clúster de Amazon ECS en Amazon ECS.

**ServiceName**  
Obligatorio: sí  
El servicio de Amazon ECS que creó en Amazon ECS.

**FileName**  
Obligatorio: no  
El nombre de su archivo de definiciones de imagen, el archivo JSON que describe el nombre del contenedor de su servicio y la imagen y la etiqueta. Este archivo se utiliza para las implementaciones estándar de ECS. Para obtener más información, consulte [Artefactos de entrada](#action-reference-ECS-input) y [Archivo imagedefinitions.json para las acciones de implementación estándar de](file-reference.md#pipelines-create-image-definitions).

**DeploymentTimeout**  
Obligatorio: no  
El tiempo de espera de la acción de implementación de Amazon ECS en minutos. El tiempo de espera se puede configurar hasta el tiempo de espera predeterminado máximo para esta acción. Por ejemplo:   

```
"DeploymentTimeout": "15"
```

## Artefactos de entrada
<a name="action-reference-ECS-input"></a>
+ **Número de artefactos:** `1`
+ **Descripción:** la acción busca un archivo `imagedefinitions.json` en el repositorio de archivos de origen para la canalización. Un documento de definiciones de imágenes es un archivo JSON que describe el nombre del contenedor de Amazon ECS, así como la imagen y la etiqueta. CodePipeline utiliza el archivo para recuperar la imagen de su repositorio de imágenes, como Amazon ECR. Puede añadir manualmente un archivo `imagedefinitions.json` para una canalización en la que la acción no esté automatizada. Para obtener más información sobre el archivo `imagedefinitions.json`, consulte [Archivo imagedefinitions.json para las acciones de implementación estándar de](file-reference.md#pipelines-create-image-definitions).

  La acción requiere una imagen existente que ya se haya subido a su repositorio de imágenes. Como la asignación de imágenes la proporciona el archivo `imagedefinitions.json`, la acción no requiere que el origen de Amazon ECR se incluya como acción de origen en el proceso.

## Artefactos de salida
<a name="action-reference-ECS-output"></a>
+ **Número de artefactos:** `0` 
+ **Descripción:** los artefactos de salida no se aplican a este tipo de acción.

## Permisos del rol de servicio: acción estándar de Amazon ECS
<a name="edit-role-ecs"></a>

A continuación se indican los permisos mínimos necesarios en Amazon ECS para crear canalizaciones con una acción de implementación de Amazon ECS.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TaskDefinitionPermissions",
            "Effect": "Allow",
            "Action": [
                "ecs:DescribeTaskDefinition",
                "ecs:RegisterTaskDefinition"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Sid": "ECSServicePermissions",
            "Effect": "Allow",
            "Action": [
                "ecs:DescribeServices",
                "ecs:UpdateService"
            ],
            "Resource": [
                "arn:aws:ecs:*:111122223333:service/[[clusters]]/*"
            ]
        },
        {
            "Sid": "ECSTagResource",
            "Effect": "Allow",
            "Action": [
                "ecs:TagResource"
            ],
            "Resource": [
                "arn:aws:ecs:*:111122223333:task-definition/[[taskDefinitions]]:*"
            ],
            "Condition": {
                "StringEquals": {
                    "ecs:CreateAction": [
                        "RegisterTaskDefinition"
                    ]
                }
            }
        },
        {
            "Sid": "IamPassRolePermissions",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::111122223333:role/[[passRoles]]"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": [
                        "ecs.amazonaws.com",
                        "ecs-tasks.amazonaws.com"
                    ]
                }
            }
        }
    ]
}
```

------

Puede optar por utilizar la autorización de etiquetado en Amazon ECS. Al suscribirse, debe otorgar los siguientes permisos: `ecs:TagResource`. Para obtener más información sobre cómo suscribirse y determinar si el permiso es obligatorio y si se aplica la autorización de etiquetas, consulte el [Plazos de la autorización de etiquetado](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-account-settings.html#tag-resources-timeline) en la Guía para desarrolladores de Amazon Elastic Container Service.

También debe añadir los permisos `iam:PassRole` para utilizar los roles de IAM en las tareas. Para obtener más información, consulte [Rol de ejecución de tareas de Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html) y [Roles de IAM para tareas](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html). Utilice la siguiente política:

## Declaración de acciones
<a name="action-reference-ECS-example"></a>

------
#### [ YAML ]

```
Name: DeployECS
ActionTypeId:
  Category: Deploy
  Owner: AWS
  Provider: ECS
  Version: '1'
RunOrder: 2
Configuration:
  ClusterName: my-ecs-cluster
  ServiceName: sample-app-service
  FileName: imagedefinitions.json
  DeploymentTimeout: '15'
OutputArtifacts: []
InputArtifacts:
  - Name: my-image
```

------
#### [ JSON ]

```
{
    "Name": "DeployECS",
    "ActionTypeId": {
        "Category": "Deploy",
        "Owner": "AWS",
        "Provider": "ECS",
        "Version": "1"
    },
    "RunOrder": 2,
    "Configuration": {
        "ClusterName": "my-ecs-cluster",
        "ServiceName": "sample-app-service",
        "FileName": "imagedefinitions.json",
        "DeploymentTimeout": "15"
    },
    "OutputArtifacts": [],
    "InputArtifacts": [
        {
            "Name": "my-image"
        }
    ]
},
```

------

## Véase también
<a name="action-reference-ECS-links"></a>

Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.
+ Consulte [Tutorial: Cree e inserte una imagen de Docker en Amazon ECR con CodePipeline (tipo V2)](tutorials-ecr-build-publish.md) el tutorial que muestra cómo utilizar la acción ECRBuildand Publicar para insertar una imagen y, a continuación, utilizar la acción estándar de ECS para implementarla en Amazon ECS.
+ [Tutorial: Implementación continua con CodePipeline](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cd-pipeline.html): en este tutorial se muestra cómo crear un Dockerfile que se almacena en un repositorio de archivos fuente, por ejemplo. CodeCommit A continuación, el tutorial muestra cómo incorporar un CodeBuild BuildSpec archivo que compila y envía la imagen de Docker a Amazon ECR y crea el archivo imagedefinitions.json. Por último, se crea una definición de tareas y servicios de Amazon ECS y, a continuación, se crea la canalización con una acción de implementación de Amazon ECS.
**nota**  
Este tema y este tutorial describen la acción de implementación estándar de Amazon ECS para CodePipeline. Para obtener información sobre las acciones de despliegue de Amazon ECS a CodeDeploy azul/verde en CodePipeline, consulte. [Tutorial: Creación de una canalización con una fuente y ECS-to-CodeDeploy una implementación de Amazon ECR](tutorials-ecs-ecr-codedeploy.md)
+ *Guía para desarrolladores de Amazon Elastic Container Service*: para obtener información sobre cómo trabajar con imágenes y contenedores de Docker, los servicios y clústeres de Amazon ECS y los conjuntos de tareas de Amazon ECS, consulte [¿Qué es Amazon ECS?](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/)