Amazon ECS Windows 컨테이너 인스턴스에 HTTP 프록시 사용하기
Amazon ECS Windows 컨테이너 인스턴스에 HTTP 프록시 사용하기
Amazon ECS 컨테이너 인스턴스가 Amazon ECS 컨테이너 에이전트와 Docker 데몬 모두에 HTTP 프록시를 사용하도록 구성할 수 있어요. 이는 컨테이너 인스턴스가 Amazon VPC 인터넷 게이트웨이, NAT 게이트웨이 또는 인스턴스를 통해 외부 네트워크 액세스 권한이 없는 경우에 유용해요.
출처: 문서
본문
Amazon ECS 컨테이너 인스턴스가 Amazon ECS 컨테이너 에이전트와 Docker 데몬 모두에 HTTP 프록시를 사용하도록 구성할 수 있어요. 이는 컨테이너 인스턴스가 Amazon VPC 인터넷 게이트웨이, NAT 게이트웨이 또는 인스턴스를 통해 외부 네트워크 액세스 권한이 없는 경우에 유용해요. Amazon ECS Windows 컨테이너 인스턴스가 HTTP 프록시를 사용하도록 구성하려면 시작 시점(Amazon EC2 user data로)에 다음 변수를 설정해 주세요.
[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 프록시 user data 스크립트 다음 예제 user data PowerShell 스크립트는 Amazon ECS 컨테이너 에이전트와 Docker 데몬이 지정한 HTTP 프록시를 사용하도록 구성해요. 또한 컨테이너 인스턴스가 등록되는 클러스터를 지정할 수 있어요. 컨테이너 인스턴스를 시작할 때 이 스크립트를 사용하려면 Launching an Amazon ECS Windows container instance 의 단계를 따라 주세요. 다음 PowerShell 스크립트를 복사해 User data 필드에 붙여 넣기만 하면 돼요(빨간색 예제 값은 내 프록시 및 클러스터 정보로 바꿔 주세요).
참고
태스크용 IAM 역할을 활성화하려면 -EnableTaskIAMRole 옵션이 필요해요. 자세한 내용은 Amazon EC2 Windows instance additional configuration 을 참고해 주세요.
<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 -Cluster MyCluster -EnableTaskIAMRole
</powershell>