Je souhaite utiliser un proxy HTTP avec une instance Amazon Elastic Compute Cloud (Amazon EC2) Linux dans un réseau privé avec un cluster Amazon Elastic Container Service (Amazon ECS). Comment puis-je procéder ?

Pour Docker, créez un fichier http-proxy.conf avec les variables d'environnement nécessaires, puis redémarrez le démon Docker. Pour l'agent de conteneur Amazon ECS, arrêtez, puis redémarrez l'agent avec des paramètres supplémentaires.

Configurer un proxy HTTP pour Docker

1.    Connectez-vous à l'instance Amazon EC2 à l'aide de SSH, puis exécutez la commande systemd ou init :

Systemd :

mkdir /etc/systemd/system/docker.service.d
cat <<EOF > /etc/systemd/system/docker.service.d/http-proxy.conf
[Service]
Environment="HTTP_PROXY=http://PROXY_SERVER_IP:3128/"
Environment="HTTPS_PROXY=http://PROXY_SERVER_IP:3128/"
Environment="NO_PROXY=169.254.169.254,/var/run/docker.sock"
EOF

Remarque : remplacez l'espace réservé PROXY_SERVER_IP par l'adresse IP de votre serveur proxy.

Init :

cat <<EOF > /etc/sysconfig/docker
[Service]
Environment="HTTP_PROXY=http://PROXY_SERVER_IP:3128/"
Environment="HTTPS_PROXY=http://PROXY_SERVER_IP:3128/"
Environment="NO_PROXY=169.254.169.254,/var/run/docker.sock"
EOF

2.    Pour redémarrer Docker, exécutez la commande systemd ou init :

Systemd :

systemctl restart docker

Init :

service docker restart

3.    Pour vérifier les paramètres de proxy HTTP pour Docker, exécutez la commande suivante :

docker info| grep -i proxy

Remarque : la sortie de commande montre le proxy HTTP et le proxy HTTPS.

Configurer un proxy HTTP pour l'agent de conteneur Amazon ECS

1.    Pour démarrer l'agent de conteneur Amazon ECS, exécutez les commandes suivantes :  

docker run --name ecs-agent \
--env=ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true \
--env=ECS_ENABLE_TASK_IAM_ROLE=true \
--env "NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock" \
--env "https_proxy=http://PROXY_SERVER_IP:PORT" \
--env "http_proxy=http://PROXY_SERVER_IP:PORT" \
--env=ECS_DATADIR=/data \
--env=ECS_LOGLEVEL=info \
--env=ECS_LOGFILE=/log/ecs-agent.log \
--env=ECS_CLUSTER=CLUSTER_NAME \
--net=host \
--volume=/var/lib/ecs/data:/data \
--volume=/var/log/ecs/:/log \
--volume=/var/run/docker.sock:/var/run/docker.sock \
--restart=on-failure:10 \
--detach=true \
amazon/amazon-ecs-agent:latest

Remarque : remplacez les espaces réservés CLUSTER_NAME et PROXY_SERVER_IP:PORT par le nom et le port que vous souhaitez utiliser.

2.    Pour vérifier les paramètres de proxy HTTP pour Docker et l'agent de conteneur Amazon ECS, exécutez la commande suivante :

docker inspect ecs-agent | grep –i proxy

Le proxy HTTP et le proxy HTTPS apparaissent dans la sortie de commande.

Remarque : la configuration de Docker et de l'agent de conteneur Amazon ECS affecte une seule instance. Pour mettre à jour toutes les instances dans un cluster, créez une configuration de lancement, puis utilisez un groupe Auto Scaling afin de lancer de nouvelles instances.


Cette page vous a-t-elle été utile ? Oui | Non

Retour au Centre de connaissances AWS Support

Vous avez besoin d'aide ? Consultez le site du Centre AWS Support

Date de publication : 22/03/2017

Date de mise à jour : 10/01/2019