注意
此功能不适用于以下任何部署:
M0集群M2/M5集群Flex 集群
Atlas Kubernetes Operator支持使用AWS PrivateLink功能管理 AWS 上专用集群的私有端点。
先决条件
要使用私有端点启用 Atlas Kubernetes Operator 到 Atlas 的连接,您必须:
- 在运行的Kubernetes集群上部署Atlas Kubernetes Operator 。
Project Owner在Atlas中具有Organization Owner或 角色。拥有具有 IAM 用户策略的 AWS 用户帐号,该策略可授予创建、修改、说明和删除终结点的权限。有关控制使用接口终结点的更多信息,请参阅 AWS 文档。
(推荐) : 安装 AWS CLI。
如果尚未创建,请在 AWS 中创建VPC和 EC2 实例。请参阅 AWS 文档获取指导。
步骤
要使客户端能够使用私有端点连接到 Atlas 专用集群,请执行以下操作:
查找私有端点的服务名称。
使用下表查找与您的私有端点所在Amazon Web Services地区相对应的服务名称:
AWS 区域 | 服务名称 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用 Amazon Web Services CLI 配置每个私有端点。
要创建应用程序VPC接口端点,请执行以下操作:
复制以下命令:
aws ec2 create-vpc-endpoint --vpc-id {your-application-vpc-id} --region {aws-region} --service-name {service-name} --vpc-endpoint-type Interface --subnet-ids {your-application-subnet-ids} 将以下占位符替换为有关Amazon Web Services VPC的详细信息:
your-application-vpc-id标识对等 AWS VPC 的唯一字符串。在您的 AWS 帐户的 VPC 仪表盘上找到此值。
aws-region用于标识私有端点的Amazon Web Services区域的标签。
service-name标识私有端点服务的唯一字符串。 这是您在上一步中检索的服务名称值。
your-application-subnet-ids标识 AWS VPC使用的子网的唯一字符串。用空格分隔每个子网。在您的 AWS 账户的 Subnet仪表盘上查找这些值。
重要提示:您必须至少指定一个子网。 否则,Amazon Web Services 将不会在您的 中预配VPC 接口端点 。VPC中的客户端需要接口端点才能向私有端点发送流量。
使用Amazon Web Services CLI运行命令。
请注意输出中的
VpcEndpointId值。例子
"VpcEndpoint": { "VpcEndpointId": "vpce-XXXXXX”, "VpcEndpointType": "Interface", "VpcId": "vpc-XXXXX”, "ServiceName": "com.amazonaws.vpce.{aws-region}.vpce-svc-XXXX”, "State": "pendingAcceptance", }
指定 spec.privateEndpoints 参数。
指定spec.privateEndpoints AtlasDataFederation自定义资源的参数。 将vpce-id替换为上一步中的VpcEndpointId值,然后运行以下命令:
注意
您可以在 Amazon Web Services 账户的 VPC 仪表盘上找到对等互连 Amazon Web Services VPC 的唯一标识符。
cat <<EOF | kubectl apply -f - apiVersion: atlas.mongodb.com/v1 kind: AtlasDataFederation metadata: name: my-federated-deployment spec: name: my-fdi privateEndpoints: - endpointId: {vpce-id} provider: AWS type: DATA_LAKE EOF