调用CreateSnatEntry接口在SNAT列表中添加SNAT条目。
使用说明
本接口可以为增强型公网NAT网关和VPC NAT网关添加SNAT条目,文中出现的NAT网关不做具体的区分。
调用本接口添加SNAT条目时,请了解以下内容:
- CreateSnatEntry接口属于异步接口,即系统会先返回一个SNAT条目ID,但该SNAT条目并未添加完成,系统后台的添加任务仍在进行。您可以调用DescribeSnatTableEntries查询SNAT条目的状态:
- 当SNAT条目处于Pending状态时,表示SNAT条目正在添加中,在该状态下,您只能执行查询操作,不能执行其他操作。
- 当SNAT条目处于Available状态时,表示SNAT条目添加完成。
- CreateSnatEntry接口在同一个NAT网关内不支持并发添加SNAT条目。
- SNAT条目中指定的交换机和ECS实例必须在NAT网关所属的VPC内。
- 每个交换机和ECS实例只能属于一个SNAT条目。
- 如果交换机中存在高可用虚拟IP实例,则无法添加SNAT条目。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateSnatEntry |
系统规定参数。取值:CreateSnatEntry。 |
RegionId | String | 是 | cn-hangzhou |
NAT网关所在的地域ID。 您可以通过调用DescribeRegions接口获取地域ID。 |
SnatTableId | String | 是 | stb-bp190wu8io1vgev**** |
SNAT表的ID。 |
SourceVSwitchId | String | 否 | vsw-bp1nhx2s9ui5o**** |
交换机的ID。
|
SourceCIDR | String | 否 | 10.1.1.0/24 |
输入VPC、交换机或ECS实例的网段,还可以输入任意网段。 SNAT条目有以下几种粒度:
当为公网NAT网关添加SNAT条目时,如果SnatIp仅指定了一个公网IP,ECS实例使用指定的公网IP访问互联网; 如果SnatIp指定了多个公网IP,ECS实例随机使用SnatIp中的公网IP访问互联网。 此参数和SourceVSwtichId参数互斥,不能同时配置。如果指定了SourceVSwitchId,则不能指定SourceCIDR参数。如果指定了SourceCIDR参数,则不能指定SourceVSwitchId参数。 |
SnatIp | String | 是 | 47.98.XX.XX |
说明 指定多个EIP配置SNAT IP地址池时,业务连接会通过哈希算法分配到多个EIP,由于每个连接的流量不同,可能会出现多EIP业务流量不均匀的情况,建议您将每个EIP都加入到同一个共享带宽中以避免单EIP带宽达到上限导致业务受损。
|
SnatEntryName | String | 否 | SnatEntry-1 |
SNAT条目的名称。 长度为2~128个字符,必须以大小写字母或中文开头,但不能以 |
ClientToken | String | 否 | 02fb3da4-130e-11e9-8e44**** |
客户端Token,用于保证请求的幂等性。 从您的客户端生成一个参数值,确保不同请求间该参数值唯一。 说明 若您未指定,则系统自动使用API请求的Requestld作为ClientToken标识。每次API请求的Requestld可能不一样。
|
EipAffinity | Integer | 否 | 1 |
是否打开EIP亲和性,取值:
说明 打开EIP亲和性开关后,如果SNAT绑定多个EIP,同一个客户端将使用相同的EIP访问公网,否则客户端将从绑定的EIP中随机选取EIP访问公网。
|
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
SnatEntryId | String | snat-kmd6nv8fy**** |
SNAT条目ID。 |
RequestId | String | 2315DEB7-5E92-423A-91F7-4C1EC9AD97C3 |
请求ID。 |
示例
请求示例
http(s)://[Endpoint]/?Action=CreateSnatEntry
&RegionId=cn-hangzhou
&SnatTableId=stb-bp190wu8io1vgev****
&SourceVSwitchId=vsw-bp1nhx2s9ui5o****
&SourceCIDR=10.1.1.0/24
&SnatIp=47.98.XX.XX
&SnatEntryName=SnatEntry-1
&ClientToken=02fb3da4-130e-11e9-8e44****
&EipAffinity=1
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateSnatEntryResponse>
<SnatEntryId>snat-kmd6nv8fy****</SnatEntryId>
<RequestId>2315DEB7-5E92-423A-91F7-4C1EC9AD97C3</RequestId>
</CreateSnatEntryResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"SnatEntryId" : "snat-kmd6nv8fy****",
"RequestId" : "2315DEB7-5E92-423A-91F7-4C1EC9AD97C3"
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | Forbidden.SourceVSwitchId.IncludeHaVip | There is some HaVips under specified VSwitch | 该交换机下有关联的HaVip。 |
400 | InvalidSnatIp.Malformed | The specified SnatIp is not a valid IP address. | 该公网IP不合法。 |
400 | SNAT_IP_POOL_COUNT_TOO_MANY | The Snat pool ip too many. | SNAT IP池的IP达到配额。 |
400 | Forbidden.SnatEntryCountLimited | SNAT entry in the specified SNAT table reach it?s limit. | SNAT条目数量已达到配额。 |
400 | NOT_ALLOW_USE_SOURCECIDR | The User not in nat_scope_unlimited white list. Cannot use SourceCidr param. | 内网IP超出VPC网段范围。 |
400 | INVALID_PARAMETER | The parameter invalid. | 参数不合法。 |
400 | Forbidden.SourceVSwitchId.Duplicated | The specified SourceCIDRis duplicated. | 该交换机已配置了 SNAT 规则,请您不要重复设置。 |
400 | Forbidden.IpUsedInForwardTable | The specified SnatIp already used in forward table | 该公网IP已经被DNAT使用,请更换其他公网IP地址或将当前公网IP的DNAT规则删除。 |
400 | Forbindden | The specified Instance already bind eip | 该实例已经绑定了 EIP,请将 ECS 实例与 EIP 解绑后再添加该端口转发规则。 |
400 | OperationUnsupported.CidrConflict | The specified CIDR block conflicts with an existing SNAT entry. | 您指定的CIDR的网段与已有的SNAT条目冲突。 |
400 | InvalidParameter.Name.Malformed | The specified Name is not valid. | 该名称不合法,请您按照正确的格式书写名称。 |
404 | InvalidRegionId.NotFound | The specified RegionId does not exist in our records. | 指定的RegionId不存在。 |
404 | InvalidSnatTableId.NotFound | Specified SNAT table does not exist. | 指定的 SNAT 表不存在,请您检查输入参数是否正确。 |
404 | InvalidVSwitchId.NotFound | The specified virtual switch does not exists. | 该交换机不存在,请您检查输入的交换机是否正确。 |
404 | InvalidSnatIp.NotFound | Specified SnatIp does not found on the NAT Gateway | 该公网IP不在NAT网关中。 |
访问错误中心查看更多错误码。