本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
針對 Amazon ECS Windows 容器執行個體使用 HTTP 代理
您可以設定您的 Amazon ECS 容器執行個體,針對 Amazon ECS 容器代理程式和 Docker 常駐程式使用 HTTP 代理。這在您的容器執行個體沒有透過 Amazon VPC 網際網路閘道、NAT 閘道或執行個體進行外部網路存取時會很有用。
若要設定您的 Amazon ECS Windows 容器執行個體以使用 HTTP 代理,請在啟動時 (使用 Amazon EC2 使用者資料) 設定下列變數。
[Environment]::SetEnvironmentVariable("HTTP_PROXY", "http://
proxy.mydomain:port
", "Machine")-
將
HTTP_PROXY
設為要讓 Amazon ECS 代理連線到網際網路的 HTTP 代理之主機名稱 (或 IP 地址) 及連接埠號碼。例如,您的容器執行個體可能沒有透過 Amazon VPC 網際網路閘道、NAT 閘道或執行個體的外部網路存取。 [Environment]::SetEnvironmentVariable("NO_PROXY", "169.254.169.254,169.254.170.2,\\.\pipe\docker_engine", "Machine")
-
將
NO_PROXY
設為169.254.169.254,169.254.170.2,\\.\pipe\docker_engine
,篩選 EC2 執行個體中繼資料、任務的 IAM 角色,以及來自代理的 Docker 常駐程式流量。
範例 Windows HTTP 代理使用者資料指令碼
以下範例使用者資料 PowerShell 指令碼會設定 Amazon ECS 容器代理程式和 Docker 常駐程式,以使用您指定的 HTTP 代理。您也可以指定容器執行個體自行註冊的叢集。
若要在您啟動容器執行個體時使用此指令碼,請遵循「啟動 Amazon ECS Windows 容器執行個體」中的步驟進行。只要複製以下 PowerShell 指令碼,並在 User data (使用者資料) 欄位中貼上即可 (請確認您使用自己的代理和叢集資訊取代紅色的範例數值)。
注意
-EnableTaskIAMRole
選項是啟用任務的 IAM 角色的必要項目。如需詳細資訊,請參閱 Amazon EC2 Windows 執行個體額外組態。
<powershell> Import-Module ECSTools $proxy = "http://
proxy.mydomain:port
" [Environment]::SetEnvironmentVariable("HTTP_PROXY", $proxy, "Machine") [Environment]::SetEnvironmentVariable("NO_PROXY", "169.254.169.254,169.254.170.2,\\.\pipe\docker_engine", "Machine") Restart-Service Docker Initialize-ECSAgent -ClusterMyCluster
-EnableTaskIAMRole </powershell>