Service Connect를 사용해 짧은 이름으로 Amazon ECS 서비스 연결하기

Service Connect를 사용해 짧은 이름으로 Amazon ECS 서비스 연결하기

Amazon ECS Service Connect는 서비스 간 통신 관리를 Amazon ECS 구성으로 제공해요. Amazon ECS에서 서비스 검색(service discovery)과 서비스 메시(service mesh)를 모두 구축해요. 이는 서비스 배포로 관리하는 각 서비스 내부에 완전한 구성을 제공하고, VPC DNS 구성에 의존하지 않는 네임스페이스 내 서비스 참조 방식을 통일하며, 모든 애플리케이션을 모니터링할 표준화된 메트릭과 로그를 제공해요.

출처: 문서

본문

Amazon ECS Service Connect는 서비스 간 통신 관리를 Amazon ECS 구성으로 제공해요. Amazon ECS에서 서비스 검색과 서비스 메시를 모두 구축해요. 이는 서비스 배포로 관리하는 각 서비스 내부에 완전한 구성을 제공하고, VPC DNS 구성에 의존하지 않는 네임스페이스 내 서비스를 참조하는 통일된 방식을 제공하며, 모든 애플리케이션을 모니터링할 표준화된 메트릭과 로그를 제공해요.

Service Connect는 서비스만 상호 연결해요. 다음 다이어그램은 VPC에 2개의 서브넷과 2개의 서비스가 있는 Service Connect 네트워크의 예시를 보여 줘요. 각 서브넷에 1개 태스크로 WordPress를 실행하는 클라이언트 서비스, 각 서브넷에 1개 태스크로 MySQL을 실행하는 서버 서비스예요. 각 서비스가 2개 서브넷에 분산된 여러 태스크를 실행하므로 두 서비스 모두 고가용성이 있고 태스크 및 가용 영역 문제에 탄력적이에요.

실선 화살표는 WordPress에서 MySQL로의 연결을 보여 줘요. 예를 들어 IP 주소 172.31.16.1 인 태스크의 WordPress 컨테이너 내부에서 실행되는 mysql --host=mysql CLI 명령이 있어요. 이 명령은 MySQL의 기본 포트에서 짧은 이름 mysql 을 사용해요. 이 이름과 포트는 같은 태스크의 Service Connect 프록시에 연결돼요. WordPress 태스크의 프록시는 라운드 로빈 로드 밸런싱과 아웃라이어 감지(outlier detection)의 이전 실패 정보를 사용해 연결할 MySQL 태스크를 선택해요. 다이어그램의 실선 화살표가 보여 주듯 프록시는 IP 주소 172.31.16.2 를 가진 MySQL 태스크의 두 번째 프록시에 연결돼요. 두 번째 프록시는 같은 태스크의 로컬 MySQL 서버에 연결돼요. 두 프록시는 Amazon ECS 및 Amazon CloudWatch 콘솔의 그래프에서 볼 수 있는 연결 성능을 보고하므로 모든 종류의 애플리케이션에서 동일한 방식으로 성능 메트릭을 얻을 수 있어요.

다음 용어는 Service Connect와 함께 사용돼요.

  • port name(포트 이름) - 특정 포트 매핑에 이름을 할당하는 Amazon ECS 태스크 정의 구성. 이 구성은 Amazon ECS Service Connect에서만 사용돼요.
  • client alias(클라이언트 별칭) - 엔드포인트에 사용되는 포트 번호를 할당하는 Amazon ECS 서비스 구성. 또한 클라이언트 별칭은 엔드포인트의 DNS 이름을 할당해 검색 이름(discovery name)을 재정의할 수 있어요. Amazon ECS 서비스에 검색 이름이 제공되지 않으면 클라이언트 별칭 이름이 포트 이름을 대신해 엔드포인트 이름이 돼요. 엔드포인트 예시는 endpoint 의 정의를 참고해 주세요. 여러 클라이언트 별칭을 Amazon ECS 서비스에 할당할 수 있어요. 이 구성은 Amazon ECS Service Connect에서만 사용돼요.
  • discovery name(검색 이름) - 태스크 정의의 지정된 포트에 대해 만들 수 있는 선택적 중간 이름. 이 이름은 AWS Cloud Map 서비스를 만드는 데 사용돼요. 이름이 제공되지 않으면 태스크 정의의 포트 이름이 사용돼요. 여러 검색 이름을 Amazon ECS 서비스의 특정 포트에 할당할 수 있어요. 이 구성은 Amazon ECS Service Connect에서만 사용돼요. AWS Cloud Map 서비스 이름은 네임스페이스 내에서 고유해야 해요. 이 제한 때문에 각 네임스페이스에서 특정 태스크 정의에 대해 검색 이름이 없는 Service Connect 구성은 하나만 가질 수 있어요.
  • endpoint(엔드포인트) - API나 웹사이트에 연결하기 위한 URL. URL에는 프로토콜, DNS 이름, 포트가 포함돼요.

더 알아보기 (Learn more)