Amazon Elastic Container Service (Amazon ECS) クラスターを使用するプライベートネットワーク内で、Amazon Elastic Compute Cloud (Amazon EC2) Linux インスタンスとともに、HTTP プロキシを使用したいと思います。どのようにすればよいですか?

Docker の場合、必要な環境変数を指定して、http-proxy.conf ファイルを作成できます。その後、Docker デーモンを再び開始します。ECS エージェントの場合、エージェントを停止します。その後、パラメーターをいくつか追加して、エージェントを再び開始します。

Docker 用の HTTP プロキシの設定

1. SSH を使用して EC2 インスタンスに接続します。続いて以下のコマンドを実行します。

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

注: PROXY_SERVER_IP はプレースホルダーです。プロキシサーバーの IP アドレスで置き換えてください。

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. 以下のコマンドのいずれかを使用して Docker を再始動します。

Systemd

systemctl restart docker

Init

service docker restart

3. 以下のコマンドを使用して、Docker 用の HTTP プロキシの設定を確認します。

docker info| grep -i proxy

これで結果に HTTP プロキシと HTTPS プロキシが表示されたはずです。

ECS エージェント用の HTTP プロキシの設定

1. 以下のコマンドを使用して、ECS エージェントコンテナを開始します。

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

注: CLUSTER_NAME と PROXY_SERVER_IP:PORT はプレースホルダ―です。 既存のクラスター名と Proxy IP:Port でこれらを置き換えてください。

2. 以下のコマンドを使用して、Docker および ECS エージェント用の HTTP プロキシの設定を確認します。

docker inspect ecs-agent | grep –i proxy

これで結果に HTTP プロキシと HTTPS プロキシが表示されたはずです。

注: いずれの構成も影響するのは単一のインスタンスのみです。クラスター内のインスタンスをすべて更新するには、起動設定を作成してください。 そして、Auto Scaling グループを使用し、新しいインスタンスを起動します。


このページは役に立ちましたか? はい | いいえ

AWS サポートナレッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。

公開日: 2017 年 3 月 22 日

更新: 2018 年 3 月 22 日