保留外部 IP 地址
外部 IP 地址允许从互联网到工作负载虚拟机 (VM) 实例、设备或在私有云中运行的负载均衡器的入站连接。例如,如果您在工作负载虚拟机上运行网络服务器,则可以通过互联网使用外部 IP 地址传送 Web 流量。
进出外部 IP 地址的流量遵循外部访问防火墙规则。
为资源分配外部 IP 地址还具有以下优势:
- 分布式拒绝服务 (DDoS) 攻击防护。系统会自动为外部 IP 地址启用此保护。
- 始终开启流量监控,并实时缓解常见的网络等级攻击。
- 在整个网络范围内保护和缓解攻击。该网络可用于跨区域分配和缓解攻击流量。
行为
一个外部 IP 地址只能分配给一个内部 IP 地址,并且该外部 IP 地址将专用于内部 IP 地址,除非您取消分配该地址。与外部 IP 地址关联的资源始终使用外部 IP 地址进行互联网访问。您最多可以为连接到 VMware Engine 的主要 VPC 网络预留 100 个外部 IP 地址。
默认情况下,来自外部 IP 地址的传入流量会被拒绝,并且仅允许出站互联网访问。如需允许入站流量,请为特定端口的外部 IP 地址创建外部访问规则。
- 您只能为 vCenter 和 NSX-T 的端口 443 分配规则。
- 虽然这并非必需,但我们强烈建议您为 HCX 也打开端口 443。
准备工作
您必须先在应用于私有云的区域中创建网络政策,然后才能为工作负载虚拟机分配外部 IP 地址,并启用互联网访问服务和外部 IP 地址服务。
保留外部 IP 地址
如需使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 为内部工作负载虚拟机或管理设备预留外部 IP 地址,请执行以下操作:
控制台
如需使用 Google Cloud 控制台为内部工作负载虚拟机或管理设备预留外部 IP 地址,请完成以下步骤:
在 Google Cloud 控制台中,转到外部 IP 地址页面。
点击选择项目,然后选择要预留外部 IP 地址的组织、文件夹或项目。
点击预留。
在名称字段中,输入用于标识外部 IP 地址的名称。
在私有云列表中,选择包含工作负载虚拟机或管理设备的私有云。
在目标工作负载或设备虚拟机字段中,输入要为其分配此外部 IP 地址的内部 IP 地址。
点击预留。新预留的外部 IP 地址会显示在外部 IP 地址列表中。
gcloud
如需为内部工作负载虚拟机或管理设备预留外部 IP 地址,请使用 gcloud vmware private-clouds external-addresses create
命令:
gcloud vmware private-clouds external-addresses create EXTERNAL_ADDRESS_NAME \ --internal-ip=IP_ADDRESS \ --private-cloud=PRIVATE_CLOUD_ID \ --location=ZONE
替换以下内容:
EXTERNAL_ADDRESS_NAME
:此外部 IP 地址的名称IP_ADDRESS
:此请求对应的内部 IP 地址,例如192.168.1.11
PRIVATE_CLOUD_ID
:此私有云的名称ZONE
:此请求对应的区域
API
如需使用 VMware Engine API 为内部工作负载虚拟机或管理设备预留外部 IP 地址,请发出 POST
请求:
POST "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/externalAddresses?EXTERNAL_ADDRESS_NAME=EXTERNAL_ADDRESS_NAME"'{ "internal_ip": "IP_ADDRESS" }'
替换以下内容:
PROJECT_ID
:此请求的项目ZONE
:此请求对应的区域PRIVATE_CLOUD_ID
:此私有云的名称EXTERNAL_ADDRESS_NAME
:此外部 IP 地址的名称IP_ADDRESS
:此请求对应的内部 IP 地址,例如192.168.1.11
列出外部 IP 地址
如需使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 查看所有外部 IP 地址的列表,请执行以下操作:
控制台
如需查看所有外部 IP 地址的列表,请前往外部 IP 地址页面,点击选择项目,然后选择要列出外部 IP 地址的组织、文件夹或项目。
gcloud
如需列出所有外部 IP 地址,请使用 gcloud vmware private-clouds external-addresses list
命令:
gcloud vmware private-clouds external-addresses list \ --private-cloud=PRIVATE_CLOUD_ID \ --location=ZONE
替换以下内容:
PRIVATE_CLOUD_ID
:此私有云的名称ZONE
:此请求对应的区域
API
如需使用 VMware Engine API 列出所有外部 IP 地址,请发出 GET
请求:
GET "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/externalAddresses"
替换以下内容:
PROJECT_ID
:此请求的项目ZONE
:此请求对应的区域PRIVATE_CLOUD_ID
:此私有云的名称
修改外部地址
您只能修改与现有外部 IP 资源关联的说明和内部 IP。您无法更改任何其他属性。
控制台
如需修改 IP 地址,请执行以下操作:
在 Google Cloud 控制台中,转到外部 IP 地址页面。
点击选择项目,然后选择包含您要修改的外部 IP 地址的组织、文件夹或项目。
点击行末的更多
图标,然后选择修改。
gcloud
如果您要修改外部 IP 地址,请使用 gcloud vmware private-clouds external-addresses update
命令:
gcloud vmware private-clouds external-addresses update EXTERNAL_ADDRESS_NAME \ --internal-ip=IP_ADDRESS
API
如需使用 VMware Engine API 修改外部地址,请发出 PATCH
请求:
PATCH "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/externalAddresses/EXTERNAL_ADDRESS_NAME?update_mask=internal_ip" '{ "internal_ip": "IP_ADDRESS" }'
替换以下内容:
PROJECT_ID
:此请求的项目ZONE
:此请求对应的区域PRIVATE_CLOUD_ID
:此私有云的名称EXTERNAL_ADDRESS_NAME
:此请求的外部 IP 地址的名称IP_ADDRESS
:此请求的 IP 地址,例如192.168.1.11
删除外部地址
如需使用 Google Cloud 控制台、Google Cloud CLI 或 VMware Engine API 删除外部地址,请执行以下操作:
控制台
如需使用 Google Cloud 控制台删除外部地址,请执行以下操作:
在 Google Cloud 控制台中,转到外部 IP 地址页面。
点击选择项目,然后选择包含要删除的外部 IP 地址的组织、文件夹或项目。
点击行末的删除
图标,然后选择删除。
gcloud
如需使用 Google Cloud 控制台删除外部地址,请使用 gcloud vmware private-clouds external-addresses delete
命令:
gcloud vmware private-clouds external-addresses delete EXTERNAL_ADDRESS_NAME \ --private-cloud=PRIVATE_CLOUD_ID \ --location=ZONE
替换以下内容:
EXTERNAL_ADDRESS_NAME
:此请求的外部 IP 地址 IDPRIVATE_CLOUD_ID
:此私有云的名称ZONE
:此请求对应的区域
API
如需使用 VMware Engine API 删除外部地址,请发出 DELETE
请求:
DELETE "https://vmwareengine.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/privateClouds/PRIVATE_CLOUD_ID/externalAddresses/EXTERNAL_IP_ADDRESS"
替换以下内容:
PROJECT_ID
:此请求的项目ZONE
:此请求对应的区域PRIVATE_CLOUD_ID
:此私有云的名称EXTERNAL_ADDRESS_NAME
:此请求的外部 IP 地址的名称
出站流量配置
系统允许外部 IP 地址的出站流量。在 NSX Manager 中设置规则来控制此流量。