调整 NAT 配置
设置 NAT 网关配置(Public NAT 或 Private NAT)后,您可以根据要求修改配置。本页面列出了调整 NAT 配置时需要执行的任务。
查看端口用量
在修改每个虚拟机的端口用量下限之前,请查看每个虚拟机的端口用量。您可以使用 compute.googleapis.com/nat/port_usage
指标来获取此信息。
在 Google Cloud 控制台中,转到 Monitoring 页面。
在导航窗格中,选择 Metrics Explorer
。
展开选择指标菜单,然后使用子菜单选择
compute.googleapis.com/nat/port_usage
指标:- 对于资源,请选择虚拟机实例。
- 对于指标类别,请选择 NAT。
- 对于指标,选择端口用量。
点击应用。
如需选择 NAT 网关,请使用过滤条件字段。
在分组依据部分中,对于标签,选择 instance_id。
在分组函数列表中,选择最大值。
展开更多选项,然后将 Aligner 字段设置为 max。
如需查看过去 30 天的用量,请指定
30d
。
如需详细了解如何使用 Metrics Explorer,请参阅使用 Metrics Explorer 时选择指标。
选择每个虚拟机的端口数下限
选择适当的端口数下限有很重要,这可帮助您最大限度地提高 NAT IP 地址用量。
在增加每个虚拟机的端口数之前,请考虑其他减少端口用量的策略。
如果您需要增加每个虚拟机的端口数,请先考虑网关中每个虚拟机的端口用量。如需了解如何查找此数据,请参阅查看端口用量。
查看过去 30 天或您认为代表 NAT 网关的其他时间段的端口用量上限。
执行下列其中一项操作:
如果您使用的是静态端口分配,请配置每个虚拟机的端口数,以使最小值等于当前的峰值端口用量。
如果您使用的是动态端口分配,请配置每个虚拟机的端口数,使最小值低于峰值端口用量,且最大值高于峰值端口用量。
更改按与 NAT 关联的虚拟机分配的默认端口数下限
如需有关确定如何配置每个虚拟机的端口数下限的帮助,请参阅选择每个虚拟机的端口数下限。
如需了解更改端口数下限分配的结果,请参阅以下部分:
如果您的 Cloud NAT 网关已配置动态端口分配,请参阅配置动态端口分配时更改最小或最大端口数。
控制台
在 Google Cloud 控制台中,转到 Cloud NAT 页面。
点击您的 NAT 网关。
点击
修改。点击高级配置。
修改每个虚拟机实例的端口数下限字段。
点击保存。
gcloud
此命令会使 NAT 配置中的其他字段保持不变。
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --min-ports-per-vm=128
替换以下内容:
NAT_CONFIG
:NAT 配置的名称。ROUTER_NAME
:您的 Cloud Router 路由器的名称。REGION
:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。
更改端口分配方法
在更新现有 NAT 网关上的端口分配类型之前,请确保 NAT 网关配置与该端口分配类型兼容。如果配置不兼容,则更改将会失败。
对于动态端口分配,请检查端点独立映射是否已停用。
检查每个虚拟机实例的端口数下限为 2 的幂,并且介于 32 和 32768 之间。
控制台
在 Google Cloud 控制台中,转到 Cloud NAT 页面。
点击您的 NAT 网关。
点击
修改。点击高级配置。
选择或取消选择启用动态端口分配。
如果需要,请调整每个虚拟机实例的端口数下限和每个虚拟机实例的端口数上限的值。
点击保存。
gcloud
此命令会使 NAT 配置中的其他字段保持不变。
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --enable-dynamic-port-allocation | --no-enable-dynamic-port-allocation \ [ --min-ports-per-vm=MIN_PORTS ] \ [ --max-ports-per-vm=MAX_PORTS ]
替换以下内容:
NAT_CONFIG
:NAT 配置的名称。ROUTER_NAME
:您的 Cloud Router 路由器的名称。REGION
:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。MIN_PORTS
:要为每个虚拟机分配的端口数下限。如果启用了动态端口分配,则MIN_PORTS
必须是2
的幂,并且可以介于32
和32768
之间。MAX_PORTS
:为每个虚拟机分配的端口数上限。MAX_PORTS
必须是2
的幂,并且可以介于64
和65536
之间。MAX_PORTS
必须大于MIN_PORTS
。默认值为65536
。
配置动态端口分配时更改最小或最大端口数
配置动态端口分配后,您可以更改每个虚拟机分配的端口数下限或上限。
如需有关确定如何配置每个虚拟机的端口数下限的帮助,请参阅选择每个虚拟机的端口数下限。
如需了解更改端口数下限分配的结果,请参阅以下部分:
控制台
在 Google Cloud 控制台中,转到 Cloud NAT 页面。
点击您的 NAT 网关。
点击
修改。点击高级配置。
调整每个虚拟机实例的端口数下限和每个虚拟机实例的端口数上限字段。
点击保存。
gcloud
此命令会使 NAT 配置中的其他字段保持不变。
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --min-ports-per-vm=MIN_PORTS \ --max-ports-per-vm=MAX_PORTS
替换以下内容:
NAT_CONFIG
:NAT 配置的名称。ROUTER_NAME
:您的 Cloud Router 路由器的名称。REGION
:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。MIN_PORTS
:要为每个虚拟机分配的端口数下限。如果启用了动态端口分配,则MIN_PORTS
必须是2
的幂,并且可以介于32
和32768
之间。MAX_PORTS
:为每个虚拟机分配的端口数上限。MAX_PORTS
必须是2
的幂,并且可以介于64
和65536
之间。MAX_PORTS
必须大于MIN_PORTS
。
更改与 NAT 关联的连接超时
如需详细了解超时,请参阅 NAT 超时。
控制台
在 Google Cloud 控制台中,转到 Cloud NAT 页面。
点击您的 NAT 网关。
点击
修改。点击高级配置。
修改您要更改的所有超时值。
点击保存。
gcloud
使用以下命令更改这些超时:
- UDP 映射空闲超时
- TCP 已建立的连接空闲超时
- TCP 临时连接空闲超时
- TCP TIME_WAIT 超时
ICMP 映射空闲超时
此命令会使 NAT 配置中的其他字段保持不变。
以下 Google Cloud CLI 命令会更改 UDP 映射空闲超时值。 您可以使用此命令来酌情设置剩余的超时值。
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --udp-idle-timeout=VALUE
替换以下内容:
NAT_CONFIG
:NAT 配置的名称。ROUTER_NAME
:您的 Cloud Router 路由器的名称。REGION
:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。VALUE
:超时值(以秒为单位)
将与 NAT 关联的连接超时重置为默认值
如需详细了解超时,请参阅 NAT 超时。
控制台
在 Google Cloud 控制台中,转到 Cloud NAT 页面。
点击您的 NAT 网关。
点击
修改。点击高级配置。
移除您要重置的任何用户配置的值。
点击保存。
已移除的值会重置为默认值。
gcloud
此命令会使 NAT 配置中的其他字段保持不变。
gcloud compute routers nats update NAT_CONFIG \ --router=ROUTER_NAME \ --region=REGION \ --clear-udp-idle-timeout \ --clear-icmp-idle-timeout \ --clear-tcp-established-idle-timeout \ --clear-tcp-time-wait-timeout \ --clear-tcp-transitory-idle-timeout
替换以下内容:
NAT_CONFIG
:您的 NAT 网关的名称。ROUTER_NAME
:您的 Cloud Router 路由器的名称。REGION
:要更新的 NAT 的区域。如果未指定,系统可能会提示您选择一个区域(仅限互动模式)。
后续步骤
- 为 Cloud NAT 配置日志记录和监控。
- 排查 NAT 配置的常见问题。