Service Connect - Amazon Elastic Container Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Service Connect

Amazon ECS Service Connect는 Amazon ECS service-to-service 구성으로 통신 관리를 제공합니다. Amazon ECS에서 서비스 검색과 서비스 메시를 모두 구축하여 이를 수행합니다. 이를 통해 사용자가 서비스 배포, Amazon VPC DNS 구성에 의존하지 않는 네임스페이스 내에서 서비스를 참조하는 통합된 방법, Amazon ECS의 모든 애플리케이션을 모니터링하기 위한 표준화된 지표 및 로그로 관리하는 각 Amazon ECS 서비스 내부에 완전한 구성이 제공됩니다. Amazon ECS Service Connect는 Amazon ECS 서비스만 상호 연결합니다.

다음 다이어그램에서는 VPC의 서브넷 2개와 서비스 2개가 있는 서비스 연결 네트워크 예제를 보여줍니다. 각 서브넷에서 1개의 WordPress 작업으로 실행되는 클라이언트 서비스입니다. 서버 서비스는 각 서브넷에서 1개 작업으로 MySQL을 실행합니다. 각 서비스가 2개의 서브넷에 분산된 여러 작업을 실행하므로 두 서비스 모두 가용성이 높고 작업 및 가용 영역 문제에 대한 복원력이 뛰어납니다. 실선 화살표는 MySQL과의 WordPress 연결을 나타냅니다. 예를 들어, 작업의 WordPress 컨테이너 내부에서 IP 주소를 사용하여 실행되는 mysql --host=mysql CLI 명령입니다. 172.31.16.1 이 명령은 MySQL의 기본 포트에서 약식 이름 mysql을 사용합니다. 이 이름과 포트는 동일한 작업의 서비스 연결 프록시에 연결합니다. WordPress 태스크의 프록시는 이상치 탐지의 라운드 로빈 로드 밸런싱과 이전의 모든 실패 정보를 사용하여 연결할 MySQL 작업을 선택합니다. 다이어그램에서 실선 화살표로 표시된 것처럼 프록시는 IP 주소 172.31.16.2를 사용하여 MySQL 작업의 두 번째 프록시에 연결합니다. 두 번째 프록시는 동일한 작업의 로컬 MySQL 서버에 연결합니다. 두 프록시 모두 Amazon ECS 및 Amazon CloudWatch 콘솔에서 그래프로 확인할 수 있는 연결 성능을 보고하므로 모든 종류의 애플리케이션에서 동일한 방식으로 성능 지표를 얻을 수 있습니다.


            최소 HA 서비스를 표시하는 서비스 연결 네트워크 예제
Service Connect 구성 단계 개요

다음 단계를 따라 관련 서비스 그룹에 대해 Service Connect를 구성합니다.

중요
  • Amazon ECS 서비스 커넥트는 사용자 계정에서 AWS Cloud Map 서비스를 생성합니다. 인스턴스를 수동으로 등록/등록 취소하거나, 인스턴스 속성을 변경하거나, 서비스를 삭제하여 이러한 AWS Cloud Map 리소스를 수정하면 애플리케이션 트래픽 또는 후속 배포에 예상치 못한 동작이 발생할 수 있습니다.

  • Amazon ECS Service Connect는 작업 정의의 링크를 지원하지 않습니다.

  1. 작업 정의의 포트 매핑에 포트 이름을 추가합니다. 또한 애플리케이션의 계층 7 프로토콜을 식별하여 추가 지표를 얻을 수 있습니다.

  2. 네임스페이스가 있는 ECS 클러스터를 생성하거나 AWS Cloud Map 네임스페이스를 별도로 생성합니다. 간단한 구성을 위해 네임스페이스에 원하는 이름을 사용하여 Amazon ECS 클러스터를 생성하고 네임스페이스에 대해 동일한 이름을 지정합니다. 이 경우 Amazon ECS는 필요한 구성으로 새 HTTP 네임스페이스를 생성합니다. Amazon ECS Service Connect는 Amazon Route 53에서 DNS 호스팅 영역을 사용하거나 생성하지 않습니다.

  3. 네임스페이스 내에 Service Connect 엔드포인트를 생성하도록 서비스를 구성합니다.

  4. 서비스를 배포하여 엔드포인트를 생성합니다. Amazon ECS는 각 작업에 Service Connect 프록시 컨테이너를 추가하고 AWS Cloud Map에 Service Connect 엔드포인트를 생성합니다. 이 컨테이너는 작업 정의에 구성되어 있지 않고, 작업 정의를 수정하지 않고 재사용하여 동일한 네임스페이스 또는 여러 네임스페이스에 여러 서비스를 생성할 수 있습니다.

  5. 엔드포인트에 연결할 클라이언트 앱을 서비스로 배포합니다. Amazon ECS는 각 작업에서 Service Connect 프록시를 통해 이를 Service Connect 엔드포인트에 연결합니다.

    애플리케이션은 프록시를 서비스 연결 엔드포인트에 연결하는 데에만 사용합니다. 프록시를 사용하기 위한 추가 구성은 없습니다. 프록시는 라운드 로빈 로드 밸런싱, 이상값 탐지 및 재시도를 수행합니다. 프록시에 대한 자세한 내용은 Service Connect 프록시를 참조하세요.

  6. Amazon의 서비스 연결 프록시를 통해 트래픽을 CloudWatch 모니터링합니다.

Service Connect 사용 가능 리전

Amazon ECS Service Connect는 다음 AWS 지역에서 사용할 수 있습니다.

리전 이름 리전

미국 동부(오하이오)

us-east-2

미국 동부(버지니아 북부)

us-east-1

미국 서부(캘리포니아 북부)

us-west-1

미국 서부(오레곤)

us-west-2

아프리카(케이프타운)

af-south-1

아시아 태평양(홍콩)

ap-east-1

아시아 태평양(자카르타)

ap-southeast-3

아시아 태평양(뭄바이)

ap-south-1

아시아 태평양(하이데라바드)

ap-south-2

아시아 태평양(오사카)

ap-northeast-3

아시아 태평양(서울)

ap-northeast-2

아시아 태평양(싱가포르)

ap-southeast-1

아시아 태평양(시드니)

ap-southeast-2

아시아 태평양(멜버른)

ap-southeast-4

아시아 태평양(도쿄)

ap-northeast-1

캐나다(중부)

ca-central-1

캐나다 서부(캘거리)

ca-west-1

중국(베이징)

cn-north-1 (참고: 이 지역에서는 서비스 연결용 TLS를 사용할 수 없습니다.)

중국(닝샤)

cn-northwest-1 (참고: 이 지역에서는 서비스 연결용 TLS를 사용할 수 없습니다.)

유럽(프랑크푸르트)

eu-central-1

유럽(아일랜드)

eu-west-1

유럽(런던)

eu-west-2

유럽(파리)

eu-west-3

유럽(밀라노)

eu-south-1

유럽(스페인)

eu-south-2

유럽(스톡홀름)

eu-north-1

유럽(취리히)

eu-central-2

이스라엘(텔아비브)

il-central-1

중동(바레인)

me-south-1

중동(UAE)

me-central-1

남아메리카(상파울루)

sa-east-1

Service Connect 고려 사항

  • Windows 컨테이너는 Service Connect에서 지원되지 않습니다.

  • Service Connect를 사용하려면 Fargate에서 실행되는 작업이 Fargate Linux 플랫폼 버전 1.4.0 이상을 사용해야 합니다.

  • 컨테이너 인스턴스의 ECS 에이전트 버전은 1.67.2 이상이어야 합니다.

  • 서비스 연결을 사용하려면 컨테이너 인스턴스가 Amazon ECS 최적화 Amazon Linux 2023 AMI 버전 20230428 이상 또는 Amazon ECS 최적화 Amazon Linux 2 AMI 버전 2.0.20221115를 실행해야 합니다. 이러한 버전에는 Amazon ECS 컨테이너 에이전트 외에 서비스 연결 에이전트가 있습니다. 서비스 연결 에이전트에 대한 자세한 내용은 에서 Amazon ECS 서비스 연결 에이전트를 참조하십시오. GitHub

  • 컨테이너 인스턴스에 리소스 arn:aws:ecs:region:0123456789012:task-set/cluster/*에 대한 ecs:Poll 권한이 있어야 합니다. ecsInstanceRole을 사용하는 경우에는 권한을 더 추가할 필요가 없습니다. AmazonEC2ContainerServiceforEC2Role 관리형 정책에 필요한 권한이 있습니다. 자세한 설명은 Amazon ECS 컨테이너 인스턴스 IAM 역할 섹션을 참조하세요.

  • Amazon ECS Anywhere용 External 컨테이너 인스턴스는 Service Connect에서 지원되지 않습니다.

  • 롤링 배포를 사용하는 서비스만 Service Connect에서 지원됩니다. 블루/그린외부 배포 유형을 사용하는 서비스는 지원되지 않습니다.

  • 작업 정의는 Service Connect를 사용하는 작업 메모리 제한을 설정해야 합니다. 자세한 설명은 Service Connect 프록시 섹션을 참조하세요.

  • 작업 메모리 제한을 설정하는 대신 모든 컨테이너에 대해 컨테이너 메모리 제한을 설정하는 작업 정의는 지원되지 않습니다.

    컨테이너에 컨테이너 메모리 제한을 설정할 수 있지만 작업 메모리 제한을 컨테이너 메모리 제한의 합보다 큰 값으로 설정해야 합니다. 컨테이너 제한에 할당되지 않은 작업 제한의 추가 CPU 및 메모리는 Service Connect 프록시 컨테이너 및 컨테이너 제한을 설정하지 않은 다른 컨테이너에서 사용됩니다. 자세한 설명은 Service Connect 프록시 섹션을 참조하세요.

  • 동일한 서비스 내의 모든 AWS Cloud Map 네임스페이스를 사용하도록 서비스에서 Service Connect를 구성할 수 AWS 리전 있습니다. AWS 계정

  • 각 Amazon ECS 서비스는 하나의 네임스페이스에만 속할 수 있습니다.

  • Amazon ECS 서비스에서 생성하는 작업만 지원됩니다. 독립 실행형 작업은 Service Connect에 대해 구성할 수 없습니다.

  • 모든 엔드포인트는 네임스페이스 내에서 고유해야 합니다.

  • 모든 검색 이름은 네임스페이스 내에서 고유해야 합니다.

  • 기존 서비스를 재배포해야 해당 서비스의 애플리케이션이 새 엔드포인트를 확인할 수 있습니다. 최신 배포 후 네임스페이스에 추가된 새 엔드포인트는 작업 구성에 추가되지 않습니다. 자세한 설명은 배포 순서 섹션을 참조하세요.

  • 새 클러스터를 생성할 때 네임스페이스를 생성할 수 있습니다. Amazon ECS Service Connect는 클러스터가 삭제될 때 네임스페이스를 삭제하지 않습니다. 네임스페이스 사용을 완료한 AWS Cloud Map 경우 네임스페이스를 직접 삭제해야 합니다.

  • 서비스 연결은 HTTP 1.0을 지원하지 않습니다.

  • Application Load Balancer 트래픽은 기본적으로 네트워크 모드에서 Service Connect 에이전트를 통해 라우팅됩니다awsvpc. 비서비스 트래픽이 Service Connect 에이전트를 우회하도록 하려면 Service Connect 서비스 구성의 ingressPortOverride 매개 변수를 사용하십시오.

Service Connect 콘솔 환경

새 네임스페이스를 생성하려면 Amazon ECS 콘솔을 사용하여 새 Amazon ECS 클러스터를 생성하고 생성할 네임스페이스 이름을 지정하거나 콘솔을 사용하십시오. AWS Cloud Map Amazon ECS Service Connect는 모든 인스턴스 검색 유형의 AWS Cloud Map 네임스페이스를 사용할 수 있습니다. 추가 리소스를 최소한으로 만들려면 API 호출 유형을 사용하는 것이 좋습니다. Amazon ECS 콘솔에서 새 Amazon ECS 클러스터와 네임스페이스를 생성하려면 콘솔을 사용하여 Fargate 및 외부 시작 유형에 대한 클러스터 생성 섹션을 참조하세요.

선택한 AWS 리전 항목에 있는 모든 AWS Cloud Map 네임스페이스는 Amazon ECS 콘솔의 네임스페이스에 표시됩니다. AWS 계정

네임스페이스를 삭제하려면 콘솔을 사용하십시오. AWS Cloud Map 삭제하려면 네임스페이스가 비어 있어야 합니다.

새 Amazon ECS 작업 정의를 생성하거나 기존 작업 정의에 새 개정을 등록하고 Service Connect를 사용하려면 콘솔을 사용하여 작업 정의 생성 섹션을 참조하세요.

Service Connect를 사용하는 새 Amazon ECS 서비스를 생성하려면 콘솔을 사용하여 서비스 생성 섹션을 참조하세요.

Service Connect 요금

Amazon ECS Service Connect 요금은 컨테이너식 워크로드를 호스팅하는 데 Amazon EC2 인프라를 AWS Fargate 사용하는지 여부에 따라 달라집니다. Amazon ECS를 AWS Outposts사용하는 경우 요금은 Amazon EC2를 직접 사용할 때 사용한 것과 동일한 모델을 따릅니다. 자세한 내용은 Amazon ECS 요금을 참조하세요.

AWS Cloud Map Amazon ECS Service Connect를 통해 사용할 경우 완전히 무료로 사용할 수 있습니다.

Service Connect 파라미터

다음 파라미터에는 Service Connect를 사용할 때 추가 필드가 있습니다.

파라미터 위치 앱 유형 설명 필수?
태스크 정의 클라이언트 클라이언트 작업 정의에서 Service Connect에 사용할 수 있는 변경 사항이 없습니다. N/A
태스크 정의 클라이언트-서버 서버는 컨테이너의 portMappings에 있는 포트에 name 필드를 추가해야 합니다. 자세한 정보는 portMappings를 참조하세요.
태스크 정의 클라이언트-서버 서버는 선택적으로 애플리케이션 프로토콜(예: HTTP)을 제공하여 서버 애플리케이션에 대한 프로토콜별 지표를 수신할 수 있습니다(예: HTTP 5xx). 아니요
서비스 정의 클라이언트 조인할 네임스페이스를 구성하려면 클라이언트 서비스에서 serviceConnectConfiguration을 추가해야 합니다. 이 네임스페이스에는 이 서비스가 검색해야 하는 모든 서버 서비스가 포함되어야 합니다. 자세한 내용은 serviceConnectConfiguration 섹션을 참조하세요.
서비스 정의 클라이언트-서버 서버 서비스에서 serviceConnectConfiguration을 추가하여 서비스에서 사용할 수 있는 DNS 이름, 포트 번호 및 네임스페이스를 구성해야 합니다. 자세한 내용은 serviceConnectConfiguration 섹션을 참조하세요.
클러스터 클라이언트 클러스터는 기본 Service Connect 네임스페이스를 추가할 수 있습니다. 클러스터의 새 서비스는 Service Connect가 서비스에서 구성된 경우 네임스페이스를 상속합니다. 자세한 내용은 Amazon ECS 클러스터를 참조하세요. 아니요
클러스터 클라이언트-서버 서버 서비스에 적용되는 클러스터의 Service Connect에 사용할 수 있는 변경 사항이 없습니다. 서버 작업 정의 및 서비스는 해당 구성을 설정해야 합니다. N/A