IBM Cloud Docs
通过专用连接向消费者公开服务

通过专用连接向消费者公开服务

本教程可能会发生成本。 使用“成本估算器”根据您的预计使用量生成成本估算。

本教程将指导您完成在提供者与一组使用者之间设置 Private Path service 的步骤。 通过 Private Path service,使用者可以通过 IBM 主干访问由提供者实施的应用程序或服务,而无需遍历因特网。

目标

  • 了解Private Path service 的基础知识。
  • 在一个帐户中部署应用程序,而不公开任何公共端点。
  • 使用 Private Path service公开应用程序。
  • 仅通过专用连接从使用者客户机访问应用程序。

建筑*
展示
Private Path service

  1. 提供者实现由分布在多个专区中的多个虚拟服务器支持的弹性应用程序。
  2. 提供程序将创建配置了指向虚拟服务器的后端池的 Private Path network load balancer (NLB),并使用循环法算法在服务器之间分配负载。
  3. Private Path service 引用 Private Path NLB 并指定使用者使用的服务端点。
  4. 使用者通过虚拟专用端点网关访问提供者应用程序。 所有流量保持为 IBM Cloud专用。

准备工作

本教程需要:

  • 一个 IBM Cloud 计费帐户,用于托管提供者和使用者资源。
  • 用于连接到教程中供应的虚拟服务器实例的 VPC SSH 密钥。

创建 VPC SSH 密钥

在配置虚拟服务器实例时,会向实例注入 SSH 密钥,以便以后可以连接到服务器。 此 SSH 密钥 必须位于要在其中部署教程资源的区域 中。

  1. 如果未在 IBM Cloud中配置 SSH 密钥,请参阅 这些指示信息 以创建 VPC 密钥。
  2. 记下用于 SSH 密钥的名称。

创建提供者资源和应用程序

在本教程中,您首先充当提供者并实现应用程序。 在第二阶段中,您将扮演使用者的角色并调用应用程序。 应用程序是一个简单的 nginx Web 服务器。

  1. 转至 Schematics 以创建新的工作空间。
  2. 指定模板 步骤中:
    1. repository URL 设置为 https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/provider
    2. 确保选中 使用完整存储库
    3. Terraform 版本 设置为 terraform_v1.5
    4. 单击下一步
  3. 工作空间详细信息 步骤中:
    1. 工作空间名称 设置为 pps-provider
    2. 选择要在其中创建工作空间的 资源组位置。 这不会影响为教程创建的资源。
    3. 单击下一步
  4. 单击创建

在工作空间 设置中的 变量下:

  1. 找到 "existing_ssh_key_name 变量。
    1. 使用菜单 (对其值进行 编辑 )。
    2. 将值设置为您在先前部分中创建的 SSH 密钥的名称或设置为现有 SSH 密钥。
    3. 节省
  2. (可选) 您还可以调整其他变量 (例如 regionbasename) 的值。

最后创建资源:

  1. 单击 应用计划
  2. 等待 Schematics 完成资源供应。

查看提供者资源和应用程序

对提供程序运行 Schematics 将创建以下资源:

  • 一个虚拟私有云 (VPC)、
  • 三个子网,每个专区一个,
  • 每个子网中至少有一个虚拟服务器实例,
  • 配置了包含所有虚拟服务器实例的后端池的 Private Path NLB,
  • 和 Private Path service。

架构* 提供商" caption-side="bottom"}的{: caption="*

  1. 浏览至 虚拟专用云子网虚拟服务器实例 以查看供应的资源。
  2. 负载均衡器 下找到 Private Path NLB。
  3. Private Path 服务 中,选择已创建的 Private Path service。
  4. 在 Private Path service 详细信息中,请注意 服务端点 设置为 vpc-pps.example.com。 请注意,如果在工作空间配置期间指定了定制 basename,那么可能有所不同。 这是使用者用于与应用程序交互的端点。
  5. 当您需要将此信息传递给使用者时,请记下 CRN。 使用者在创建虚拟专用端点网关时使用 CRN 来标识应用程序。

您的 Private Path service 几乎已准备好与使用者共享。 但是,在 发布 Private Path service 之前,建议测试它是否按预期工作。

创建使用者资源

要验证是否正确设置了 Private Path service,您将部署虚拟服务器以访问应用程序,就像 Private Path service 的任何使用者一样。

在 Private Path service 已发布 之前,只能在创建该的同一帐户中对其进行访问。 它提供了一个在与他人共享之前测试服务的好机会。 这是在此阶段,在与提供者应用程序相同的帐户中供应本教程的使用者端的原因。

  1. 转至 Schematics 以创建新的工作空间。
  2. 指定模板 步骤中:
    1. repository URL 设置为 https://github.com/IBM-Cloud/vpc-tutorials/tree/master/vpc-pps-basics/consumer
    2. 确保选中 使用完整存储库
    3. Terraform 版本 设置为 terraform_v1.5
    4. 单击下一步
  3. 工作空间详细信息 步骤中:
    1. 工作空间名称 设置为 pps-consumer
    2. 选择要在其中创建工作空间的 资源组位置。 这不会影响为教程创建的资源。
    3. 单击下一步
  4. 单击创建

在工作空间 设置变量 部分中:

  1. 找到 "existing_ssh_key_name 变量。
    1. 使用菜单 (对其值进行 编辑 )。
    2. 将值设置为用于本教程的 SSH 密钥的名称。
    3. 节省
  2. 找到 "provider_crn 变量
    1. 编辑 其值。
    2. 将值设置为先前获取的 Private Path service CRN。
    3. 节省
  3. (可选) 您还可以调整其他变量 (例如 regionbasename) 的值。region 应该与 pps-provider 工作空间中设置的值匹配。

最后创建资源:

  1. 单击 应用计划
  2. 等待 Schematics 完成资源供应。

查看使用者资源和应用程序

为使用者运行 Schematics 将创建以下资源:

  • 一个虚拟私有云 (VPC)、
  • 两个子网,
  • 每个子网中的一个虚拟服务器实例,
  • 一个使用 Private Path service CRN 配置的虚拟专用端点网关,并在每个子网中具有一个 IP 地址。

架构* 消费者" caption-side="bottom"}的{: caption="*

  1. 浏览至 虚拟服务器实例 以查看供应的实例。
  2. 转至 虚拟专用端点网关,并注意端点网关已标记为 暂挂

在此阶段,使用者尚未能够访问提供者应用程序。 它正在等待对 Private Path service 的连接请求进行复审并允许。

核准使用者请求

作为应用程序的提供者,

  1. 转至 Private Path 服务列表

  2. 请注意,您创建的 Private Path service 具有要复审的暂挂连接请求。

  3. 选择 Private Path service。

  4. 连接请求 表中,找到来自使用者的请求。

  5. 使用菜单 (对连接进行 许可 )。

    允许连接请求 对话框为您提供了用于创建 策略以自动允许来自同一帐户标识的所有请求 的选项。 立即使其处于未选中状态。 在未来,这可以加快使用者从该帐户请求连接的过程。

  6. 单击 许可

测试从使用者到提供者的连接

再次充当消费者,

  1. 转至 虚拟专用端点网关,并注意端点网关已移至 稳定

  2. 记下 服务端点。 除非在工作空间配置期间指定了定制 basename,否则它应该为 vpc-pps.example.com

  3. 浏览至 虚拟服务器实例,并找到分配给其中一个使用者实例的浮动 IP。 这些实例的名称类似于 vpc-pps-consumer-vsi-us-south-1vpc-pps-consumer-vsi-us-south-2

  4. 打开与其中一个实例的 SSH 连接。

    ssh root@<floating-ip>
    
  5. 通过调用服务端点来访问提供者应用程序。

    curl http://vpc-pps.example.com
    

    输出应如下所示:

    Hello world from vpc-pps-provider-vsi-us-south-2
    

    域名可能需要几分钟才能正确解析到虚拟服务器实例。

  6. 多次重复 curl 命令。 请注意,它如何在通过连接到 Private Path NLB后端池的所有虚拟服务器实例时显示不同的输出。

恭喜您,您的 Private Path service 正在按预期工作,准备发布以供其他人使用。

扩展教程

本教程重点介绍了 Private Path service 的基础知识,其中一个 VPC 中的提供者应用程序和另一个 VPC 中的使用者都在同一帐户中:

除去资源

要除去为此教程创建的资源,请执行以下操作:

  1. 转至 Schematics

    1. 选择 "pps-consumer 工作区。
    2. 操作 ... 中,选择 破坏资源
    3. 输入 pps-consumer,然后单击 销毁
    4. 等待 Schematics 完成作业。
    5. 完成后,从 操作 ... 菜单中选择 删除工作空间
    6. 输入 pps-consumer,然后单击 删除
  2. pps-provider 工作空间重复相同的步骤。

    如果由于无法删除资源组而导致工作空间删除失败,那么可能需要在几分钟后重试 破坏资源

根据资源的不同,可能不会立即将其删除,但会保留 (缺省情况下为 7 天)。 您可以通过永久删除该资源或在保留期内复原该资源来回收该资源。 请参阅本文档,以了解如何 使用资源回收