创建公共网关

您可以创建公共网关并将其连接到特定虚拟私有云 (VPC) 子网和虚拟服务器实例。 开始之前,请确保查看 关于公共网关 中列出的用例。

准备工作

在创建公共网关之前,必须满足以下先决条件:

  1. 请确保至少存在一个 VPC 和子网。 有关更多信息,请参阅 创建 VPC 和子网
  2. 将任何浮动 IP 地址附加到虚拟服务器实例 (可选)。 有关更多信息,请参阅 保留浮动 IP 地址

将浮动 IP 地址连接到虚拟服务器实例将允许与该特定实例进行通信,而与子网是否连接到公共网关无关。

一个 VPC 中每个区域仅允许有一个公共网关,但一个公共网关可以连接到该区域内的多个子网。

在控制台中创建公共网关

要使用 IBM Cloud 控制台创建公共网关,请执行以下步骤:

  1. 转至 IBM Cloud 控制台 并登录到您的帐户。

  2. 选择导航菜单 菜单图标,然后单击基础架构 VPC 图标 > 网络 > 公共网关。 将显示“VPC 的公共网关”页面。

  3. 单击 创建 以转至“创建公共网关”页面。

  4. 选择 编辑位置 图标 "编辑位置" 图标,然后输入以下字段的值:

    • 地理位置-选择公共网关的大陆。
    • 区域-为公共网关选择区域。
    • 区域-选择公共网关的区域。
  5. 请在“详细信息”下的以下字段中输入值:

    • 公共网关名称-输入公共网关的唯一名称。

    • 资源组-选择公共网关收集器的资源组。 您可以使用此公共网关的默认组,或从列表中选择(如果已定义)。 有关更多信息,请参阅在资源组中组织资源的最佳实践

      资源配置完成后,您将无法更改资源组。

    • VPC- 选择一个 VPC。 您可以对此公共网关使用缺省 VPC,或者从列表中进行选择 (如果已定义)。 如需了解更多信息,请参阅 《 虚拟私有云入门指南 》。

    • 标记-(可选) 添加用户标记。 用户标记在帐户范围内可见。 有关更多信息,请参阅使用标记

    • 访问管理标记-(可选) 添加访问管理标记以帮助组织访问控制关系。 有关更多信息,请参阅 使用标记控制对资源的访问

  6. 复制 样本 API 调用 (可选)。

  7. 单击创建

  8. 如果您没有付费帐户,那么可能会显示 升级帐户 而不是 创建。 如果显示此选项,请单击以在创建公共网关之前将您的帐户更新为付费帐户。 有关更多信息,请参阅升级帐户

从 CLI 创建公共网关

如果要允许所有连接的资源与公用因特网进行通信,请将公共网关连接到子网。

要创建公共网关,请运行以下命令:

ibmcloud is public-gateway-create my-gateway $vpc us-south-3

将返回的输出中的标识保存在变量中,以便稍后可以使用,例如:

gateway="0738-446c0c63-f0b1-4043-b30d-644f55fde391"

要将公共网关连接到子网,请运行以下命令:

ibmcloud is subnet-update $subnet --public-gateway-id $gateway

在 VPC 中,每个专区只允许有一个公共网关,但该公共网关可以连接到所在专区中的多个子网。 要查找某个区域的公共网关,请运行 ibmcloud is public-gateways 命令,并查找相应的VPC和区域值。

使用 API 创建公共网关

如果要允许所有连接的资源与公用因特网进行通信,请将公共网关连接到子网。

为专区创建公共网关:

curl -X POST "$vpc_api_endpoint/v1/public_gateways?version=$api_version&generation=2" \
  -H "Authorization:$iam_token" \
  -d '{
        "name": "my-gateway",
        "zone": { "name": "us-south-2" },
        "vpc": { "id": "'$vpc'" }
      }'

将公共网关的标识保存在变量中。

gateway="0738-ad0cded3-53a3-4d4a-9809-8c59b50d2b80"

将公共网关连接到子网。

curl -X PUT "$vpc_api_endpoint/v1/subnets/$subnet/public_gateway?version=$api_version&generation=2" \
  -H "Authorization:$iam_token" \
  -d '{
        "id": "'$gateway'"
      }'

在 VPC 中,每个专区只允许有一个公共网关,但该公共网关可以连接到所在专区中的多个子网。 要查找某个区域的公共网关,请运行 ibmcloud is public-gateways 命令,并查找相应的VPC和区域值。

然后,您可以通过运行以下命令来检索和查看连接到子网的公共网关。

curl -X GET "$vpc_api_endpoint/v1/subnets/$subnet/public_gateway?version=$api_version&generation=2" \
  -H "Authorization: Bearer $iam_token"

后续步骤