공유 AWS Cloud Map 네임스페이스가 있는 Amazon ECS Service Connect
공유 AWS Cloud Map 네임스페이스가 있는 Amazon ECS Service Connect
Amazon ECS Service Connect는 같은 AWS 리전 내 여러 AWS 계정에서 공유 AWS Cloud Map 네임스페이스를 사용하는 것을 지원해요. 이 기능을 사용하면 서로 다른 AWS 계정에서 실행되는 서비스가 Service Connect를 통해 서로를 발견하고 통신할 수 있는 분산 애플리케이션을 만들 수 있습니다.
출처: 문서
본문
공유 네임스페이스는 보안 크로스 계정 리소스 공유를 허용하는 AWS Resource Access Manager(AWS RAM)로 관리됩니다. 공유 네임스페이스에 대한 자세한 내용은 AWS Cloud Map 개발자 가이드의 크로스 계정 AWS Cloud Map 네임스페이스 공유(Cross-account AWS Cloud Map namespace sharing)를 참고하세요.
중요: 네임스페이스를 공유하려면 AWSRAMPermissionCloudMapECSFullPermission 관리형 권한을 사용해야 Service Connect가 네임스페이스와 제대로 작동합니다.
Service Connect와 함께 공유 AWS Cloud Map 네임스페이스를 사용하면 여러 AWS 계정의 서비스가 같은 서비스 네임스페이스에 참여할 수 있어요. 보안과 격리를 유지하면서 계정 경계를 넘어 서비스 간 통신을 유지해야 하는 여러 AWS 계정을 가진 조직에 특히 유용합니다.
참고: 서로 다른 VPC에 있는 서비스와 통신하려면 VPC 간 연결(inter-VPC connectivity)을 구성해야 합니다. 이는 VPC 피어링 연결을 사용해 달성할 수 있어요. 자세한 내용은 Amazon Virtual Private Cloud VPC Peering 가이드의 VPC 피어링 연결 만들기 또는 삭제(Create or delete a VPC Peering connection)를 참고하세요.
고려 사항
Service Connect와 함께 공유 AWS Cloud Map 네임스페이스를 사용할 때 다음을 고려하세요:
- 공유 네임스페이스를 사용하려는 AWS 리전에서 AWS RAM을 사용할 수 있어야 해요.
- 공유 네임스페이스는 Amazon ECS 서비스와 클러스터와 같은 AWS 리전에 있어야 합니다.
- Service Connect를 공유 네임스페이스로 구성할 때는 ID가 아닌 네임스페이스 ARN을 사용해야 해요.
- 모든 네임스페이스 유형이 지원됩니다: HTTP, Private DNS, Public DNS 네임스페이스.
- 공유 네임스페이스에 대한 액세스가 해지되면, 네임스페이스와의 상호 작용이 필요한 Amazon ECS 작업(예:
CreateService,UpdateService,ListServicesByNamespace)이 실패해요. 공유 네임스페이스의 권한 문제 트러블슈팅에 대한 자세한 내용은 공유 AWS Cloud Map 네임스페이스가 있는 Amazon ECS Service Connect 트러블슈팅(Troubleshooting Amazon ECS Service Connect with shared AWS Cloud Map namespaces)을 참고하세요. - 공유 프라이빗 DNS 네임스페이스에서 DNS 쿼리를 사용한 서비스 검색의 경우:
- 네임스페이스 소유자는 네임스페이스와 연결된 프라이빗 호스팅 영역의 ID와 소비자(consumer)의 VPC를 사용해
create-vpc-association-authorization을 호출해야 해요.
- 네임스페이스 소유자는 네임스페이스와 연결된 프라이빗 호스팅 영역의 ID와 소비자(consumer)의 VPC를 사용해
aws route53 create-vpc-association-authorization --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
- 네임스페이스 소비자는 프라이빗 호스팅 영역의 ID로
associate-vpc-with-hosted-zone을 호출해야 합니다.
aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
- 리소스 공유(resource share)는 네임스페이스 소유자만 관리할 수 있어요.
- 네임스페이스 소비자는 공유 네임스페이스 안에서 서비스를 만들고 관리할 수 있지만 네임스페이스 자체는 수정할 수 없습니다.
- 서비스를 만든 계정과 관계없이 공유 네임스페이스 안에서 검색 이름은 고유해야 해요.
- 공유 네임스페이스의 서비스는 네임스페이스에 대한 액세스 권한이 있는 다른 AWS 계정의 서비스를 발견하고 연결할 수 있어요.
- Service Connect에 TLS를 활성화하고 공유 네임스페이스를 사용할 때, AWS Private CA 인증 기관(CA)은 네임스페이스로 범위가 한정됩니다. 공유 네임스페이스에 대한 액세스가 해지되면 CA에 대한 액세스도 중지돼요.
- 공유 네임스페이스로 작업할 때 네임스페이스 소유자와 소비자는 기본적으로 크로스 계정 Amazon CloudWatch 지표에 액세스할 수 없습니다. 대상 지표는 클라이언트 서비스를 소유한 계정에만 게시됩니다. 클라이언트 서비스를 소유한 계정은 클라이언트-서버 서비스를 소유한 계정이 수신하는 지표에 액세스할 수 없고, 그 반대도 마찬가지예요. 지표에 대한 크로스 계정 액세스를 허용하려면 CloudWatch 크로스 계정 관측 가능성(cross-account observability)을 설정하세요. 크로스 계정 관측 가능성 구성에 대한 자세한 내용은 Amazon CloudWatch 사용자 가이드의 CloudWatch 크로스 계정 관측 가능성(CloudWatch cross-account observability)을 참고하세요. Service Connect의 CloudWatch 지표에 대한 자세한 내용은 Amazon ECS CloudWatch 지표(Amazon ECS CloudWatch metrics)를 참고하세요.