搭配共用 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 Developer Guide 中的 Cross-account AWS Cloud Map namespace sharing。
重要
必須使用 AWSRAMPermissionCloudMapECSFullPermission 受管許可來共用命名空間,Service Connect 才能在命名空間正常運作。
搭配 Service Connect 使用共用 AWS Cloud Map 命名空間時,多個 AWS 帳戶中的服務可以加入同一個服務命名空間。對於擁有多個 AWS 帳戶、要維持跨帳戶邊界的服務間通訊,同時保持安全性與隔離性的組織,這點尤其有用。
注意
若要與位於不同 VPC 中的服務通訊,您需要設定 VPC 間連線功能。這可以使用 VPC 對等互連來實現。如需詳細資訊,請參閱 Amazon Virtual Private Cloud VPC Peering Guide 中的 Create or delete a VPC Peering connection。
考量事項
搭配 Service Connect 使用共用 AWS Cloud Map 命名空間時,請考量下列事項:
-
AWS RAM 必須在要使用共用命名空間的 AWS 區域中可用。
-
共用命名空間必須與 Amazon ECS 服務與叢集位於同一 AWS 區域。
-
使用共用命名空間設定 Service Connect 時,必須使用命名空間 ARN,而不是 ID。
-
支援所有命名空間類型:HTTP、私有 DNS 與公有 DNS 命名空間。
-
如果撤銷共用命名空間的存取權,則需要與命名空間互動的 Amazon ECS 操作 (例如
CreateService、UpdateService與ListServicesByNamespace) 將會失敗。如需有關對共用命名空間許可問題進行疑難排解的詳細資訊,請參閱對搭配共用 AWS Cloud Map 命名空間使用 Amazon ECS Service Connect 的問題進行疑難排解。 -
若在共用私有 DNS 命名空間中使用 DNS 查詢進行服務探索:
-
命名空間擁有者需要呼叫
create-vpc-association-authorization,並指定與命名空間關聯的私有託管區域的 ID 以及取用者的 VPC。aws route53 create-vpc-association-authorization --hosted-zone-idZ1234567890ABC--vpc VPCRegion=us-east-1,VPCId=vpc-12345678 -
命名空間取用者需要呼叫
associate-vpc-with-hosted-zone,並指定私有託管區域的 ID。aws route53 associate-vpc-with-hosted-zone --hosted-zone-idZ1234567890ABC--vpc VPCRegion=us-east-1,VPCId=vpc-12345678
-
-
只有命名空間擁有者可以管理資源共用。
-
命名空間取用者可以在共用命名空間內建立與管理服務,但無法修改命名空間本身。
-
無論是哪個帳戶建立服務,探索名稱在共用命名空間內都必須是唯一的。
-
共用命名空間中的服務可以探索與連線至其他可存取該命名空間之 AWS 帳戶中的服務。
-
為 Service Connect 啟用 TLS 並使用共用命名空間時,AWS Private CA 憑證認證機構 (CA) 的範圍僅限於該命名空間。撤銷共用命名空間的存取權時,CA 的存取權也會停止。