Je souhaite utiliser un proxy HTTP avec une instance Linux Amazon Elastic Compute Cloud (Amazon EC2) au sein d'un réseau privé avec un cluster Amazon Elastic Container Service (Amazon ECS). Comment puis-je faire ?

Pour Docker, vous pouvez créer un fichier http-proxy.conf contenant les variables d'environnement requises. Puis, redémarrez le démon Docker. Pour l'agent ECS, il est possible de l'arrêter. Puis, vous pouvez le redémarrer avec quelques paramètres supplémentaires.

Configuration d'un proxy HTTP pour Docker

1. Connectez-vous à l'instance EC2 à l'aide de SSH. Puis, exécutez ces commandes :

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/" "HTTPS_PROXY=http://PROXY_SERVER_IP:3128/" "NO_PROXY=169.254.169.254,/var/run/docker.sock"
EOF

Remarque : PROXY_SERVER_IP est un espace réservé. Remplacez-le par l'adresse IP de votre serveur proxy.

Init

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

2. Relancez Docker en utilisant une de ces commandes :

Systemd

systemctl restart docker

Init

service docker restart

3. Vérifiez les paramètres de proxy HTTP pour Docker à l'aide de la commande suivante :

docker info| grep -i proxy

Les proxys HTTP et HTTPS apparaissent désormais dans les résultats.

Configuration d'un proxy HTTP pour l'agent ECS

1. Démarrez le conteneur de l'agent ECS avec 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 : CLUSTER_NAME et PROXY_SERVER_IP:PORT sont des espaces réservés. Remplacez-les par un nom de cluster préexistant et le port IP du proxy.

2. Vérifiez les paramètres du proxy HTTP pour Docker et l'agent ECS à l'aide de la commande suivante :

docker inspect ecs-agent | grep –i proxy

Les proxys HTTP et HTTPS apparaissent désormais dans les résultats.

Remarque : la configuration n'a d'incidence que sur une seule instance. Pour mettre à jour toutes les instances d'un cluster, créez une configuration de lancement. Puis, utilisez un groupe Auto Scaling pour 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 : 22/03/2018