全部产品
Search
文档中心

NAT 网关:CreateSnatEntry - 在SNAT列表中添加SNAT条目

更新时间:Aug 27, 2026

调用CreateSnatEntry接口在SNAT列表中添加SNAT条目。

接口说明

本接口可以为增强型公网 NAT 网关和 VPC NAT 网关添加 SNAT 条目,文中出现的 NAT 网关不做具体的区分。

调用本接口添加 SNAT 条目时,请了解以下内容:

  • CreateSnatEntry 接口属于异步接口,即系统会先返回一个 SNAT 条目 ID,但该 SNAT 条目并未添加完成,系统后台的添加任务仍在进行。您可以调用 DescribeSnatTableEntries 查询 SNAT 条目的状态:

    • 当 SNAT 条目处于 Pending 状态时,表示 SNAT 条目正在添加中,在该状态下,您只能执行查询操作,不能执行其他操作。

    • 当 SNAT 条目处于 Available 状态时,表示 SNAT 条目添加完成。

  • SNAT 条目中指定的交换机和 ECS 实例必须在 NAT 网关所属的 VPC 内。

  • 每个交换机和 ECS 实例只能属于一个 SNAT 条目。

  • 如果交换机中存在高可用虚拟 IP 实例,则无法添加 SNAT 条目。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称

类型

必填

描述

示例值

RegionId

string

NAT 网关所在的地域 ID。

您可以通过调用 DescribeRegions 接口获取地域 ID。

枚举值:

  • ap-northeast-2-pop :

    ap-northeast-2-pop

cn-hangzhou

SnatTableId

string

SNAT 表的 ID。

stb-bp190wu8io1vgev****

SourceVSwitchId

string

交换机的 ID。

  • 当为公网 NAT 网关添加 SNAT 条目时,该参数表示该交换机内的 ECS 实例均可以通过 SNAT 规则访问公网。指定多个 EIP 配置 SNAT IP 地址池时,业务连接会通过哈希算法分配到多个 EIP,由于每个连接的流量不同,可能会出现多 EIP 业务流量不均匀的情况,建议您将每个 EIP 都加入到同一个共享带宽中以避免单 EIP 带宽达到上限导致业务受损。

  • 当为 VPC NAT 网关添加 SNAT 条目时,该参数表示该交换机内的 ECS 实例均可以通过 SNAT 规则访问外部网络。

说明

参数 SourceCIDR 和参数 SourceVSwtichId 必须输入一个且不能都输入。

vsw-bp1nhx2s9ui5o****

SourceCIDR

string

输入 VPC、交换机或 ECS 实例的网段,还可以输入任意网段。

SNAT 条目有以下几种粒度:

  • VPC 粒度:NAT 网关所在 VPC 的网段,该 VPC 下的所有 ECS 实例均可以通过 SNAT 规则访问互联网或者外部网络。

  • 交换机粒度:指定交换机的网段(如 192.168.1.0/24),该交换机下的 ECS 实例均可以通过 SNAT 规则访问互联网或者外部网络。

  • ECS 粒度:指定 ECS 实例的地址(如 192.168.1.1/32),该 ECS 实例可以通过 SNAT 规则访问互联网或者外部网络。

  • 输入任意网段,该网段下的所有 ECS 实例均可以通过 SNAT 服务访问互联网或者外部网络。

说明

参数 SourceCIDR 和参数 SourceVSwtichId 必须输入一个且不能都输入。

10.1.1.0/24

SnatIp

string

为公网 NAT 网关添加 SNAT 条目时 :

  • 参数 SnatIp 必填。

  • 该参数为 SNAT 条目中的 EIP,多个 EIP 之间用半角逗号(,)隔开。

  • 如果 SnatIp 仅指定了一个公网 IP,ECS 实例使用指定的公网 IP 访问互联网。

  • 如果 SnatIp 指定了多个公网 IP,ECS 实例随机使用 SnatIp 中的公网 IP 访问互联网。

说明

指定多个 EIP 配置 SNAT IP 地址池时,业务连接会通过哈希算法分配到多个 EIP,由于每个连接的流量不同,可能会出现多 EIP 业务流量不均匀的情况,建议您将每个 EIP 都加入到同一个共享带宽中以避免单 EIP 带宽达到上限导致业务受损。

为 VPC NAT 网关添加 SNAT 条目时:

  • 该参数为 SNAT 条目中的 NAT IP 地址,多个 NAT IP 地址之间用半角逗号(,)隔开。

  • 参数 SnatIp 和参数 NetworkInterfaceId 必须输入一个且不能都输入。

47.98.XX.XX

SnatEntryName

string

SNAT 条目的名称。

长度为 2~128 个字符,必须以大小写字母或中文开头,但不能以http://https://开头。

SnatEntry-1

ClientToken

string

客户端 Token,用于保证请求的幂等性。

从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持 ASCII 字符。

说明

若您未指定,则系统自动使用 API 请求的 Requestld 作为 ClientToken 标识。每次 API 请求的 Requestld 可能不一样。

02fb3da4-130e-11e9-8e44****

EipAffinity

integer

是否打开 IP 亲和性。取值:

  • 0(默认值):关闭 IP 亲和性。

  • 1:打开 IP 亲和性。

说明

打开 IP 亲和性开关后,如果 SNAT 条目绑定多个 EIP 或 NAT IP,同一个客户端访问同一目的 IP 时将使用相同的 EIP 或 NAT IP 进行访问,否则客户端将从绑定的 EIP 或 NAT IP 中随机选取进行访问。

1

NetworkInterfaceId

string

弹性网卡 ID。

说明

会将弹性网卡的 IPv4 地址集作为 SNAT 地址。

eni-gw8g131ef2dnbu3k****

DryRun

boolean

是否只预检此次请求,取值:

  • true:发送检查请求,不会创建 SNAT 条目。检查项包括 AccessKey 是否有效、RAM 用户的授权情况和是否填写了必需参数。如果检查不通过,则返回对应错误。如果检查通过,会返回错误码DryRunOperation

  • false(默认值):发送正常请求,通过检查后返回 2xx HTTP 状态码并创建 SNAT 条目。

false

返回参数

名称

类型

描述

示例值

object

SNAT 条目 ID。

SnatEntryId

string

SNAT 条目 ID。

snat-kmd6nv8fy****

RequestId

string

请求 ID。

2315DEB7-5E92-423A-91F7-4C1EC9AD****

示例

正常返回示例

JSON格式

{
  "SnatEntryId": "snat-kmd6nv8fy****",
  "RequestId": "2315DEB7-5E92-423A-91F7-4C1EC9AD****"
}

错误码

HTTP status code

错误码

错误信息

描述

400 UnsupportedFeature.PrivateLinkEnabled The feature of PrivateLinkEnabled is not supported.
400 InvalidSourceCIDR.Malformed SourceCIDR is illegal.
400 NOT_ALLOW_USE_SOURCECIDR_OUTSIDEVPC The User not in sourcecidr_unlimited_outsidevpc white list. Cannot use SourceCidr outside VpcCidr.
400 NOT_ALLOW_USE_SOURCECIDR_AUTODEFINE The User not in sourcecidr_unlimited_insidevpc white list. Cannot use SourceCidr auto defined.
400 NOT_ALLOW_USE_SOURCECIDR_CONTAINSZERO The User not in sourcecidr_unlimited_outsidevpc_containszero white list. Cannot use SourceCidr outside VpcCidr.
400 Forbidden.IpHasBeenUsedInDnat The snat ip can't be used. Because it has been used in dnat
400 Forbidden.SourceVSwitchId.IncludeHaVip There is some HaVips under specified VSwitch 该交换机下有关联的HaVip。
400 InvalidSnatIp.Malformed The specified SnatIp is not a valid IP address.
400 SNAT_IP_POOL_COUNT_TOO_MANY The Snat pool ip too many.
400 Forbidden.SnatEntryCountLimited SNAT entry in the specified SNAT table reach its limit. SNAT条目数量已达到配额。
400 NOT_ALLOW_USE_SOURCECIDR The User not in nat_scope_unlimited white list. Cannot use SourceCidr param.
400 INVALID_PARAMETER The parameter invalid.
400 Forbidden.SourceVSwitchId.Duplicated The specified SourceCIDRis duplicated.
400 Forbidden.IpUsedInForwardTable The specified SnatIp already used in forward table
400 Forbindden The specified Instance already bind eip
400 EIP_NOT_SUPPORT_SNAT_POOL The Eip cannot support snat pool
400 EIP_NOT_IN_GATEWAY The Eip not in nat gateway
400 OperationUnsupported.CidrConflict The specified CIDR block conflicts with an existing SNAT entry. 您指定的CIDR的网段与已有的SNAT条目冲突。
400 InvalidNatGatewayId.NotFound The NatGateway instance not exist.
400 InvalidParameter.Name.Malformed The specified Name is not valid.
400 InvalidParameter.SnatIp Ip semgment must be subnet cidr.
400 QuotaExceeded.SnatIp Public ip number exceeds quota.
400 OperationUnsupported.EipInBinding Create snat entry with eip in associating status is unsupported. 创建snat不可以使用绑定中的eip
400 OperationFailed.VSwitchNotInVpc The specified vswitch and natgateway are not in the same vpc.
400 QuotaExceeded.SnatEntry SNAT entry in the specified SNAT table reach it?s limit.
400 IncorrectStatus.NATGW NATGW status is invalid. NAT网关的状态不正确。
400 IncorrectStatus.VSwitch The specified vSwitch status is invalid. 虚拟交换机状态异常。
400 MissingParam.SnatIp The input parameter SnatIp that is mandatory for processing this request is not supplied. 为公网NAT或私网NAT创建Snat规则时需要指定SnatIp参数。
400 MissingParam.NetworkInterfaceId The input parameter NetworkInterfaceId that is mandatory for processing this request is not supplied. 为开启了私网链接服务的NAT创建Snat规则时需要指定NetworkInterfaceId参数。
400 ParamExclusive.SnatIpAndNetworkInterfaceId SnatIp and NetworkInterfaceId is mutually exclusive when create a snat entry for nat. 为NAT网关实例创建SNAT规则时,不能同时传入SnatIp参数和NetworkInterfaceId参数。
400 IllegalParam.NetworkInterfaceId The param of NetworkInterfaceId is illegal. NetworkInterfaceId参数不合法。
400 OperationUnsupported.EipNatBWPCheck The EIP is not associated with a NAT service plan. 当前EIP不属于NAT带宽包。
400 OperationUnsupported.EipNatGWCheck The operation failed because the EIP is not bound to this NAT Gateway. 操作失败, 因为EIP未绑定到此NAT Gateway.
400 OperationFailed.SnatIpPoolCbwpRules The operation failed because the SNAT rule IPs are added to multi bandwidth packages. 操作失败, 因为SNAT规则IP地址池被添加到多个带宽包.
400 IncorrectStatus.SnatEntry The SNAT rule status is invalid. Please try again later. SNAT规则处于中间态, 或状态异常. 请稍后重试.
400 IncorrectStatus.NatIp NatIp status is invalid, please try again later. NatIp处于中间态, 请稍后重试.
400 OperationUnsupported.EipNatIpCheck The operation failed because the EIP is not bound to this NAT gateway. 操作失败, 因为EIP未绑定此NAT网关.
400 OperationFailed.SnatIpPoolBwpRules The operation failed because the IP in Snat entryl was added to multiple NAT bandwidth packets. 操作失败, 因为Snat规则IP地址池中的IP被添加到多个NAT带宽包.
400 OperationFailed.SnatIpsCheck The operation fails because some IPs address in the SNAT entry are not added to common bandwidth packet. 操作失败, 因为Snat规则IP地址池中存在IP地址未添加共享带宽包.
500 DefaultValidate.Error validte fail.
500 OperationFailed.CrateSnatEntryTimeOut Operation failed because create snatEntry timeout.
404 InvalidRegionId.NotFound The specified RegionId does not exist in our records.
404 InvalidSnatTableId.NotFound Specified SNAT table does not exist.
404 InvalidVSwitchId.NotFound The specified virtual switch does not exists.
404 InvalidSnatIp.NotFound Specified SnatIp does not found on the NAT Gateway
404 ResourceNotFound.NatGateway The NatGateway instance not exist. 此nat网关不存在
404 ResourceNotFound.NatIp The NatIp instance not exist.
404 ResourceNotFound.VSwitch The specified resource of %s is not found. 指定的vSwitch不存在,请检查您的输入是否正确

访问错误中心查看更多错误码。

变更历史

更多信息,参考变更详情