AWS re:Post을(를) 사용하면 다음에 동의하게 됩니다. AWS re:Post 이용 약관

Amazon Linux에서 Docker 및 Amazon ECS 컨테이너 에이전트를 위한 HTTP 프록시를 설정하려면 어떻게 해야 합니까?

3분 분량
0

Amazon Linux에서 Docker 및 Amazon Elastic Container Service(Amazon ECS) 컨테이너 에이전트를 위한 HTTP 프록시를 설정하고 싶습니다.

간략한 설명


다음 조치를 취하십시오.

  • IP 주소와 프록시 서버 포트를 저장합니다.
  • Docker 데몬을 위한 HTTP 프록시를 설정합니다.
  • Amazon ECS 컨테이너 에이전트를 위한 HTTP 프록시를 설정합니다.
  • ecs-init를 위한 HTTP 프록시를 설정합니다. 자세한 내용은 GitHub 웹사이트의 amazon-ecs-init를 참조하십시오.

참고: 또한 사용자 데이터 스크립트가 있는 Amazon Elastic Compute Cloud(Amazon EC2) 사용자 데이터를 사용하여 시작 시 환경 변수를 설정할 수 있습니다. 모든 버전의 Linux에서 작동하는 사용자 데이터 스크립트는 Amazon ECS Linux 컨테이너 인스턴스를 위한 HTTP 프록시 사용을 참조하십시오.

Amazon Linux 2 또는 Amazon Linux 2023을 사용하는 경우 Amazon Linux 2 또는 Amazon Linux 2023에서 Docker 및 Amazon ECS 컨테이너 에이전트를 위한 HTTP 프록시를 설정하려면 어떻게 해야 합니까?를 참조하십시오.
참고: Amazon Linux 1 Amazon Machine Image(AMI)는 수명이 다했습니다. Amazon Linux 2 또는 Amazon Linux 2023 AMI로 마이그레이션하는 것이 가장 좋습니다. 자세한 내용은 Amazon Linux AMI FAQ를 참조하십시오.

해결 방법

IP 주소 및 프록시 서버 포트 저장

다음 단계를 완료합니다.

  1. SSH를 사용하여 Amazon EC2 인스턴스에 연결합니다.
  2. 루트 사용자는 나중에 환경 변수에 사용할 프록시 서버의 IP 주소와 포트를 기록해 둡니다.
    export PROXY_SERVER_IP=x.x.x.xexport PROXY_PORT=1234

Docker 데몬을 위한 HTTP 프록시 설정

다음 단계를 완료합니다.

  1. sudo 권한으로 다음 명령을 실행합니다.

    cat <<EOF >> /etc/sysconfig/docker
    export HTTP_PROXY=http://$PROXY_SERVER_IP:$PROXY_PORT
    export HTTPS_PROXY=https://$PROXY_SERVER_IP:$PROXY_PORT
    export NO_PROXY=169.254.169.254,169.254.170.2  
    EOF

    참고: HTTP_PROXY는 EAmazon CS 컨테이너 에이전트를 인터넷에 연결하는 데 사용되는 HTTP 프록시의 소켓 주소(IPaddress:Port)입니다.

    HTTP_PROXY 변수가 설정된 경우 NO_PROXY 변수를 169.254.169.254,169.254.170.2로 설정해야 합니다. 이 설정은 Amazon EC2 인스턴스 메타데이터, 작업에 대한 AWS Identity and Access Management(AWS IAM) 역할, 프록시의 Docker 데몬 트래픽을 필터링합니다.

  2. Docker를 다시 시작하려면 다음 명령을 실행합니다.

    service docker restart

    참고: 위 명령은 실행 중인 모든 컨테이너를 중지합니다. 예를 들어 컨테이너의 ecs-agent를 중지합니다.

  3. Docker의 HTTP 프록시 설정을 확인하려면 다음 명령을 실행합니다.

    docker info | grep -i proxy

    참고: 명령 출력에는 HTTP 프록시와 HTTPS 프록시가 표시됩니다.

Amazon ECS 컨테이너 에이전트를 위한 HTTP 프록시 설정

다음 단계를 완료합니다.

  1. /etc/ecs/ecs.config 파일에 HTTP_PROXYNO_PROXY 에이전트 구성 파라미터를 추가합니다.
    예:

    cat <<EOF >> /etc/ecs/ecs.config
    ECS_CLUSTER=your-cluster-name
    HTTP_PROXY=http://$PROXY_SERVER_IP:$PROXY_PORT
    NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock
    EOF
  2. HTTP 프록시 구성을 ecs-agent에 적용하려면 다음 명령을 실행합니다.

    sudo start ecs

    참고: Amazon ECS에 최적화된 AMI를 사용하는 경우 Amazon ECS 컨테이너 에이전트는 기본적으로 ecs-init를 통해 실행됩니다.

  3. Docker 및 Amazon ECS 컨테이너 에이전트를 위한 HTTP 프록시 설정을 확인하려면 다음 명령을 실행합니다.

    docker inspect ecs-agent | grep -i proxy

참고: 프록시 설정이 명령 출력에 표시됩니다.

ecs-init를 위한 HTTP 프록시 설정

sudo 권한으로 다음 명령을 실행합니다.

cat <<EOF > /etc/init/ecs.override
env HTTP_PROXY=$PROXY_SERVER_IP:$PROXY_PORT
env NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock
EOF

참고: Docker와 Amazon ECS 컨테이너 에이전트의 구성은 현재 인스턴스에만 영향을 줍니다. 클러스터의 모든 인스턴스를 업데이트하려면 사용자 데이터로 시작 구성을 생성하고 Auto Scaling 그룹을 사용하여 새 인스턴스를 시작합니다.

관련 정보

Amazon ECS 컨테이너 에이전트 업데이트

데이터 전달을 위한 컨테이너 인스턴스 부트스트래핑

AWS 공식
AWS 공식업데이트됨 6달 전
댓글 없음

관련 콘텐츠