You need to enable JavaScript to run this app.
导航
CreateSnatEntry
最近更新时间:2024.07.09 08:36:55首次发布时间:2021.12.28 08:28:52

调用 CreateSnatEntry 接口,创建一条SNAT规则。

调用说明

前提条件

  • NAT网关已绑定公网IP。 若NAT网关未绑定公网IP,您可调用 AssociateEipAddress 为NAT网关绑定公网IP。
  • 新创建SNAT规则对应的网段不能与已有SNAT规则对应的网段相同。

使用限制

  • 单个NAT网关默认最多可创建SNAT规则的数量为40条。若默认配额无法满足需求,请前往 配额中心 提升相应配额。

  • 当多条SNAT规则对应的网段有所重叠时,系统根据最长子网掩码原则匹配SNAT规则,即SNAT规则对应网段的子网掩码越长,优先级越高。如云服务器粒度的SNAT规则的子网掩码/32,长度最长,优先级最高。

  • 单条SNAT规则支持关联公网IP的数量上限为20个。

  • SNAT规则对应云服务器实例所在子网关联的路由表,均需要有指定的目标网段(推荐设置为0.0.0.0/0)、下一跳为目标NAT网关实例的自定义路由条目,SNAT规则才能生效。

  • 已绑定公网IP的云服务器实例配置了SNAT规则,访问公网时会优先使用公网IP。

调试

请求参数

参数名称
类型
是否必选
示例值
描述
ActionStringCreateSnatEntry要执行的操作,取值:CreateSnatEntry。
VersionString2020-04-01API的版本信息,当前版本为:2020-04-01。

NatGatewayId

String

ngw-1sm2t10buei****

SNAT规则所属的NAT网关ID。
您可以调用 DescribeNatGateways 接口,查询NAT网关的ID。

SnatEntryName

String

snat-01

SNAT规则的名称。

  • 长度限制为1 ~ 128个字符。
  • 需要以字母、中文或数字开头,可包含点号(.)、下划线(_)和短划线(-)。
  • 不填默认是SNAT规则的ID。

SubnetId

String

subnet-6o5smt1b9****

SNAT规则关联子网的ID。
您可以调用 DescribeSubnets 接口,查询子网的ID。

说明

SubnetIdSourceCidr 两个参数必须且只能传入一个。

SourceCidr

String

192.XX.XX.0/20

指定SNAT规则的网段。不同粒度对应不同的网段,具体说明如下:

  • 私有网络粒度:指定NAT网关所在私有网络的网段。私有网络内所有未绑定公网IP的云服务器实例支持通过SNAT规则访问公网。
  • 子网粒度:指定子网的网段(如192.XX.XX.0/24)。指定子网内所有未绑定公网IP的云服务器实例支持通过SNAT规则访问公网。
  • 云服务器粒度:指定云服务器的网段(如192.XX.XX.20/32)。指定的未绑定公网IP的云服务器实例支持通过SNAT规则访问公网。
  • 自定义网段粒度:指定自定义网段(如192.XX.XX.0/26),指定自定义网段内所有未绑定公网IP的云服务器实例支持通过SNAT规则访问公网。

说明

  • SubnetIdSourceCidr 两个参数必须且只能传入一个。
  • 指定的网段与已存在在的SNAT规则的网段不能重复。

EipId

String

eip-12af342dca34****,eip-12af342dca35****

公网NAT网关绑定公网IP的ID。多个公网IP的ID之间用英文逗号分隔。
您可以调用 DescribeEipAddresses 接口,查询公网IP的ID。

  • 传入单个IP,SNAT规则将关联该公网IP,业务连接均通过该公网IP访问公网。
  • 传入多个公网IP,SNAT规则将关联多个公网IP,业务连接通过对其五元组哈希算法后分配到的公网IP访问公网。

说明

  • NatGatewayId 传入公网NAT网关时,此参数必选。
  • 当SNAT规则关联多个公网IP时,建议将公网IP加入共享带宽包,避免业务因其中的单个公网IP带宽达到上限而导致流量丢包。

NatIpId

String

vpcnatip-gw8y7q3cpk3fggs8****

私网NAT网关的中转IP的ID。
不填默认传入默认中转IP。

返回数据

参数名称
类型
示例值
描述
RequestIdString2021062415303301022514515207C4****请求ID。
SnatEntryIdStringsnat-3fvhk47kf56****SNAT规则的ID。

请求示例

GET /?Action=CreateSnatEntry&Version=2020-04-01&NatGatewayId=ngw-2fedgzyvtzaio59gp675****&SnatEntryName=snat-01&SubnetId=subnet-2fe1vklp295a859gp6766****&EipId=eip-2feaac9wtccn459gp67**** HTTP/1.1
Host: open.volcengineapi.com
Service: natgateway
Region: cn-beijing

返回示例

{
    "ResponseMetadata": {
        "RequestId": "2021062415303301022514515207C4****",
        "Action": "CreateSnatEntry",
        "Version": "2020-04-01",
        "Service": "natgateway",
        "Region": "cn-beijing"
    },
    "Result":{
        "RequestId": "2021062415303301022514515207C4****",
        "SnatEntryId": "snat-2fedhzdlyknb459gp676o****"
    }
}

错误码

公共错误码,请参见 公共错误码 。

HttpCode
错误码
错误信息
描述
400InvalidEip.InstanceMismatchThe specified elastic ip and instance mismatch.指定的公网IP和实例不匹配。
400InvalidEip.InvalidStatusThe specified elastic ip is not in the correct status for the request. The specified elastic ip is in freeze.指定的公网IP或私有网络所处的状态无法响应该请求。当前公网IP被冻结。
400InvalidName.MalformedThe specified name is malformed.指定的名称格式不合法。请修复名称格式后重试。
400InvalidName.MalformedThe specified name is malformed.Ensure the maximum length of name is 128.指定的名称格式不合法。名称长度不能超过128个字符。
400InvalidNatGateway.InvalidStatusThe specified NAT gateway is not in the correct status for the request.指定的NAT网关所处的状态无法响应该请求。
400InvalidSnatEntry.ConflictThe specified source cidr or subnet conflicts with that of a SNAT entry in your NAT gateway.指定的网段或子网网段已经关联SNAT规则。
400InvalidSnatEntry.EipNotSupportedCan not create or modify SNAT entry with eip on the specified NAT gateway.不支持在指定的NAT网关上创建或修改使用EIP的SNAT规则。
400InvalidSnatEntry.NatIpConflictThe specified nat ip and eip conflict.指定的NAT IP和EIP参数冲突。
400InvalidSnatEntry.NatIpNotSupportedCan not create or modify SNAT entry with nat ip on the specified NAT gateway.不支持在指定的NAT网关上创建或修改使用NAT IP的SNAT规则。
400InvalidSnatEntry.VpcMismatchThe specified subnet is not in the NAT gateway's VPC.指定的子网不在NAT网关的VPC中。
400InvalidSourceCidr.MalformedThe specified source cidr is malformed.指定的网段格式不正确。
400LimitExceeded.EipsPerSnatEntryYou've reached the limit on the number of EIPs per snat entry.已达到每条SNAT规则支持关联公网IP的数量上限。
400QuotaExceeded.SnatEntrySNAT entries number of the NAT gateway exceeded quota.已达到一个NAT网关可创建SNAT规则的数量上限。
404InvalidEip.NotFoundThe specified EIP does not exist.指定的公网IP不存在。
404InvalidNatGateway.NotFoundThe specified NAT gateway does not exist.指定的NAT网关不存在。
404InvalidNatIp.NotFoundThe specified nat ip does not exist.指定的NAT IP不存在。
404InvalidSubnet.NotFoundThe specified subnet does not exist.指定的子网不存在。
404InvalidProject.NotFoundThe specified Project does not exist.指定的项目不存在。
409InvalidSnatEntry.EipConflictThe specified EIP conflicts with that of another EIP in the snat entry.SNAT规则中的公网IP冲突。
409InvalidParameter.SourceCidrConflictThe specified source cidr and subnet conflict.不支持同时传入SourceCidr和SubnetId。
412InvalidNatGateway.ExpiredThe specified NatGateway has expired.指定的NAT网关实例已到期。