调用CreateNatGateway接口创建增强型公网NAT网关或VPC NAT网关。
使用说明
在调用本接口时,请了解以下内容:
- 首次创建NAT网关时,系统会自动创建一个名称为AliyunServiceRoleForNatgw的服务关联角色,并且为该角色添加名称为AliyunServiceRolePolicyForNatgw的权限策略,授予NAT网关拥有访问其他云资源的权限。更多信息,请参见服务关联角色。
- 增强型公网NAT网关创建后,系统会在VPC的路由表中自动添加一条目标网段为0.0.0.0/0,下一跳为NAT网关的路由条目,用于将流量路由到NAT网关。
- CreateNatGateway接口属于异步接口,即系统会先返回一个NAT网关(公网NAT网关或VPC NAT网关)实例ID,但该NAT网关实例并未创建完成,系统后台的创建任务仍在进行。您可以调用DescribeNatGateways查询NAT网关的状态。
- 当NAT网关处于Creating状态时,表示NAT网关正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。
-
当NAT网关处于Available状态时,表示NAT网关创建完成。
NAT网关创建一般需要1~3分钟,请您耐心等待。
- CreateNatGateway接口在同一个VPC内不支持并发创建NAT网关(公网NAT网关或VPC NAT网关)。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreateNatGateway |
系统规定参数。取值:CreateNatGateway。 |
RegionId | String | 是 | cn-hangzhou |
NAT网关所在的地域ID。 您可以通过调用DescribeRegions接口获取地域ID。 |
VpcId | String | 是 | vpc-bp1di7uewzmtvfuq8**** |
需要创建NAT网关的VPC的ID。 |
Name | String | 否 | fortest |
NAT网关的名称。 名称长度为2~128个字符,以大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。 如果没有指定该参数,系统会为NAT网关创建默认的名称。 |
Description | String | 否 | testnat |
NAT网关的描述。 描述可以为空;或填写2~256个字符,不能以 |
ClientToken | String | 否 | 5A2CFF0E-5718-45B5-9D4D-70B3FF3898 |
客户端Token,用于保证请求的幂等性。 由客户端生成该参数值,要保证在不同请求间唯一。 说明 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId可能不一样。
|
Spec | String | 否 | 无效参数 |
包年包月公网NAT网关已停止新购,该参数不再使用。 |
InstanceChargeType | String | 否 | PostPaid |
NAT网关的付费模式,取值: PostPaid(默认值):按量付费。 更多信息,请参见公网NAT网关计费和VPC NAT网关计费。 |
PricingCycle | String | 否 | 无效参数 |
包年包月公网NAT网关已停止新购,该参数不再使用。 |
Duration | String | 否 | 无效参数 |
包年包月公网NAT网关已停止新购,该参数不再使用。 |
AutoPay | Boolean | 否 | 无效参数 |
包年包月公网NAT网关已停止新购,该参数不再使用。 |
VSwitchId | String | 是 | vsw-bp1e3se98n9fq8hle**** |
NAT网关所属的交换机的ID。 创建NAT网关时,您必须指定NAT网关所属的交换机,系统会为NAT网关分配一个交换机内的空闲私网IP地址。
说明 您可以通过ListEnhanhcedNatGatewayAvailableZones接口查询NAT网关的资源可用区,通过DescribeVSwitches接口查询交换机中的可用IP数。
|
NatType | String | 是 | Enhanced |
NAT网关的类型,取值:Enhanced,增强型NAT网关。 |
InternetChargeType | String | 否 | PayByLcu |
NAT网关的计费类型,取值:PayByLcu,表示按使用量计费。 |
NetworkType | String | 否 | internet |
创建的NAT网关类型,取值:
|
SecurityProtectionEnabled | Boolean | 否 | false |
是否开启防火墙功能,取值:
|
IcmpReplyEnabled | Boolean | 否 | false |
是否开启ICMP不代回功能,取值:
|
EipBindMode | String | 否 | MULTI_BINDED |
NAT网关的EIP绑定模式,取值:
|
返回数据
名称 | 类型 | 示例值 | 描述 |
---|---|---|---|
NatGatewayId | String | ngw-112za33e4**** |
创建的NAT网关的实例ID。 |
RequestId | String | 2315DEB7-5E92-423A-91F7-4C1EC9AD97C3 |
请求ID。 |
ForwardTableIds | Array of String | ftb-11tc6xgmv**** |
DNAT列表。 |
SnatTableIds | Array of String | stb-SnatTableIds**** |
SNAT列表。 |
FullNatTableIds | Array of String | fulltb-gw88z7hhlv43rmb26**** |
FULLNAT列表。 |
示例
请求示例
http(s)://[Endpoint]/?Action=CreateNatGateway
&RegionId=cn-hangzhou
&VpcId=vpc-bp1di7uewzmtvfuq8****
&Name=fortest
&Description=testnat
&ClientToken=5A2CFF0E-5718-45B5-9D4D-70B3FF3898
&InstanceChargeType=PostPaid
&VSwitchId=vsw-bp1e3se98n9fq8hle****
&NatType=Enhanced
&InternetChargeType=PayByLcu
&NetworkType=internet
&SecurityProtectionEnabled=false
&IcmpReplyEnabled=false
&EipBindMode=MULTI_BINDED
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateNatGatewayResponse>
<NatGatewayId>ngw-112za33e4****</NatGatewayId>
<RequestId>2315DEB7-5E92-423A-91F7-4C1EC9AD97C3</RequestId>
<ForwardTableIds>ftb-11tc6xgmv****</ForwardTableIds>
<SnatTableIds>stb-SnatTableIds****</SnatTableIds>
<FullNatTableIds>fulltb-gw88z7hhlv43rmb26****</FullNatTableIds>
</CreateNatGatewayResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"NatGatewayId" : "ngw-112za33e4****",
"RequestId" : "2315DEB7-5E92-423A-91F7-4C1EC9AD97C3",
"ForwardTableIds" : [ "ftb-11tc6xgmv****" ],
"SnatTableIds" : [ "stb-SnatTableIds****" ],
"FullNatTableIds" : [ "fulltb-gw88z7hhlv43rmb26****" ]
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | Forbidden.NatPayBySpec | Pay-by-specification NAT is no longer supported. Newly purchased pay-as-you-go NAT gateways only support the pay-by-CU metering method. | 按规格计费的NAT网关已经不再进行售卖,请选择按CU使用量计费的NAT网关 |
400 | InvalidVPCStatus | vpc incorrect status. | 该 VPC 状态非法,请您检查 VPC 状态是否输入正确。 |
400 | InvalidNatGatewayName.MalFormed | NatGateway name is not valid. | 网关名称不合法。 |
400 | InvalidNatGatewayDescription.MalFormed | NatGateway description is not valid. | 网关描述不合法。 |
400 | MissingParameter.BandwidthPackage | only support one BandwidthPackage be created with NatGateway. | 必须指定一个共享带宽包。 |
400 | MissingParameter | Miss mandatory parameter. | 缺少必要参数,请您检查必填参数是否都已填后再进行操作。 |
400 | QuotaExceeded.BandwidthPackageIps | The specified ipCount exceeded quota. | IP数量超过上限,可以在配额管理页面申请增加配额。 |
400 | InvalidParameter.Name.Malformed | The specified Name is not valid. | 该名称不合法,请您按照正确的格式书写名称。 |
400 | InvalidParameter.Description.Malformed | The specified Description is not valid. | 该描述不合法。 |
400 | ZONE_NO_AVAILABLE_IP | The Zone have no available ip. | 该可用区没有可用IP。 |
400 | InvalidParameter.BandwidthPackage.n.ISP.ValueNotSupport | The specified ISP of BandwidthPackage is not valid. | 该共享带宽包的ISP不合法。 |
400 | InvalidNatGatewayId.NotFound | The NatGatewayId not exist. | 指定的 NatGatewayId 不存在,请您检查填写的 NatGatewayId 是否正确。 |
400 | VswitchStatusError | The VSwitch is creating . | 交换机正在创建中。 |
400 | VpcStatusError | The Vpc is creating . | 正在创建VPC。 |
400 | InvalidParameter.Spec.ValueNotSupported | The specified Spec is not valid. | 该规格不合法。 |
400 | TaskConflict | The operation is too frequent, TaskConflict. | 操作太频繁,请稍后重试 |
400 | Forbidden.CheckEntryRuleQuota | Route entry quota rule check error. | 检查路由条目配额时发生了错误。 |
400 | OperationFailed.UnpaidBillsExist | The account has unpaid bills. Please pay your overdue bill first. | 此账户有未支付的订单。 |
400 | OperationFailed.EnhancedQuotaExceed | Enhanced nat gateway per vpc quota is exceeded | 当前vpc下创建增强型nat网关配额超限 |
400 | OperationFailed.VswNotBelongToVpc | Operation failed because the specified VSwitch is not bound to the same VPC with NAT gateway. | 操作失败,因为交换机和NAT网关不属于同一个VPC。 |
400 | OperationFailed.EnhancedUserIsUnAuthorized | Operation failed because the user is not authorized to create an enhanced NAT gateway. | 操作失败因为用户未授权创建增强型NAT网关。 |
400 | OperationUnsupported.PrePaidPyByLcu | The operation failed because the subscription NAT gateway does not support the pay-by-LCU billing method. | 预付费的NAT网关实例不支持PayByLcu的计费方式。 |
400 | OperationFailed.NormalInventoryNotEnough | Standard NAT gateways are no longer offered. You can create enhanced NAT gateways and set the correct natType. | 普通型nat网关已经不再支持创建了,请创建的nat网关时设置natType,创建增强型nat。 |
400 | UnsupportedFeature.IcmpReplyEnabled | The feature of IcmpReplyEnabled is not supported. | Icmp 代答使能功能修改不支持。 |
400 | ExclusiveParam.%sAnd%s | The param of %s and %s are mutually exclusive. | 参数 %s 和 %s 相互排斥。 |
404 | InvalidRegionId.NotFound | The specified RegionId does not exist in our records. | 指定的RegionId不存在。 |
404 | InvalidVpcId.NotFound | Specified value of VpcId is not found in our record. | 该VPC不存在,请您检查输入的VPC是否正确。 |
404 | InvalidZoneId.NotFound | Specified value of ZoneId is not exists. | 该可用区不存在。 |
404 | InvalidZoneId.NotFound | Can not find ZoneId for allocated ip. | 该IP的可用区不正确。 |
404 | UnsupportedZoneForFwNat | The zone is unsupported for FW NAT. | 该可用区不支持防护型NAT网关。 |
访问错误中心查看更多错误码。