Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs 菜单
Docs 主页
/ /

为专用集群设置私有端点

注意

此功能不适用于免费集群和 Flex 集群。要详细学习;了解哪些功能不可用,请参阅 Atlas免费集群限制。

请按照以下步骤启用客户端,使用私有端点连接 Atlas 专用集群。

要了解有关在 Atlas 中使用私有端点的更多信息,请参阅了解 Atlas 中的私有端点

要为专用集群设立私有端点,您必须拥有项目的Organization OwnerProject Owner访问权限。

若要了解设置私有端点的先决条件、注意事项和限制,请参阅以下资源:

要通过 Atlas CLI 设置 AWS PrivateLink,请 安装 Atlas CLI从 Atlas CLI 进行连接 。然后完成以下步骤:

1
  1. 运行 Atlas CLI 命令以在 Atlas 中启动 AWS PrivateLink 的设置。Atlas 以私有端点服务的形式表示这些资源。确保 --region 的值与您部署集群的区域匹配:

    atlas privateEndpoints aws create [options]

    要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas privateEndpoints aws create

    如果您拥有多区域或多云集群,但未启用区域化私有端点,则必须为每个提供程序和区域配置一个端点。

  2. 请注意响应中私有端点服务的 ID。在此示例中,ID 为 6344ac8f51b94c6356527881

    Private endpoint '6344ac8f51b94c6356527881' created.
2

重要提示: Atlas可能需要一些时间来预配私有端点。等待 1-2 分钟,然后再完成此步骤。

  1. 运行 Atlas CLI 命令,使用相应的 ID 来描述专用端点

    atlas privateEndpoints aws describe <privateEndpointId> [options]

    要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas privateEndpoints aws describe

  2. 请注意响应中 ENDPOINT SERVICE 的值,其中显示了与此私有端点关联的私有端点服务的名称。本示例中,端点服务名称为 com.amazonaws.vpce.us-east-1.vpce-svc-0705499aae25ac77c

    ID ENDPOINT SERVICE STATUS ERROR
    6344ac8f51b94c6356527881 com.amazonaws.vpce.us-east-1.vpce-svc-0705499aae25ac77c AVAILABLE

    如果 STATUS 值为 INITIATING,请再等待 1-2 分钟,以便 Atlas 配置私有端点。然后再次尝试这一步骤。

3
  1. AWS CLI 中运行此命令,用您的值替换以下占位符:

    占位符
    说明

    {VPC-ID}

    标识对等 AWS VPC 的唯一字符串。在您的 AWS 帐户的 VPC 仪表盘上找到此值。

    {REGION}

    您的集群所在的 AWS 区域

    {SUBNET-IDS}

    标识 AWS VPC 使用的子网的唯一字符串。在您的 AWS 帐户的 Subnet 仪表板上找到这些值。

    重要:必须指定至少一个子网。如果不这样操作,AWS 将不会在您的 VPC 中配置接口终结点VPC 中的客户端需要接口终结点才能向私有终结点发送流量。

    {SERVICE-NAME}

    唯一字符串,用于标识以前检索的 私有端点服务。

    aws ec2 create-vpc-endpoint --vpc-id {VPC-ID} \
    --region {REGION} --service-name {SERVICE-NAME} \
    --vpc-endpoint-type Interface --subnet-ids {SUBNET-IDS}

    要学习;了解有关Amazon Web Services CLI 的更多信息,请参阅创建接口端点。

  2. 请注意响应中字段VpcEndpointId的值。 这是一个包含 22 个字符的字母数字string ,用于标识您的私有端点。 您还可以在Amazon Web Services VPC仪表盘的 Endpoints > VPC ID 下找到此值。

4
  1. 运行 Atlas CLI 命令,使用 Atlas 端点服务 ID 和 VPC 端点 ID 向 Atlas 提供接口端点信息。本示例中,您需要设置以下参数:

    Parameter
    类型
    示例值

    endpointServiceId

    Argument

    6344ac8f51b94c6356527881

    privateEndpointId

    选项

    vpce-00713b5e644e830a3

    atlas privateEndpoints aws interfaces create <endpointServiceId> [options]

    要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas privateEndpoints aws interfaces create

5

对于需要使用 AWS PrivateLink 连接到 Atlas 集群的每个资源,该资源的安全组必须允许出站流量流向所有端口上接口终结点的私有 IP 地址。

有关更多信息,请参阅向安全组添加规则

6

此安全群组必须允许需要使用 AWS PrivateLink 连接到 Atlas 集群的 每个资源的所有端口的入站流量:

  1. Amazon Web Services控制台中,导航到 VPC Dashboard

  2. 单击 Security Groups,然后单击 Create security group

  3. 使用向导创建安全组。确保从 VPC 列表中选择您的 VPC。

  4. 选择您刚刚创建的群组,然后单击 Inbound Rules 标签页。

  5. 单击 Edit Rules(连接)。

  6. 添加规则,允许 VPC 中要连接到 Atlas 集群的 所有资源的所有入站流量。

  7. 单击 Save Rules(连接)。

  8. 单击 Endpoints,然后单击 VPC 的端点。

  9. 单击 Security Groups 标签页,然后单击 Edit Security Groups

  10. 添加刚刚创建的安全组,然后单击 Save

要了解有关 VPC 安全群组的更多信息,请参阅 AWS 文档。

7

Atlas 完成所有资源配置且私有端点可用后,您可以使用 AWS PrivateLink 私有端点连接到集群。

要验证 AWS 私有终结点是否可用:

  1. 运行 Atlas CLI 命令, 使用接口端点的 ID 来描述此接口端点。本示例中, 您需要设置以下参数:

    Parameter
    类型
    示例值

    interfaceEndpointId

    Argument

    vpce-00713b5e644e830a3

    endpointServiceId

    选项

    6344ac8f51b94c6356527881

    atlas privateEndpoints aws interfaces describe <interfaceEndpointId> [options]

    要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas privateEndpoints aws interfaces describe

  2. 验证 STATUS 字段的值是否为 AVAILABLE,如以下示例所示:

    ID STATUS ERROR
    vpce-00713b5e644e830a3 AVAILABLE

要通过 Atlas UI 设置 AWS PrivateLink:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access

显示“数据库和网络访问”页面。

2
  1. 在侧边栏中,单击 Private Endpoint

  2. 单击 Dedicated Cluster 标签页。

3
  1. 单击 Create Endpoint Service 按钮。

    重要提示:如果您尚未为组织配置付款方式,则必须在 Edit Payment Method 表单中提供账单信息。

  2. 单击 AWS 徽标以选择您的云提供商。

  3. Atlas Region 列表中,选择部署Atlas 集群的主节点 (primary node in the replica set)地区。

  4. 可选:在Accepted Endpoint Regions 部分中,选择您希望允许端点连接的其他 AWS 区域。这将启用跨区域私有端点连接。

  5. 单击 Create Endpoint Service(连接)。

    端点服务创建进程大约需要 3-5 分钟。

    重要提示:如果您的组织没有存储付款信息, Atlas会提示您在继续之前添加信息。

4

创建端点服务后,您可以添加端点以将 AWS VPC连接到该服务。

  1. 在端点服务卡上,单击 Add Endpoint 按钮。

  2. 选择添加端点的方式:

    • 创建新端点:使用提供的 AWS CLI命令创建新的 AWS接口端点。

    • 连接现有端点:连接已创建的现有 AWS接口端点。

5

要创建新端点:

  1. 选择 Create New Endpoint

  2. 输入有关您的 AWS VPC 的以下详细信息:

    Your VPC ID

    对等 AWS VPC 的唯一标识符。在您的 AWS 帐户的 VPC 仪表盘上找到此值。

    Your Subnet IDs

    您的 AWS VPC 使用的子网的唯一标识符。

    在您的 AWS 账号的 Subnet 仪表盘上查找这些值。

    您必须至少指定一个子网。如果不这样操作,AWS 将不会在您的 VPC 中配置接口终结点VPC 中的客户端需要接口终结点才能向私有终结点发送流量。

    Consumer Region

    消费者VPC所在的 AWS地区。此地区必须是为端点服务配置的接受端点区域之一。

  3. 单击 Create Endpoint(连接)。

    Atlas提供预填充配置的 AWS CLI命令。

  4. 复制 AWS CLI命令并在终端中运行。

    重要提示:您必须具有必要的 AWS 权限才能创建接口端点。在继续之前,请确保端点在Pending Acceptance AWS 控制台中处于 状态。

    有关更多信息,请参阅创建接口端点。

  5. 运行命令后,从VPC Endpoint ID AWS CLI输出中复制生成的 。这是一个由22 个字符组成的字母数字字符串(示例vpce-0123456789abcdef0 )。

  6. VPC Endpoint ID 粘贴到模态框中,然后单击 Add Endpoint

    Atlas接受端点连接。此进程通常需要几分钟。当端点准备就绪时,端点状态显示为 Available

要连接已在 AWS 中创建的现有端点:

  1. 选择 Connect Existing Endpoint

  2. 输入您的VPC Endpoint ID 。这是一个由22 个字符组成的字母数字字符串,用于标识您的 AWS接口端点(示例 vpce-0123456789abcdef0)。

    AWS VPC 仪表盘上的 Endpoints > VPC ID 下找到该值。

  3. 单击 Submit Endpoint(连接)。

    Atlas验证端点并将其链接到您的私有端点服务。

6

对于需要使用 AWS PrivateLink 连接到 Atlas 集群的每个资源,该资源的安全组必须允许出站流量流向所有端口上接口终结点的私有 IP 地址。

有关更多信息,请参阅向安全组添加规则

7

此安全群组必须允许需要使用 AWS PrivateLink 连接到 Atlas 集群的 每个资源的所有端口的入站流量:

  1. Amazon Web Services控制台中,导航到 VPC Dashboard

  2. 单击 Security Groups,然后单击 Create security group

  3. 使用向导创建安全组。确保从 VPC 列表中选择您的 VPC。

  4. 选择您刚刚创建的群组,然后单击 Inbound Rules 标签页。

  5. 单击 Edit Rules(连接)。

  6. 添加规则,允许 VPC 中要连接到 Atlas 集群的 所有资源的所有入站流量。

  7. 单击 Save Rules(连接)。

  8. 单击 Endpoints,然后单击 VPC 的端点。

  9. 单击 Security Groups 标签页,然后单击 Edit Security Groups

  10. 添加刚刚创建的安全组,然后单击 Save

要了解有关 VPC 安全群组的更多信息,请参阅 AWS 文档。

8
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access

显示“数据库和网络访问”页面。

9

当所有资源均已配置且私有端点可用时,您可以使用 AWS PrivateLink 私有端点连接到 Atlas 集群。

验证 AWS PrivateLink 私有端点是否可用:

Private Endpoint 页面上,选择集群类型并验证包含要使用AWS PrivateLink连接到的集群的地区的以下状态:

Atlas Endpoint Service Status

available

Endpoint Status

available

要了解有关可能状态值的更多信息,请参阅排除私有端点连接问题

如果看不到这些状态,请参阅排除私有端点连接问题了解更多信息。

注意

如果您遇到端点连接问题,包括端点故障或缺失区域,请参阅私有端点连接问题故障排除,了解故障排除步骤和常见解决方案。

要学习;了解有关跨区域私有端点连接、接受的端点区域和限制的更多信息,请参阅管理AWS PrivateLink的接受端点区域。

要通过Atlas CLI设立Azure Private Link ,请安装Atlas CLI从Atlas CLI进行连接。然后,完成以下步骤:

1
  1. 运行 Atlas CLI 命令 在 Atlas 中创建私有端点和私有端点服务。 确保 --region 的值与您部署集群的区域匹配:

    atlas privateEndpoints azure create [options]

    如需了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas privateEndpoints azure create

    如果您拥有多区域或多云集群,但未启用区域化私有端点,则必须为每个提供程序和区域配置一个端点。

  2. 请注意响应中私有端点服务的 ID。在此示例中,ID 为 6344ac8f51b94c6356527881

    Private endpoint '6344ac8f51b94c6356527881' created.
2

重要提示: Atlas可能需要一些时间来预配私有端点。等待 1-2 分钟,然后再完成此步骤。

  1. 运行 Atlas CLI 命令, 用服务 ID 说明私有端点:

    atlas privateEndpoints azure describe <privateEndpointId> [options]

    要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档的 atlas privateEndpoints azure describe 部分。

  2. 请注意响应中 ENDPOINT SERVICE 的值,其中显示了端点服务名称。本示例中,端点服务名称为 pls_6344ac8f51b94c6356527881

    ID ENDPOINT SERVICE STATUS ERROR
    6344ac8f51b94c6356527881 pls_6344ac8f51b94c6356527881 AVAILABLE

    如果 STATUS 值为 INITIATING,请再等待 1-2 分钟,以便 Atlas 配置私有端点。然后再次尝试这一步骤。

3
  1. Azure CLI 中运行 az network private-endpoint create 命令,用您的值替换以下占位符:

    占位符
    说明

    {RESOURCE-GROUP-NAME}

    包含要用于连接到 Atlas 的 VNet 的 Azure 资源组的名称。您可以在 Azure 仪表盘的 Resource Group Properties 页面上找到此值。

    {VIRTUAL-NETWORK-NAME}

    要用于连接到 Atlas 的 VNet 的名称。您可以在 Azure 仪表盘的 Virtual Network 页面上找到这个值。

    {SUBNET-NAME}

    Azure VNet 中子网的名称。您可以在 Azure 仪表盘的 Virtual Network Subnets 页面上找到此值。

    {PRIVATE-ENDPOINT-NAME}

    人类可读标签,用于标识 Azure 资源组中的私有终结点。

    {SUBSCRIPTION-ID}

    标识 Azure 中的订阅的唯一字符串。您可以在 AzureSubscriptions 页面上找到此值。

    {RESOURCE-GROUP-ID}

    用于标识Atlas上的Azure资源群组的唯一字符串。您可以在Atlas用户界面 Private EndpointNetwork Access部分下的 页面找到此值。

    此值以 rg_ 开头,包含字母和数字的组合,类似于 rg_65c66a56a3a43...

    {ENDPOINT-SERVICE-NAME}

    标识端点服务的唯一字符串。这是上一步中返回的端点服务名称。

    az network private-endpoint create --resource-group {RESOURCE-GROUP-NAME} --name {PRIVATE-ENDPOINT-NAME} --vnet-name {VIRTUAL-NETWORK-NAME} --subnet {SUBNET-NAME} --private-connection-resource-id /subscriptions/{SUBSCRIPTION-ID}/resourceGroups/{RESOURCE-GROUP-ID}/providers/Microsoft.Network/privateLinkServices/{ENDPOINT-SERVICE-NAME} --connection-name {ENDPOINT-SERVICE-NAME} --manual-request true

    若要学习;了解有关Azure CLI 的更多信息,请参阅使用Azure CLI创建私有端点。

4
  1. 运行 Atlas CLI 命令,使用 Atlas 终结点服务 ID、Azure 资源 ID 和 Azure 专用 IP 在 Atlas 中创建接口终结点。本示例中,您需要设置以下参数:

    Parameter
    类型
    示例值

    endpointServiceId

    Argument

    6344ac8f51b94c6356527881

    privateEndpointId

    选项

    /subscriptions/4e133d35-e734-4385-a565-c0945567ae346/ resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/ providers/Microsoft.Network/privateEndpoints/ test-endpoint

    privateEndpointIpAddress

    选项

    10.0.0.4

    atlas privateEndpoints azure interfaces create <endpointServiceId> [options]

    要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档的 atlas privateEndpoints azure interfaces create 部分。

  2. 记下响应中私有端点的接口端点 ID。在此示例中,ID 为 /subscriptions/ 4e133d35-e734-4385-a565-c0945567ae346/resourceGroups/ rg_95847a959b876e255dbb9b33_dfragd7w/providers/ Microsoft.Network/privateEndpoints/cli-test

    Interface endpoint '/subscriptions/4e133d35-e734-4385-a565-c0945567ae346/resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/providers/Microsoft.Network/privateEndpoints/cli-test' created.
5

Atlas 完成所有资源配置且私有端点可用后,您可以使用 Azure Private Link 私有端点连接到集群。

要验证 Azure 私有终结点是否可用:

  1. 运行 Atlas CLI 命令,使用接口端点的 ID 和您在上一步中检索到的接口端点 ID 来描述接口端点。本示例中,您需要设置以下参数:

    Parameter
    类型
    示例值

    privateEndpointResourceId

    Argument

    /subscriptions/4e133d35-e734-4385-a565-c0945567ae346/ resourceGroups/rg_95847a959b876e255dbb9b33_dfragd7w/ providers/Microsoft.Network/privateEndpoints/cli-test

    endpointServiceId

    选项

    6344ac8f51b94c6356527881

    atlas privateEndpoints azure interfaces describe <privateEndpointResourceId> [options]

    要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas privateEndpoints azure interfaces describe 部分。

  2. 验证 STATUS 字段的值是否为 AVAILABLE,如以下示例所示:

    ID STATUS ERROR
    pls_6344ac8f51b94c6356527881 AVAILABLE

要通过 Atlas UI 设置 Azure Private Link,请执行以下操作:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access

显示“数据库和网络访问”页面。

2
  1. 在侧边栏中,单击 Private Endpoint

  2. 单击 Dedicated Cluster 标签页。

3
  1. 单击 Create Endpoint Service 按钮。

    重要提示:如果您尚未为组织配置付款方式,则必须在 Edit Payment Method 表单中提供账单信息。

  2. 单击Azure徽标,选择您的云提供商。

  3. Atlas Region 列表中,选择部署Atlas 集群的主节点 (primary node in the replica set)地区。

  4. 单击 Create Endpoint Service(连接)。

    端点服务创建进程大约需要 3-5 分钟。

    重要提示:如果您的组织没有存储付款信息, Atlas会提示您在继续之前添加信息。

4

警告:为避免连接中断,您必须指定正确的信息。我们建议您不要跳过此步骤中的命令和子步骤。

  1. 输入有关 Azure VNet 的以下详细信息:

    Resource Group Name

    包含要用于连接到 Atlas 的 VNet 的资源组的名称。在 Azure 仪表盘的 Resource Group Properties 页面上找到此值。

    Virtual Network Name

    要用于连接到 Atlas 的 VNet 的名称。在 Azure 仪表盘的 Virtual Network 页面上找到此值。

    Subnet Name

    Azure VNet 中子网的名称。在 Azure 仪表盘的 Virtual Network Subnets 页面上查找此值。

  2. Private Endpoint Name 字段中输入私有端点的唯一名称。

  3. 通过复制对话框显示的 az network private-endpoint create 命令并使用 Azure CLI 运行该命令,在 vNet 中创建私有端点。

    重要提示:在Atlas完成背景VNet 资源创建之前,您无法复制命令。

    有关此命令的更多信息,请参阅 Azure 文档。

  4. 创建私有端点时,您可能会收到以下错误:

    ServiceError: code: LinkedAuthorizationFailed - , The client has permission to perform action 'Microsoft.Network/privateLinkServices/PrivateEndpointConnectionsApproval/action' on scope '/subscriptions/<subscription-id>/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink', however the current tenant '<tenant-id>' is not authorized to access linked subscription '<tenant-id>'.

    如果收到此错误,则必须将 --manual-request true 参数添加到用于创建私有终结点的 Azure CLI 命令中,然后再次运行该命令。

  5. 单击 Next(连接)。

5

警告:为避免连接中断,您必须指定正确的信息。我们建议您不要跳过此步骤中的命令和子步骤。

  1. 输入有关私有端点的以下详细信息:

    Private Endpoint Resource ID

    你在 Azure VNet 中创建的私有终结点的唯一标识符。通过以下方式之一查找此值:

    • Azure仪表板上私有端点的 Properties 页面会在 Resource ID 字段中显示此属性。

    • 您之前为创建私有端点而运行的以下命令的输出会返回 id 字段中突出显示的值:

      1azure network private-endpoint create
      1{
      2 "customDnsConfigs": [],
      3 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
      4 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
      5 "location": "eastus2",
      6 "manualPrivateLinkServiceConnections": [
      7 {
      8 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
      9 "groupIds": null,
      10 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink/manualPrivateLinkServiceConnections/pls_5f860388d432510d5a6e1a3e",
      11 "name": "pls_5f860388d432510d5a6e1a3e",
      12 "privateLinkServiceConnectionState": {
      13 "actionsRequired": "None",
      14 "description": "Connection deleted by service provider",
      15 "status": "Disconnected"
      16 },
      17 "privateLinkServiceId": "pls_5f860388d432510d5a6e1a3e.00000000-0000-0000-0000-000000000000.eastus2.privatelinkservice",
      18 "provisioningState": "Succeeded",
      19 "requestMessage": null,
      20 "resourceGroup": "privatelink",
      21 "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections"
      22 }
      23 ],
      24 "name": "privatelink",
      25 "networkInterfaces": [
      26 {
      27 "dnsSettings": null,
      28 "dscpConfiguration": null,
      29 "enableAcceleratedNetworking": null,
      30 "enableIpForwarding": null,
      31 "etag": null,
      32 "hostedWorkloads": null,
      33 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
      34 "ipConfigurations": null,
      35 "location": null,
      36 "macAddress": null,
      37 "name": null,
      38 "networkSecurityGroup": null,
      39 "primary": null,
      40 "privateEndpoint": null,
      41 "provisioningState": null,
      42 "resourceGroup": "privatelink",
      43 "resourceGuid": null,
      44 "tags": null,
      45 "tapConfigurations": null,
      46 "type": null,
      47 "virtualMachine": null
      48 }
      49 ],
      50 "privateLinkServiceConnections": [],
      51 "provisioningState": "Succeeded",
      52 "resourceGroup": "privatelink",
      53 "subnet": {
      54 "addressPrefix": null,
      55 "addressPrefixes": null,
      56 "delegations": null,
      57 "etag": null,
      58 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
      59 "ipAllocations": null,
      60 "ipConfigurationProfiles": null,
      61 "ipConfigurations": null,
      62 "name": null,
      63 "natGateway": null,
      64 "networkSecurityGroup": null,
      65 "privateEndpointNetworkPolicies": null,
      66 "privateEndpoints": null,
      67 "privateLinkServiceNetworkPolicies": null,
      68 "provisioningState": null,
      69 "purpose": null,
      70 "resourceGroup": "privatelink",
      71 "resourceNavigationLinks": null,
      72 "routeTable": null,
      73 "serviceAssociationLinks": null,
      74 "serviceEndpointPolicies": null,
      75 "serviceEndpoints": null
      76 },
      77 "tags": null,
      78 "type": "Microsoft.Network/privateEndpoints"
      79}

    Private Endpoint IP Address

    您在 Azure VNet 中创建的私有终结点网络接口的私有 IP 地址。通过以下方式之一查找此值:

    • 使用 Azure 仪表盘检索此值。Azure 仪表盘上私有端点的 Overview 页面在 Private IP 字段中显示此属性。

    • 使用 Azure CLI 检索此值:

      1. 您之前运行的用于创建私有端点的以下命令的输出在突出显示的 networkInterfaces.id 字段中包含网络接口的 ID:

        1azure network private-endpoint create
        1{
        2 "customDnsConfigs": [],
        3 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        4 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
        5 "location": "eastus2",
        6 "manualPrivateLinkServiceConnections": [
        7 {
        8 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        9 "groupIds": null,
        10 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink/manualPrivateLinkServiceConnections/pls_5f860388d432510d5a6e1a3e",
        11 "name": "pls_5f860388d432510d5a6e1a3e",
        12 "privateLinkServiceConnectionState": {
        13 "actionsRequired": "None",
        14 "description": "Connection deleted by service provider",
        15 "status": "Disconnected"
        16 },
        17 "privateLinkServiceId": "pls_5f860388d432510d5a6e1a3e.00000000-0000-0000-0000-000000000000.eastus2.privatelinkservice",
        18 "provisioningState": "Succeeded",
        19 "requestMessage": null,
        20 "resourceGroup": "privatelink",
        21 "type": "Microsoft.Network/privateEndpoints/manualPrivateLinkServiceConnections"
        22 }
        23 ],
        24 "name": "privatelink",
        25 "networkInterfaces": [
        26 {
        27 "dnsSettings": null,
        28 "dscpConfiguration": null,
        29 "enableAcceleratedNetworking": null,
        30 "enableIpForwarding": null,
        31 "etag": null,
        32 "hostedWorkloads": null,
        33 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
        34 "ipConfigurations": null,
        35 "location": null,
        36 "macAddress": null,
        37 "name": null,
        38 "networkSecurityGroup": null,
        39 "primary": null,
        40 "privateEndpoint": null,
        41 "provisioningState": null,
        42 "resourceGroup": "privatelink",
        43 "resourceGuid": null,
        44 "tags": null,
        45 "tapConfigurations": null,
        46 "type": null,
        47 "virtualMachine": null
        48 }
        49 ],
        50 "privateLinkServiceConnections": [],
        51 "provisioningState": "Succeeded",
        52 "resourceGroup": "privatelink",
        53 "subnet": {
        54 "addressPrefix": null,
        55 "addressPrefixes": null,
        56 "delegations": null,
        57 "etag": null,
        58 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
        59 "ipAllocations": null,
        60 "ipConfigurationProfiles": null,
        61 "ipConfigurations": null,
        62 "name": null,
        63 "natGateway": null,
        64 "networkSecurityGroup": null,
        65 "privateEndpointNetworkPolicies": null,
        66 "privateEndpoints": null,
        67 "privateLinkServiceNetworkPolicies": null,
        68 "provisioningState": null,
        69 "purpose": null,
        70 "resourceGroup": "privatelink",
        71 "resourceNavigationLinks": null,
        72 "routeTable": null,
        73 "serviceAssociationLinks": null,
        74 "serviceEndpointPolicies": null,
        75 "serviceEndpoints": null
        76 },
        77 "tags": null,
        78 "type": "Microsoft.Network/privateEndpoints"
        79}
      2. 运行 az network nic show --id {networkInterface.id}使用带有 networkInterfaces.id字段值的Azure CLI命令来检索ipConfigurations.privateIPAddress用于私有端点网络接口。此字段的值为您的 Private Endpoint IP Address。输入和输出应如下所示。请注意 Private Endpoint IP Address字段的突出显示值。

        1az network nic show --id /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000
        1{
        2 "dnsSettings": {
        3 "appliedDnsServers": [],
        4 "dnsServers": [],
        5 "internalDnsNameLabel": null,
        6 "internalDomainNameSuffix": "<>.cx.internal.cloudapp.net",
        7 "internalFqdn": null
        8 },
        9 "dscpConfiguration": null,
        10 "enableAcceleratedNetworking": false,
        11 "enableIpForwarding": false,
        12 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        13 "hostedWorkloads": [],
        14 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000",
        15 "ipConfigurations": [
        16 {
        17 "applicationGatewayBackendAddressPools": null,
        18 "applicationSecurityGroups": null,
        19 "etag": "W/\"00000000-0000-0000-0000-000000000000\"",
        20 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/networkInterfaces/privatelink.nic.00000000-0000-0000-0000-000000000000/ipConfigurations/privateEndpointIpConfig",
        21 "loadBalancerBackendAddressPools": null,
        22 "loadBalancerInboundNatRules": null,
        23 "name": "privateEndpointIpConfig",
        24 "primary": true,
        25 "privateIpAddress": "10.0.0.4",
        26 "privateIpAddressVersion": "IPv4",
        27 "privateIpAllocationMethod": "Dynamic",
        28 "privateLinkConnectionProperties": {
        29 "fqdns": [],
        30 "groupId": "",
        31 "requiredMemberName": ""
        32 },
        33 "provisioningState": "Succeeded",
        34 "publicIpAddress": null,
        35 "resourceGroup": "privatelink",
        36 "subnet": {
        37 "addressPrefix": null,
        38 "addressPrefixes": null,
        39 "delegations": null,
        40 "etag": null,
        41 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/virtualNetworks/privatelink/subnets/privatelink",
        42 "ipAllocations": null,
        43 "ipConfigurationProfiles": null,
        44 "ipConfigurations": null,
        45 "name": null,
        46 "natGateway": null,
        47 "networkSecurityGroup": null,
        48 "privateEndpointNetworkPolicies": null,
        49 "privateEndpoints": null,
        50 "privateLinkServiceNetworkPolicies": null,
        51 "provisioningState": null,
        52 "purpose": null,
        53 "resourceGroup": "privatelink",
        54 "resourceNavigationLinks": null,
        55 "routeTable": null,
        56 "serviceAssociationLinks": null,
        57 "serviceEndpointPolicies": null,
        58 "serviceEndpoints": null
        59 },
        60 "type": "Microsoft.Network/networkInterfaces/ipConfigurations",
        61 "virtualNetworkTaps": null
        62 }
        63 ],
        64 "location": "eastus2",
        65 "macAddress": "",
        66 "name": "privatelink.nic.00000000-0000-0000-0000-000000000000",
        67 "networkSecurityGroup": null,
        68 "primary": null,
        69 "privateEndpoint": {
        70 "customDnsConfigs": null,
        71 "etag": null,
        72 "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/privatelink/providers/Microsoft.Network/privateEndpoints/privatelink",
        73 "location": null,
        74 "manualPrivateLinkServiceConnections": null,
        75 "name": null,
        76 "networkInterfaces": null,
        77 "privateLinkServiceConnections": null,
        78 "provisioningState": null,
        79 "resourceGroup": "privatelink",
        80 "subnet": null,
        81 "tags": null,
        82 "type": null
        83 },
        84 "provisioningState": "Succeeded",
        85 "resourceGroup": "privatelink",
        86 "resourceGuid": "00000000-0000-0000-0000-000000000000",
        87 "tags": null,
        88 "tapConfigurations": [],
        89 "type": "Microsoft.Network/networkInterfaces",
        90 "virtualMachine": null
        91}
  2. 输入端点的可选描述。

  3. 单击 Create(连接)。

6
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access

显示“数据库和网络访问”页面。

7

当所有资源均已配置且私有端点可用时,您可以使用 Azure Private Link 私有端点连接到 Atlas 集群。

要验证 Azure Private Link 私有端点是否可用,请执行以下操作:

Private Endpoint 页面上,选择集群类型并验证包含要使用Azure Private Link连接到的集群的地区的以下状态:

Atlas Endpoint Service Status

available

Endpoint Status

available

要了解有关可能状态值的更多信息,请参阅排除私有端点连接问题

如果看不到这些状态,请参阅排除私有端点连接问题了解更多信息。

要通过 Atlas CLI 在 Google Cloud 中设置 GCP 私有服务连接,请安装 Atlas CLI从 Atlas CLI 进行连接。然后完成以下步骤:

1
  1. 运行Atlas CLI命令以在Atlas中创建端口映射的私有端点。确保 --region 的值与部署集群的区域匹配:

    ./atlas privateEndpoints gcp create --region CENTRAL_US --portMappingEnabled

    注意

    如果您没有显式设立--portMappingEnabled 标志,则创建私有端点时不会进行端口映射。

    如果您拥有多区域或多云集群,但未启用区域化私有端点,则必须为每个提供程序和区域配置一个端点。

  2. 请注意响应中私有端点的 ID。在此示例中,ID 为 6344ac8f51b94c6356527881

    Private endpoint '6344ac8f51b94c6356527881' created.
2

重要提示: Atlas可能需要一些时间来预配私有端点。等待 1-2 分钟,然后再完成此步骤。

运行 Atlas CLI 命令,使用相应的 ID 来描述私有终结点:

atlas privateEndpoints gcp describe <privateEndpointId> [options]

要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas privateEndpoints gcp describe。

以下是输出示例:

ID GROUP NAME REGION STATUS PORT MAPPING ENABLED ERROR
69948cba1faa593416bbbd7d N/A CENTRAL_US AVAILABLE true <nil>

如果 STATUS 值为 INITIATING,请再等待 1-2 分钟,以便 Atlas 配置私有端点。然后再次尝试这一步骤。

3

运行以下命令,分配IP解决并创建私有端点,并将以下占位符替换为您的值:

占位符
说明

{GCP-PROJECT-ID}

用于在 Google Cloud 中标识您的 Google Cloud 项目的唯一字符串。

{ATLAS-GCP-PROJECT-ID}

用于标识 Atlas 在其中部署资源的 Google Cloud 项目的唯一字符串。

{ENDPOINT}

标识私有终结点的唯一字符串。

{REGION}

您集群所在的 Google Cloud 区域。

{SUBNET}

创建 Private Service Connect 终结点时,您需要在 VPC 网络中指定一个子网;您可以创建一个新的子网来封装终结点,也可以使用现有的子网。

{VPC-NAME}

要用于连接到 Atlas 的 VNet 的名称。您可以在 Google Cloud 信息中心的 VPC 网络页面上找到此值。

{GROUP-ID}

唯一的 24 个字符的十六进制字符串,用于在 Atlas 中标识您的项目。

gcloud config set project {GCP-PROJECT-ID}
gcloud compute addresses create {ENDPOINT}-ip --region={REGION} --subnet={SUBNET}
gcloud compute forwarding-rules create {ENDPOINT} --region={REGION} --network={VPC-NAME} --address={ENDPOINT}-ip --target-service-attachment=projects/{ATLAS-GCP-PROJECT-ID}/regions/{REGION}/serviceAttachments/sa-{REGION}-{GROUP-ID}
4
  1. 运行 Atlas CLI 命令,使用 Atlas 端点 ID 和 VPC 端点 ID 在 Atlas 中创建接口端点。在本示例中,您需要设置以下参数:

    Parameter
    类型
    示例值

    endpointGroupId

    Argument

    tester-1

    endpointServiceId

    选项

    6344ac8f51b94c6356527881

    gcpProjectId

    选项

    atlascli-private-endpoints

    endpoint

    选项

    tester-1@10.142.0.1

    如果为后端私有端点服务启用了 Google Cloud PSC 端口映射,则此参数的大小应仅为 1。

    要使用Atlas CLI为 Google Cloud 私有端点添加新接口,运行以下命令:

    atlas privateEndpoints gcp interfaces create <endpointGroupId> [options]

    要了解有关命令语法和参数的更多信息,请参阅 Atlas CLI 文档中的 atlas privateEndpoints gcp interfaces create 部分。

5

Atlas 完成所有资源配置且私有端点可用后,您可以使用 GCP Private Service Connect 私有端点连接到集群。

要验证 Google Cloud 私有端点是否可用,请执行以下操作:

  1. 运行 Atlas CLI 命令,使用接口端点的 ID 来描述此接口端点。在此示例中,您将使用上一步中的以下参数:

    Parameter
    类型
    示例值

    id

    Argument

    tester-1

    endpointServiceId

    选项

    6344ac8f51b94c6356527881

    返回您指定的Google Cloud Platform私有端点接口。 使用Atlas CLI,运行以下命令:

    atlas privateEndpoints gcp interfaces describe <id> [options]

    要学习;了解有关命令语法和参数的更多信息,请参阅Atlas CLI AtlasprivateEndpointsGCP 接口描述 的 文档。

  2. 验证 STATUS 字段的值是否为 AVAILABLE,如以下示例所示:

    ENDPOINT STATUS DELETE REQUESTED
    tester-1 AVAILABLE false

    如果 STATUS 值为 VERIFIED,请再等待 1-2 分钟,以便 Atlas 使您的私有端点可用。

要通过 Atlas UI 在 Google Cloud 中设置 GCP Private Service Connect:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access

显示“数据库和网络访问”页面。

2
  1. 在侧边栏中,单击 Private Endpoint

  2. 单击 Create Endpoint Service(连接)。

  3. 单击 Google Cloud 徽标,选择您的云提供商。

  4. Atlas Region 列表中,选择要在其中创建私有终结点的区域。

  5. 单击 Create Endpoint Service(连接)。

    重要提示:如果您的组织没有存储付款信息, Atlas会提示您在继续之前添加信息。

3

警告:为避免连接中断,您必须指定正确的信息。我们建议您不要跳过此步骤中的命令和子步骤。

  1. 输入有关您的 Google Cloud VPC 的以下详细信息:

    Google Cloud Project ID

    您项目的唯一 ID。在 Google Cloud 平台的Dashboard页面上找到此值。

    VPC Name

    要用于连接到 Atlas 的 VPC 的名称。在 Google Cloud 仪表盘的 VPC Networks 页面上查找此值。

    Subnet Name

    您的 Google Cloud VPC 中子网的名称。在 Google Cloud 仪表盘的 VPC Networks 页面上查找此值。

    Private Service Connect Endpoint Name

    私有端点的唯一名称。此名称用于标识 Google Cloud Platform 上的终结点。

  2. 运行提供的 Google Cloud 命令 在您的 VPC 中保留 IP 地址。私有端点使用这个单一IP解决连接到Atlas。

  3. 单击 Next(连接)。

  4. 单击 Create Private Endpoint(连接)。

  5. 根据提示输入您在 Google Cloud VPC 中保留的 IP 地址。

  6. 运行提供的 Google Cloud 命令,在VPC中创建所需的转发规则。

  7. 单击 Done(连接)。

4
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含项目的组织。

  2. 如果尚未显示,请从导航栏的 Projects 菜单中选择您的项目。

  3. 在侧边栏中,单击 Security 标题下的 Database & Network Access

显示“数据库和网络访问”页面。

5

当所有资源均已配置且私有端点可用时,您可以使用 GCP Private Service Connect 私有端点连接到 Atlas 集群。

要验证 GCP Private Service Connect 私有端点是否可用:

Private Endpoint 页面上,验证包含要使用GCP Private Service Connect 连接到的集群的地区的以下状态:

Atlas Endpoint Service Status

available

Endpoint Status

available

要了解有关可能状态值的更多信息,请参阅排除私有端点连接问题

如果看不到这些状态,请参阅排除私有端点连接问题了解更多信息。

后退

Overview

获得技能徽章

免费掌握“网络安全: Atlas”!

了解详情

在此页面上