Instalación del agente de contenedor de Amazon ECS
Si desea registrar una instancia de Amazon EC2 en su clúster de Amazon ECS y dicha instancia no utiliza una AMI basada en la AMI optimizada para Amazon ECS, puede instalar el agente de contenedor de Amazon ECS manualmente mediante el siguiente procedimiento. Para ello, puede descargar el agente desde uno de los buckets de Amazon S3 de la región o desde Amazon Elastic Container Registry Public. Si lo descarga de uno de los buckets de Amazon S3 de la región, puede verificar la validez del archivo del agente de contenedor mediante la firma PGP.
nota
Las unidades systemd
de los servicios de Amazon ECS y de Docker tienen la instrucción de esperar a que cloud-init
finalice antes de comenzar ambos servicios. El proceso cloud-init
no se considera finalizado hasta que los datos de usuario de Amazon EC2 hayan terminado de ejecutarse. Por lo tanto, el inicio de Amazon ECS o de Docker a través de los datos de usuario de Amazon EC2 puede provocar un bloqueo. Para comenzar el agente de contenedor mediante los datos de usuario de Amazon EC2, puede utilizar systemctl enable --now --no-block ecs.service
.
Instalación del agente de contenedor de Amazon ECS en una instancia de EC2 que no es de Amazon Linux
Para instalar el agente de contenedor de Amazon ECS en una instancia de Amazon EC2, puede descargar el agente desde uno de los buckets de Amazon S3 de la región e instalarlo.
nota
Cuando utilice una AMI que no sea de Amazon Linux, la instancia de Amazon EC2 requiere que el cgroupfs
sea compatible con el controlador cgroup
para que el agente de Amazon ECS admita los límites de recursos de nivel de tarea. Para obtener más información, consulte Agente de Amazon ECS en Github
A continuación, se muestran los archivos del agente de contenedor de Amazon ECS más recientes por región para cada arquitectura del sistema, a modo de referencia.
Para instalar el agente de contenedor de Amazon ECS en una instancia de Amazon EC2 con una AMI que no sea de Amazon Linux
-
Lance una instancia de Amazon EC2 con un rol de IAM que permita obtener acceso a Amazon ECS. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.
-
Conecte con la instancia .
-
Instale la última versión de Docker en su instancia.
-
Compruebe la versión de Docker para verificar que su sistema cumpla con el requisito de la versión mínima.
nota
La versión mínima de Docker para obtener métricas fiables es la versión de Docker
v20.10.13
y versiones posteriores, que se incluyen en la AMI20220607
optimizada para Amazon ECS y versiones posteriores.Los agentes de Amazon ECS versión
1.20.0
y posteriores ya no admiten versiones de Docker anteriores a la1.9.0
.docker --version
-
Descargue el archivo del agente correspondiente de Amazon ECS correspondiente correspondiente a su sistema y arquitectura del sistema del sistema e instálelo.
Para arquitecturas
deb
:ubuntu:~$
curl -O https://s3.
us-west-2
.amazonaws.com/amazon-ecs-agent-us-west-2
/amazon-ecs-init-latest.amd64.deb
ubuntu:~$
sudo dpkg -i amazon-ecs-init-latest.
amd64.deb
Para arquitecturas
rpm
:fedora:~$
curl -O https://s3.
us-west-2
.amazonaws.com/amazon-ecs-agent-us-west-2
/amazon-ecs-init-latest.x86_64.rpm
fedora:~$
sudo yum localinstall -y amazon-ecs-init-latest.
x86_64.rpm
-
Edite el archivo
/lib/systemd/system/ecs.service
y agregue la siguiente línea al final de la sección[Unit]
.After=cloud-final.service
-
(Opcional) Para registrar la instancia en un clúster distinto del clúster
default
, edite el archivo/etc/ecs/ecs.config
y agregue los siguientes contenidos. Por ejemplo, lo siguiente especifica el clústerMyCluster
:ECS_CLUSTER=
MyCluster
Para obtener más información acerca de estas y otras opciones de tiempo de ejecución de agente, consulte Configuración del agente de contenedor de Amazon ECS.
nota
Si lo desea, puede almacenar las variables de entorno del agente en Amazon S3 (se pueden descargar en las instancias de contenedor en el momento del lanzamiento utilizando datos de usuario de Amazon EC2). Se recomienda su uso para información confidencial como las credenciales de autenticación para repositorios privados. Para obtener más información, consulte Almacenamiento de la configuración de instancia de contenedor de Amazon ECS en Amazon S3 y Uso de imágenes de contenedor que no sean de AWS en Amazon ECS.
-
Inicie el servicio
ecs
.ubuntu:~$
sudo systemctl start ecs
Ejecución del agente de Amazon ECS en el modo de red del host
Al ejecutar el agente de contenedor de Amazon ECS, ecs-init
creará el contenedor del agente de contenedores con el modo de red host
. Este es el único modo de red compatible para el contenedor de agente de contenedores.
Esto permite bloquear el acceso al punto de conexión de servicio de metadatos de la instancia de Amazon EC2 (http://169.254.169.254
) para los contenedores que inicia el agente de contenedor. Esto garantiza que los contenedores no puedan obtener acceso a las credenciales del rol de IAM desde el perfil de instancia de contenedor y obliga a que las tareas utilicen solo las credenciales del rol de tarea de IAM. Para obtener más información, consulte Rol de IAM de tarea de Amazon ECS.
Esto también lo hace para que el agente de contenedor no compita por las conexiones y el tráfico de red en el puente docker0
.