Amazon ECS Linux 컨테이너 인스턴스용 HTTP 프록시 사용
Amazon ECS Linux 컨테이너 인스턴스용 HTTP 프록시 사용
Amazon ECS 컨테이너 인스턴스가 Amazon ECS 컨테이너 에이전트와 Docker 데몬 모두에 HTTP 프록시를 사용하도록 구성할 수 있습니다. 이 글에서는 프록시 설정 파일과 환경 변수 구성을 알아봅니다.
출처: 문서
본문
Amazon ECS 컨테이너 인스턴스가 Amazon ECS 컨테이너 에이전트와 Docker 데몬 모두에 HTTP 프록시를 사용하도록 구성할 수 있어요. 이는 컨테이너 인스턴스가 Amazon VPC 인터넷 게이트웨이, NAT 게이트웨이 또는 인스턴스를 통한 외부 네트워크 접근을 제공하지 않는 경우 유용합니다.
Amazon ECS Linux 컨테이너 인스턴스가 HTTP 프록시를 사용하도록 구성하려면 (Amazon EC2 사용자 데이터로) 시작 시 관련 파일에서 다음 변수를 설정하세요. 구성 파일을 수동으로 편집한 다음 에이전트를 다시 시작할 수도 있어요.
/etc/ecs/ecs.config (Amazon Linux 2 및 AmazonLinux 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 데몬 트래픽을 프록시에서 제외(filter)하세요.
/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 같은 다른 서비스는 프록시를 사용하도록 구성되지 않아요. 프록시 구성 방법에 대한 자세한 내용은 Amazon Linux 2 또는 AL2023에서 Docker와 Amazon ECS 컨테이너 에이전트용 HTTP 프록시를 설정하는 방법 문서를 참고하세요.
더 알아보기 (Learn more)
- Amazon ECS 컨테이너 에이전트 구성에 대한 자세한 내용은 AWS 개발자 가이드의 관련 문서를 참고하세요.