Jieling 씨가 브리지 모드를 사용하는 동안
ECS의 상태 확인 문제를 해결하는
방법을 안내합니다.

Jieling_Thumbnail

Amazon ECS 컨테이너의 인스턴스에 대한 Application Load Balancer 상태 확인에서 이상 있음 상태가 반환됩니다. 이를 해결하려면 어떻게 해야 합니까?

로드 밸런서가 라우팅 구성의 지침에 따라 구성되었다면 다음에 해당하는지 확인하십시오.

  • 로드 밸런서가 HTTP GET 요청을 상태 확인 경로에 전송할 때 ECS 컨테이너의 애플리케이션이 올바른 응답 코드(기본값: "200 OK")를 반환합니다.
  • 로드 밸런서 또는 컨테이너 인스턴스의 보안 그룹이 올바르게 구성되었습니다.
  • 대상 그룹의 고급 상태 확인 설정이 올바르게 구성되었습니다.

상태 확인이 전달되려면 로드 밸런서가 HTTP GET 요청을 애플리케이션에 전송할 때 기본적으로 애플리케이션 서버가 “200 OK”를 반환해야 합니다.

참고: Application Load Balancer를 사용하는 경우 [Matcher] 설정을 업데이트하여 예상 응답 코드를 200이 아닌 다른 값으로 변경할 수 있습니다. 자세한 내용은 대상 그룹에 대한 상태 확인을 참조하십시오.

애플리케이션이 예상대로 작동하는지 확인하기 위해 SSH를 사용하여 컨테이너 인스턴스에 로그인하고 다음 단계에 따라 수동 확인을 수행합니다.

1.    (선택 사항) curl이 없는 경우 설치합니다.

Amazon Linux 및 기타 RPM 기반 배포 환경에서는 다음 명령을 실행합니다.

sudo yum –y install curl

Debian 기반 시스템(예: Ubuntu)에서는 다음 명령을 실행합니다.

sudo apt-get install curl

2.   다음 명령을 실행하여 관련 컨테이너에 대한 컨테이너 ID를 찾습니다.

docker ps

PORTS 아래에서 "0.0.0.0:32768->80"과 유사한 출력을 찾습니다. 굵게 표시된 출력 부분을 기록합니다. 이 출력은 로컬 리스너의 포트를 나타냅니다.

3.   다음 명령을 실행하여 컨테이너의 IP 주소를 확인합니다.

$ docker inspect --format='{{.NetworkSettings.IPAddress}}' [container ID]

IP 주소를 기록합니다.

4.    다음 명령을 실행합니다. 여기서 container_ip는 3단계에서 얻은 IP 주소이고, port는 2단계에서 기록한 로컬 수신기 포트입니다.

curl –v http://{containerip}:{port}

이 명령은 "200 OK"를 반환해야 합니다. 또는 Application Load Balancer를 사용하고 [Matcher] 설정을 업데이트한 경우 기본 설정된 응답 코드가 대신 반환됩니다.

참고: "200 OK" 응답이 수신되지 않으면 애플리케이션에서 HTTP 트래픽을 수신하지 않는 것입니다.

로드 밸런서 및 컨테이너 인스턴스에 연결된 보안 그룹 점검

모범 사례는 컨테이너 인스턴스에 대한 보안 그룹과 로드 밸런서에 대한 보안 그룹의 두 가지 보안 그룹을 구성하는 것입니다. 컨테이너 인스턴스의 호스트 포트는 동적으로 할당되므로 다음을 확인하십시오.

  • 로드 밸런서에 연결된 보안 그룹이 백엔드 인스턴스에 연결된 보안 그룹으로 나가는 모든 발신 트래픽을 허용합니다.
  • 백엔드 컨테이너 인스턴스에 연결된 보안 그룹이 로드 밸런서에 연결된 보안 그룹에서 들어오는 모든 수신 트래픽을 포트 32768-65535에서 허용합니다.

이렇게 하면 로드 밸런서에서 백엔드 인스턴스로 이동하는 모든 트래픽이 허용되고 백엔드 인스턴스가 동적 호스트 포트 매핑 사용 시 사용되는 휘발성 포트 범위에서 트래픽을 수락할 수 있습니다.

참고: 동적 호스트 포트 매핑을 사용하지 않고 작업 정의에서 호스트 포트를 선언하는 경우 로드 밸런서에 연결된 보안 그룹의 트래픽을 휘발성 포트 범위가 아닌 백엔드 인스턴스에 연결된 보안 그룹의 선언된 포트에서 허용하도록 보안 그룹이 구성되었는지 확인하십시오.

로드 밸런서에 대한 고급 상태 확인 설정 점검

대상 그룹에 대한 상태 확인의 지침에 따라 상태 확인이 구성되었는지 확인합니다. 특히 다음 ECS 관련 사항에 주의하십시오.

  • [Target group]에는 [New target group]을 사용합니다. 대상 그룹에 대상을 수동으로 추가하지 마십시오. ECS가 자동으로 컨테이너를 대상 그룹에 등록하고 등록 취소합니다.
  • [Port]의 경우 기본값인 [Traffic port]를 사용합니다. [Override]를 선택하면 상태 확인 트래픽이 잘못 라우팅됩니다.

페이지 내용이 도움이 되었습니까? | 아니요

AWS 지원 지식 센터로 돌아가기

도움이 필요하십니까? AWS 지원 센터를 방문하십시오.

게시된 날짜: 2016년 12월 15일

업데이트된 날짜: 2017년 3월 8일