Amazon ECS Linux コンテナインスタンスに HTTP プロキシを使用する
Amazon ECS コンテナエージェントと Docker デーモンの両方に HTTP プロキシを使用するように Amazon ECS コンテナインスタンスを設定できます。これは、コンテナインスタンスに、Amazon VPC インターネットゲートウェイ、NAT ゲートウェイ、またはインスタンスを介した外部ネットワークアクセスがない場合に便利です。
HTTP プロキシを使用するように Amazon ECS Linux コンテナインスタンスを設定するには、起動時に該当するファイルで以下の変数に Amazon EC2 ユーザーデータを設定します。手動で設定ファイルを編集してから、エージェントを再起動することもできます。
/etc/ecs/ecs.config
(Amazon Linux 2 および Amazon Linux AMI)-
HTTP_PROXY=
10.0.0.131
:3128
-
この値を、Amazon ECS エージェントがインターネットへの接続に使用する HTTP プロキシのホスト名 (または IP アドレス) とポート番号に設定します。例えば、コンテナインスタンスに、Amazon VPC インターネットゲートウェイ、NAT ゲートウェイ、またはインスタンスを介した外部ネットワークアクセスがない場合です。
NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock
-
この値を
169.254.169.254,169.254.170.2,/var/run/docker.sock
に設定して、EC2 インスタンスのメタデータ、タスク用の IAM; ロール、および Docker デーモンのトラフィックをプロキシからフィルタリングします。
/etc/systemd/system/ecs.service.d/http-proxy.conf
(Amazon Linux 2 のみ)-
Environment="HTTP_PROXY=
10.0.0.131
:3128
/"-
この値を、
ecs-init
がインターネットへの接続に使用する HTTP プロキシのホスト名 (または IP アドレス) とポート番号に設定します。例えば、コンテナインスタンスに、Amazon VPC インターネットゲートウェイ、NAT ゲートウェイ、またはインスタンスを介した外部ネットワークアクセスがない場合です。 Environment="NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock"
-
この値を
169.254.169.254,169.254.170.2,/var/run/docker.sock
に設定して、EC2 インスタンスのメタデータ、タスク用の IAM; ロール、および Docker デーモンのトラフィックをプロキシからフィルタリングします。
/etc/init/ecs.override
(Amazon Linux AMI のみ)-
env HTTP_PROXY=
10.0.0.131
:3128
-
この値を、
ecs-init
がインターネットへの接続に使用する HTTP プロキシのホスト名 (または IP アドレス) とポート番号に設定します。例えば、コンテナインスタンスに、Amazon VPC インターネットゲートウェイ、NAT ゲートウェイ、またはインスタンスを介した外部ネットワークアクセスがない場合です。 env NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock
-
この値を
169.254.169.254,169.254.170.2,/var/run/docker.sock
に設定して、EC2 インスタンスのメタデータ、タスク用の IAM; ロール、および Docker デーモンのトラフィックをプロキシからフィルタリングします。
/etc/systemd/system/docker.service.d/http-proxy.conf
(Amazon Linux 2 のみ)-
Environment="HTTP_PROXY=http://
10.0.0.131
:3128
"-
この値を、Docker デーモンがインターネットへの接続に使用する HTTP プロキシのホスト名 (または IP アドレス) とポート番号に設定します。例えば、コンテナインスタンスに、Amazon VPC インターネットゲートウェイ、NAT ゲートウェイ、またはインスタンスを介した外部ネットワークアクセスがない場合です。
Environment="NO_PROXY=169.254.169.254,169.254.170.2"
-
この値を
169.254.169.254,169.254.170.2
に設定して、EC2 インスタンスのメタデータをプロキシからフィルタリングします。
/etc/sysconfig/docker
(Amazon Linux AMI および Amazon Linux 2 のみ)-
export HTTP_PROXY=http://
10.0.0.131
:3128
-
この値を、Docker デーモンがインターネットへの接続に使用する HTTP プロキシのホスト名 (または IP アドレス) とポート番号に設定します。例えば、コンテナインスタンスに、Amazon VPC インターネットゲートウェイ、NAT ゲートウェイ、またはインスタンスを介した外部ネットワークアクセスがない場合です。
export NO_PROXY=169.254.169.254,169.254.170.2
-
この値を
169.254.169.254,169.254.170.2
に設定して、EC2 インスタンスのメタデータをプロキシからフィルタリングします。
これらの環境変数を上記のファイルで設定すると、Amazon ECS コンテナエージェント、ecs-init
、および Docker デーモンのみに影響があります。プロキシを使用する他のサービス (yum など) を設定することはありません。
プロキシを保護する方法については、「How do I set up an HTTP proxy for Docker and the Amazon ECS container agent in Amazon Linux 2 or AL2023