注意
对于 AWS、Google Cloud 和 Azure 以及多云分片集群上托管的专用集群,Atlas 支持网络对等连接。
网络对等互连可在 Atlas VPC 与云提供商的 VPC 之间建立私有连接。该连接会将流量与公共网络隔离以提高安全性。Atlas Stream Processing 支持两种网络对等连接:
出站:stream processin 工作区用于向云提供商 VPC 发送对等请求的 VPC 连接。此连接类型适用于您对外部 VPC 具有完全管理权限且可批准与其相关的连接请求的场景。
入站:一种 VPC 连接,而云提供商 VPC 可通过它向您的 Stream Processing 工作区发送对等互连请求。此连接类型适用于您对云提供商的 VPC 没有完全管理权限的场景,因为它仅要求在 Atlas VPC 内获得批准。
警告
Atlas 不支持在不同云提供商的单个区域内部署的集群之间 设置“网络对等互联”。 例如,您不能在 AWS 单个区域托管的 Atlas 集群 和 GCP 单个区域托管的应用程序之间 设置“网络对等互联”。
此页面上的程序将引导您创建出站 VPC 连接,以及创建、接受、拒绝和删除 Stream Processing 工作区的入站 VPC 对等互连连接。
先决条件
要创建和配置连接,您必须具备以下条件:
Atlas项目
具有管理连接注册表的
Project Owner或Project Stream Processing Owner角色的 Atlas 用户注意
Project Owner角色允许您创建数据库部署、管理项目访问和项目设置、管理 IP 访问列表条目等。Project Stream Processing Owner角色可执行 Atlas Stream Processing 操作,如查看、创建、删除和编辑Stream Processing 工作区,以及在连接注册表中创建、更新和删除 VPC 对等互连。要详细了解这两个角色之间的区别,请参阅项目角色。
Atlas 集群
创建出站VPC对等互连连接
要创建到您的 Stream Processing 工作区的出站 VPC 对等互连连接:
要使用 Atlas 用户界面创建从 Stream Processing 工作区到云提供商 VPC 的出站 VPC 对等互连连接,请参阅添加 Atlas Stream Processing 连接,然后选择 Apache Kafka 作为连接类型,并选择 Atlas UI 作为接口。
您必须选择 SASL_SSL 作为VPC对等连接的安全协议。
要使用 API 创建与 Stream Processing 工作区的出站 VPC 对等连接,请参阅 在一个项目中返回所有网络对等连接
您必须选择 SASL_SSL 作为VPC对等连接的安全协议。
从 Confluent 生成传入 VPC 对等连接请求
要设置和配置从 Confluent 帐户发起的 AWS VPC 对等连接,请执行以下操作:
生成 API 密钥以使用 Atlas Cloud API。
在 Atlas 中,前往 Project Access Manager 页面。
如果尚未显示,组织从导航栏中的Organizations菜单。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
执行以下步骤之一:
从导航栏的Access Manager菜单中选择Project Access 。
在 Projects 菜单旁边,展开 Options 菜单,单击 Project Settings,然后单击侧栏中的 Access Manager。
将显示项目访问管理器页面。
单击 Applications(连接)。
单击 Create API Key(连接)。
在 Create API Key 页面上,输入您的 API 密钥信息。
保存您的API密钥信息。
单击 Done(连接)。
检索Atlas Cloud AWS 帐户ID、 VPC ID和 CIDR区块。
示例API请求如下所示:
curl \ -s --user "ajarafoc:a98a3a67-7400-4d6f-94b2-20a64118524d" \ --digest \ --header 'Accept: application/vnd.atlas.2024-11-13+json' \ --header 'Content-Type: application/json' \ --request GET \ "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/accountDetails?cloudProvider=aws®ionName=US_EAST_1"
请注意以下示例参数值:
Parameter values | 说明 |
|---|---|
ajarafoc:a98a3a67-7400-4d6f-94b2-20a64118524d | API公钥和私钥 |
671a86f4cfc9da7d7c31b14f | Atlas项目ID |
AWS | 云提供商 |
US_EAST_1 | AWS 区域名称 |
示例输出类似于以下内容:
{ "awsAccountId": "974404375205", "cidrBlock": "192.168.248.0/21", "vpcId": "vpc-0ef7efa5ceca36e2f" }
VPC对等互连请求在可能出现延迟后显示在Atlas中。
要查看您 Atlas 帐户中的待处理请求,请执行类似以下内容的 API 请求:
curl \ -s --user "ojarafoc:1ecf4c70-98ea-4168-8e44-fd67dba0f3ba" \ --digest \ --header 'Accept: application/vnd.atlas.2023-02-01+json' \ --header 'Content-Type: application/json' \ --request GET \ "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/vpcPeeringConnections?requesterAccountId=417601102659"
请注意以下示例参数值:
Parameter values | 说明 |
|---|---|
ajarafoc:a98a3a67-7400-4d6f-94b2-20a64118524d | API公钥和私钥 |
671a86f4cfc9da7d7c31b14f | Atlas项目ID |
417601102659 | 在步骤 7 中获得的 Confluent AWS 帐户 ID |
示例输出类似于以下内容:
{ "links": [ { "href": "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/vpcPeeringConnections?requesterAccountId=417601102659&pageNum=1&itemsPerPage=100", "rel": "self" } ], "results": [ { "_id": "6759e61aa6cf0a5476e233d1", "accepterAccountId": "974404375205", "accepterVpcId": "vpc-0ddfd37072cc5ed61", "cloudStatus": "pending-acceptance", "expirationTime": "2024-12-18T19:20:37Z", "groupId": "671a86f4cfc9da7d7c31b14f", "localStatus": "NONE", "name": "pcx-09277e1e81d0751c1", "requesterAccountId": "417601102659", "requesterCidr": "10.0.0.0/16", "requesterVpcId": "vpc-0d13eb6a2f0377854" } ], "totalCount": 1 }
接受传入的VPC对等互连互连连接请求。
请注意,cloudStatus 的值是 pending-acceptance。
执行以下 API 请求:
curl \ -s --user "ojarafoc:1ecf4c70-98ea-4168-8e44-fd67dba0f3ba" \ --digest \ --header 'Accept: application/vnd.atlas.2023-02-01+json' \ --header 'Content-Type: application/json' \ -d '{"requesterVpcId": "vpc-0d13eb6a2f0377854", "requesterAccountId":"417601102659"}' \ --request POST \ "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/vpcPeeringConnections/pcx-09277e1e81d0751c1:accept"
请注意以下示例参数值:
Parameter values | 说明 |
|---|---|
ajarafoc:a98a3a67-7400-4d6f-94b2-20a64118524d | API公钥和私钥 |
{"requesterVpcId": "vpc-0d13eb6a2f0377854", "requesterAccountId":"417601102659"} | 这是包含“请求者”VPC ID 和“请求者” AWS 帐户 ID 的 POST 有效负载。在本例中,“请求者”为 Confluent。 |
671a86f4cfc9da7d7c31b14f | Atlas项目ID |
pcx-09277e1e81d0751c1 | 从上一步中获得的传入 VPC 连接名称 |
获取项目的Amazon Web Services帐户ID和VPC ID
如果您想要创建入站 VPC 对等互连连接到您的 Stream Processing 工作区,您首先需要检索AWS账户 ID、AWSVPC ID,以及与您的 Atlas 项目关联的 CIDR 块,以从外部云环境启动 VPC 对等互连请求。
要使用 Atlas 管理 API 为 Atlas 项目检索 AWS 帐户 ID、AWS VPC ID 和 CIDR 块,请参阅 返回指定组和区域的帐户 ID 和 VPC ID
列出入站VPC对等互连连接
要使用 Atlas 管理 API 列出与您的 Stream Processing 工作区的所有入站 VPC 对等互连连接,请参阅返回所有 VPC 对等互连连接
接受入站VPC对对等互连互连
要使用 Atlas 管理 API 接受 Stream Processing 工作区的入站VPC对等互连连接,请参阅请求接受入站 VPC 对等互连连接
示例API请求如下所示:
curl \ -s --user "ojarafoc:1ecf4c70-98ea-4168-8e44-fd67dba0f3ba" \ --digest \ --header 'Accept: application/vnd.atlas.2023-02-01+json' \ --header 'Content-Type: application/json' \ -d '{"requesterVpcId": "vpc-0d13eb6a2f0377854", "requesterAccountId":"417601102659"}' \ --request POST \ "https://cloud.mongodb.com/api/atlas/v2/groups/671a86f4cfc9da7d7c31b14f/streams/vpcPeeringConnections/pcx-09277e1e81d0751c1:accept"
请注意以下示例参数值:
拒绝入站VPC对对等互连互连
要使用 Atlas 管理 API 拒绝 Stream Processing 工作区的入站 VPC 对等互连连接,请参阅请求拒绝入站 VPC 对等互连连接
删除入站VPC对等对等互连连接
要使用 Atlas 管理 API 删除 Stream Processing 工作区的入站 VPC 对等互连连接,请参阅删除传入的 VPC 对等互连连接