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.
Instalación del agente de contenedor de Amazon ECS
Si la instancia de contenedor no se lanzó a través de una AMI optimizada para Amazon ECS, puede instalar el agente de contenedor de Amazon ECS manualmente mediante alguno de estos procedimientos. El agente de contenedor de Amazon ECS está incluido en las AMI optimizadas para Amazon ECS y no requiere instalación.
-
Para las instancias de Amazon Linux 2, puede instalar el agente mediante el comando
amazon-linux-extras
. Para obtener más información, consulte Instalación del agente de contenedor de Amazon ECS en una instancia de EC2 de Amazon Linux 2. -
Para las instancias de AMI de Amazon Linux, puede instalar el agente mediante el repositorio de Amazon YUM. Para obtener más información, consulte Instalación del agente contenedor Amazon ECS en una instancia EC2 de Amazon Linux.
-
Para las instancias que no son de Amazon Linux, puede descargar el agente desde uno de los buckets de S3 de la región o desde Amazon Elastic Container Registry Public. Si lo descarga de uno de los buckets de S3 de la región, puede verificar la validez del archivo del agente de contenedor mediante la firma PGP. Para obtener más información, consulte Instalación del agente de contenedor de Amazon ECS en una instancia de EC2 que no es de Amazon Linux.
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 de Amazon Linux 2
Para instalar el agente de contenedor de Amazon ECS en una instancia de EC2 de Amazon Linux 2 mediante el comando amazon-linux-extras
, siga estos pasos.
Para instalar el agente de contenedor de Amazon ECS en una instancia EC2 de Amazon Linux 2
-
Lance una instancia de EC2 de Amazon Linux 2 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.
-
Conéctese a la instancia.
-
Deshabilite el repositorio
docker
Amazon Linux adicional. El repositorioecs
de Amazon Linux adicional se suministra con su propia versión de Docker, por lo que eldocker
adicional se debe deshabilitar para evitar cualquier posible conflicto en el futuro. De este modo, se garantiza que siempre esté utilizando la versión de Docker que Amazon ECS pretende que usted use con una versión específica del agente de contenedor.[ec2-user ~]$
sudo amazon-linux-extras disable docker
-
Instale y habilite el repositorio
ecs
Amazon Linux adicional.[ec2-user ~]$
sudo amazon-linux-extras install -y ecs; sudo systemctl enable --now ecs
-
(Opcional) Puede verificar que el agente se está ejecutando y ver información acerca de la nueva instancia de contenedor con la API de introspección del agente. Para obtener más información, consulte Introducción a los contenedores Amazon ECS.
[ec2-user ~]$
curl -s http://localhost:51678/v1/metadata | python -mjson.tool
nota
Si no recibe ninguna respuesta, asegúrese de haber asociado el rol de IAM de la instancia de contenedor de Amazon ECS al lanzar la instancia. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.
Instalación del agente contenedor Amazon ECS en una instancia EC2 de Amazon Linux
Para instalar el agente contenedor Amazon ECS en una instancia EC2 de Amazon Linux mediante el repositorio de Amazon YUM, siga estos pasos.
Para instalar el agente contenedor Amazon ECS en una instancia EC2 de Amazon Linux
-
Lance una instancia EC2 de Amazon Linux con una función de IAM que permita el acceso a Amazon ECS. Para obtener más información, consulte Rol de IAM de instancia de contenedor de Amazon ECS.
-
Conéctese a la instancia.
-
Instale el paquete
ecs-init
. Para obtener más información al respectoecs-init
, consulte el código fuenteen. GitHub [ec2-user ~]$
sudo yum install -y ecs-init
-
Abra el daemon de Docker.
[ec2-user ~]$
sudo service docker start
Salida:
Starting cgconfig service: [ OK ] Starting docker: [ OK ]
-
Abra el trabajo upstart
ecs-init
.[ec2-user ~]$
sudo service ecs start
Salida:
ecs start/running, process
2804
-
(Opcional) Puede verificar que el agente se está ejecutando y ver información acerca de la nueva instancia de contenedor con la API de introspección del agente. Para obtener más información, consulte Introducción a los contenedores Amazon ECS.
[ec2-user ~]$
curl -s http://localhost:51678/v1/metadata | python -mjson.tool
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 EC2 que no sea de Amazon Linux, puede descargar el agente desde uno de los buckets de S3 de las regiones o desde Docker Hub.
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 el 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.
-
Conéctese a 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
/lib/systemd/system/ecs.service
archivo y añada la siguiente línea al final de la[Unit]
sección.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 en Amazon S3 y Autenticación de registros privados para tareas.
-
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 para la tarea.
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
.