Arranque de instancias de contenedor de Linux de Amazon ECS para la transferencia de datos - Amazon Elastic Container Service

Arranque de instancias de contenedor de Linux de Amazon ECS para la transferencia de datos

Cuando se lanza una instancia de Amazon EC2, puede transferir los datos de usuario a la instancia de EC2. Los datos se pueden utilizar para llevar a cabo tareas de configuración automatizadas comunes e incluso ejecutar scripts cuando la instancia arranca. En Amazon ECS, los casos de uso más comunes para los datos de usuario consisten en transferir la información de configuración al daemon de Docker y al agente de contenedor de Amazon ECS.

Puede transferir varios tipos de datos de usuario a Amazon EC2, incluidos cloud boothooks, scripts de shell y directivas cloud-init. Para obtener más información acerca de estos u otros tipos de formato, consulte la documentación de Cloud-Init.

Para transferir los datos de usuario al utilizar el asistente de lanzamiento de Amazon EC2, consulte Lanzamiento de una instancia de contenedor de Linux de Amazon ECS.

Puede configurar la instancia de contenedor para transferir los datos en la configuración del agente de contenedor o en la configuración del daemon de Docker.

Agente de contenedor de Amazon ECS

Las variantes de Linux de la AMI optimizada para Amazon ECS buscan datos de configuración del agente en el archivo /etc/ecs/ecs.config cuando se inicia el agente de contenedor. Puede especificar estos datos de configuración durante el lanzamiento con datos de usuario de Amazon EC2. Para obtener más información acerca de las variables de configuración del agente de contenedor de Amazon ECS disponibles, consulte Configuración del agente de contenedor de Amazon ECS.

Para establecer solo una variable de configuración del agente como, por ejemplo, el nombre del clúster, utilice echo para copiar la variable en el archivo de configuración:

#!/bin/bash echo "ECS_CLUSTER=MyCluster" >> /etc/ecs/ecs.config

Si tiene varias variables que escribir en /etc/ecs/ecs.config, utilice el formato heredoc siguiente. Este formato escribe todo entre las líneas que comienzan por cat y EOF en el archivo de configuración.

#!/bin/bash cat <<'EOF' >> /etc/ecs/ecs.config ECS_CLUSTER=MyCluster ECS_ENGINE_AUTH_TYPE=docker ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}} ECS_LOGLEVEL=debug ECS_WARM_POOLS_CHECK=true EOF

Para configurar los atributos de instancia personalizados, defina la variable de entorno ECS_INSTANCE_ATTRIBUTES.

#!/bin/bash cat <<'EOF' >> ecs.config ECS_INSTANCE_ATTRIBUTES={"envtype":"prod"} EOF

Daemon de Docker

Puede especificar la información de configuración del daemon de Docker con los datos de usuario de Amazon EC2. Para obtener más información sobre las opciones de configuración, consulte la documentación del daemon de Docker.

En el ejemplo siguiente, las opciones personalizadas se agregan al archivo de configuración del daemon de Docker, que es /etc/docker/daemon.json, y luego se especifica en los datos del usuario cuando se lanza la instancia.

#!/bin/bash cat <<EOF >/etc/docker/daemon.json {"debug": true} EOF systemctl restart docker --no-block

En el ejemplo siguiente, las opciones personalizadas se agregan al archivo de configuración del daemon de Docker, que es /etc/docker/daemon.json, y luego se especifica en los datos del usuario cuando se lanza la instancia. En este ejemplo se muestra cómo activar o desactivar el docker-proxy en el archivo de configuración de daemon de Docker.

#!/bin/bash cat <<EOF >/etc/docker/daemon.json {"userland-proxy": false} EOF systemctl restart docker --no-block