Come posso configurare un proxy HTTP per Docker e per l'agente del container Amazon ECS in Amazon Linux 2 o Amazon Linux 2023?
Desidero configurare un proxy HTTP per Docker e per l'agente del container Amazon Elastic Container Service (Amazon ECS) in Amazon Linux 2 o Amazon Linux 2023.
Risoluzione
Per configurare un proxy HTTP per Docker e per l'agente del container Amazon ECS in Amazon Linux 2 o Amazon Linux 2023, completa i seguenti passaggi.
Nota: puoi anche impostare le variabili di ambiente durante l'avvio utilizzando i dati utente di Amazon Elastic Compute Cloud (Amazon EC2) con uno script di dati utente. Per uno script di dati utente che funziona su tutte le versioni di Linux, consulta Utilizzo di un proxy HTTP per le istanze di container Amazon ECS Linux.
Se utilizzi Amazon Linux, consulta How do I set up an HTTP proxy for Docker and the Amazon ECS container agent in Amazon Linux? (Come posso configurare un proxy HTTP per Docker e per l'agente del container Amazon ECS in Amazon Linux?)
Importante: l'AMI Amazon Linux (detta anche Amazon Linux 1) è giunta alla fine del suo ciclo di vita il 31 dicembre 2023. È consigliabile aggiornare le applicazioni ad Amazon Linux 2023.
Memorizza l'indirizzo IP e la porta del server proxy
Per memorizzare l'indirizzo IP e la porta del server proxy, completa i seguenti passaggi:
- Connettiti all'istanza Amazon EC2 tramite SSH.
- Come utente root, memorizza l'indirizzo IP e la porta del server proxy per un uso successivo nelle variabili di ambiente. Ad esempio:
export PROXY_SERVER_IP=x.x.x.x export PROXY_PORT=1234
Configura un proxy HTTP per il daemon Docker
Per configurare un proxy HTTP per il daemon Docker, completa i seguenti passaggi:
-
Esegui questi comandi con autorizzazioni sudo:
mkdir -p /etc/systemd/system/docker.service.dcat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=http://$PROXY_SERVER_IP:$PROXY_PORT" Environment="HTTPS_PROXY=http://$PROXY_SERVER_IP:$PROXY_PORT" Environment="NO_PROXY=169.254.169.254,169.254.170.2" EOFNota: HTTP_PROXY è l'indirizzo socket (IPaddress:Port) del proxy HTTP utilizzato per connettere l'agente del container ECS a Internet.
Se la variabile HTTP_PROXY è impostata, devi impostare la variabile NO_PROXY su 169.254.169.254,169.254.170.2. Questa impostazione filtra i metadati dell'istanza Amazon EC2, i ruoli AWS Identity and Access Management (AWS IAM) per le attività e il traffico del daemon Docker proveniente dal proxy.
-
Per ricaricare le unità a seguito della modifica di docker.service su disco, esegui questo comando:
systemctl daemon-reload -
Per riavviare Docker, esegui questo comando:
systemctl restart docker.serviceNota: il comando precedente arresta tutti i container in esecuzione, incluso ecs-agent sull'istanza di container ECS.
-
Per verificare le impostazioni del proxy HTTP per Docker, esegui questo comando:
docker info | grep -i proxyNota: l'output del comando mostra il proxy HTTP e il proxy HTTPS.
Configura un proxy HTTP per l'agente del container
Per configurare un proxy HTTP per il daemon Docker, completa i seguenti passaggi:
-
Nel file /etc/ecs/ecs.config esistente, includi la configurazione del proxy utilizzando i parametri di configurazione dell'agente HTTP_PROXY e NO_PROXY. Ad esempio:
cat <<EOF > /etc/ecs/ecs.config HTTP_PROXY=http://$PROXY_SERVER_IP:$PROXY_PORT NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock EOF -
Per applicare le configurazioni HTTP dal passaggio 1 a ecs-agent, esegui questo comando:
systemctl restart ecsNota: se utilizzi un'Amazon Machine Image (AMI) ottimizzata per Amazon ECS, l'agente del container viene eseguito tramite ecs-init per impostazione predefinita.
-
Per verificare le impostazioni del proxy HTTP per Docker e per l'agente del container, esegui questo comando:
docker inspect ecs-agent | grep -i proxyNota: le impostazioni del proxy vengono visualizzate nell'output del comando.
Configura un proxy HTTP per ecs-init
Per configurare un proxy HTTP per ecs-init, completa i seguenti passaggi:
-
Esegui questi comandi con autorizzazioni sudo:
mkdir -p /etc/systemd/system/ecs.service.dcat <<EOF > /etc/systemd/system/ecs.service.d/http-proxy.conf [Service] Environment="HTTPS_PROXY=$PROXY_SERVER_IP:$PROXY_PORT/" Environment="NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock" EOF -
Per ricaricare le unità a seguito della modifica di docker.service su disco, esegui questo comando:
systemctl daemon-reload -
Per applicare le configurazioni HTTP dal passaggio 1 a ecs-agent, esegui questo comando:
systemctl restart ecsNota: la configurazione sia per Docker che per l'agente del container influisce solo sull'istanza in esecuzione corrente. Per aggiornare tutte le istanze in un cluster, crea una configurazione di avvio, quindi utilizza un gruppo Auto Scaling per avviare nuove istanze.
Informazioni correlate
Aggiornamento dell'agente del container Amazon ECS
Avvio delle istanze di container con i dati utente di Amazon EC2
- Argomenti
- Containers
- Lingua
- Italiano
