Configuración del agente de contenedor de Amazon ECS - Amazon Elastic Container Service

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.

Configuración del agente de contenedor de Amazon ECS

El agente de contenedor de Amazon ECS admite una serie de opciones de configuración, la mayoría de las cuales se deben establecer a través de variables de entorno. Están disponibles las siguientes variables de entorno y todas ellas son opcionales.

Si la instancia de contenedor se lanzó con la variante de Linux de la AMI optimizada para Amazon ECS, puede establecer estas variables de entorno en el archivo /etc/ecs/ecs.config y, a continuación, reiniciar el agente. También puede escribir estas variables de configuración en sus instancias de contenedor con datos de usuario de Amazon EC2 en el momento del lanzamiento. Para obtener más información, consulte Proceso de arranque de instancias de contenedor con datos de usuario de Amazon EC2.

Si la instancia de contenedor se lanzó con una variante para Windows de la AMI optimizada para Amazon ECS, puede configurar estas variables de entorno con el PowerShell SetEnvironmentVariable comando y, a continuación, reiniciar el agente. Para obtener más información, consulte Ejecutar comandos en la instancia de Windows durante el lanzamiento en la Guía del usuario de Amazon EC2 para instancias de Windows y Proceso de arranque de instancias de contenedor de Windows mediante datos de usuario de Amazon EC2.

Si está iniciando manualmente el agente de contenedor de Amazon ECS (para AMI no optimizadas para Amazon ECS), puede utilizar estas variables de entorno en el comando docker run que utiliza para iniciar el agente. Utilice estas variables con la sintaxis --env=VARIABLE_NAME=VARIABLE_VALUE. En el caso de información confidencial, por ejemplo credenciales de autenticación para repositorios privados, debe almacenar las variables de entorno del agente en un archivo y transmitirlas a la vez con la opción --env-file path_to_env_file. Puede utilizar los siguientes comandos para agregar las variables.

sudo systemctl stop ecs sudo vi /etc/ecs/ecs.config # And add the environment variables with VARIABLE_NAME=VARIABLE_VALUE format. sudo systemctl start ecs

Parámetros disponibles

Para obtener información sobre los parámetros de configuración del agente contenedor Amazon ECS disponibles, consulte Amazon ECS Container Agent en GitHub.

Almacenamiento de la configuración de instancia de contenedor en Amazon S3

La configuración del agente de contenedor de Amazon ECS se controla mediante las variables de entorno descritas en la sección anterior. Las variantes de Linux de la AMI optimizada para Amazon ECS buscan estas variables en /etc/ecs/ecs.config cuando se inicia el agente de contenedor y el agente se configura en consecuencia. Ciertas variables de entorno inocuas, como ECS_CLUSTER, se pueden transmitir a la instancia de contenedor durante el lanzamiento a través de datos de usuario de Amazon EC2 y se pueden escribir en este archivo sin ninguna consecuencia. No obstante, otro tipo de información confidencial, como las credenciales de AWS o la variable ECS_ENGINE_AUTH_DATA, no deben pasarse nunca a una instancia en los datos de usuario ni escribirse en /etc/ecs/ecs.config de manera que les permita aparecer en un archivo .bash_history.

El almacenamiento de la información de configuración en un bucket privado de Amazon S3 y la concesión de acceso de solo lectura al rol de IAM de instancia de contenedor es una forma práctica y segura de permitir la configuración de instancia de contenedor en el momento del lanzamiento. Puede almacenar una copia del archivo ecs.config en un bucket privado. Puede utilizar los datos de usuario de Amazon EC2 para instalar la AWS CLI y copiar la información de configuración en /etc/ecs/ecs.config cuando se lance la instancia.

Para permitir acceso de solo lectura de Amazon S3 para su rol de instancia de contenedor
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, elija Roles y seleccione el rol de IAM que se va a utilizar para las instancias de contenedor. Este rol probablemente se denomina ecsInstanceRole. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.

  3. En Managed Policies, seleccione Attach Policy.

  4. En la página Attach Policy (Asociar política), escriba S3 en Filter (Filtro) para reducir los resultados de políticas.

  5. Seleccione la casilla situada a la izquierda de la ReadOnlyAccess política de AmazonS3 y elija Adjuntar política.

Para almacenar un archivo ecs.config en Amazon S3
  1. Cree un ecs.config archivo con variables de configuración del agente Amazon ECS válidas con el siguiente formato. En este ejemplo, se configura la autenticación de registros privados. Para obtener más información, consulte Autenticación de registros privados para tareas.

    ECS_ENGINE_AUTH_TYPE=dockercfg ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"auth":"zq212MzEXAMPLE7o6T25Dk0i","email":"email@example.com"}}
    nota

    Para obtener una lista completa de las variables de configuración del agente Amazon ECS disponibles, consulte Amazon ECS Container Agent en GitHub.

  2. Para almacenar el archivo de configuración, cree un bucket privado en Amazon S3. Para obtener más información, consulte Crear un bucket en la Guía del usuario de Amazon Simple Storage Service.

  3. Cargue el archivo ecs.config en el bucket de S3. Para obtener más información, consulte Add an Object to a Bucket (Adición de un objeto a un bucket) en la Guía del usuario de Amazon Simple Storage Service.

Para cargar un archivo ecs.config desde Amazon S3 en el momento del lanzamiento
  1. Complete los procedimientos indicados anteriormente en esta sección para permitir el acceso de solo lectura de Amazon S3 a las instancias de contenedor y almacenar un archivo ecs.config en un bucket de S3 privado.

  2. Lance nuevas instancias de contenedor siguiendo los pasos que se indican en Lanzamiento de una instancia de contenedor de Linux de Amazon ECS. En Paso 7, utilice el siguiente script de ejemplo que instala la AWS CLI y copia el archivo de configuración en /etc/ecs/ecs.config.

    #!/bin/bash yum install -y aws-cli aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config