创建NAT网关
描述
在指定的VPC中创建NAT网关。
一些说明:
目前不支持Nat网关与“自建SNAT网关”(使用一台ECS充当SNAT网关)在VPC中并存;如果这样使用,会产生未定义的产品行为;(这种用法会在将来的产品迭代中支持)
Nat网关创建时,路由表中会出现一条“0.0.0.0->NatGateway_id”的系统路由,从而保证需要由NAT网关向公网转发的消息可以被路由器转发到NAT网关上。
当路由表中已经存在一条“0.0.0.0/0->某台ECS”的自定义路由时,NatGateway创建失败;
请求参数
名称 | 类型 | 是否必须 | 描述 |
---|---|---|---|
Action | String | 是 | 系统规定参数,取值:CreaeNatGateway |
RegionId | String | 是 | 创建的NatGateWay 所在的地域 |
VpcId | String | 是 | 在哪个VPC中创建NatGateway |
BandwidthPackage.n.IpCount | Integer | 至少指定一个 | 第n个带宽包中的公网IP个数(n的取值目前只能为1) 取值范围:1-50 |
BandwidthPackage.n.Bandwidth | Integer | 至少指定一个 | 第n个带宽包的带宽值(n的取值目前只能为1) 取值范围:5-5000 |
BandwidthPackage.n.Zone | String | 否 | 第n个带宽包位于的可用区(n的取值目前只能为1) 不指定该参数时,系统将随机选择可用区进行分配。n共享带宽包上的IP与后端ECS不处于同一个可用区时,并不影响其连通性;但是位于共可用区时可以获得更为极致的Latancy表现。。 |
Name | String | 否 | 实例的显示名称,[2, 128] 英文或中文字符,必须以大小字母或中文开头,可包含数字,“.”,“_”或“-”。 实例名称会显示在控制台。n如果没有指定该参数,默认值为实例的 InstanceIdn不能以 http:// 和 https:// 开头。 |
Description | String | 否 | 自定义描述[[2, 256] 个字符,实例描述会显示在控制台。不填则为空,默认为空。不能以 http:// 和 https:// 开头 |
ClientToken | String | 否 | 用于保证请求的幂等性。由客户端生成该参数值,要保证在不同请求间唯一,最大不值过 64 个 ASCII 字符。 具体参见附录 |
返回参数
名称 | 类型 | 描述 |
---|---|---|
NatGatewayId | String | NatGateway实例 ID,由系统生成,全局唯一。是访问实例的唯一标识 |
ForwardTableIds | Array | 端口转发表的ID列表 |
BandwidthPackageIds | Array | 一同创建的带宽包的ID列表 |
错误码
错误代码 | 描述 | Http 状态码 | 语义 |
---|---|---|---|
InvalidRegionId.NotFound | Specified value of “RegionId” is not supported. | 404 | 指定的 Region 不存在 |
InvalidZoneId.NotFound | Specified value of ZoneId is not supported. | 404 | 指定的ZoneId不存在 |
InvalidVpcId.NotFound | Specified value of ZoneId is not found in our record. | 404 | 指定的vpc不存在 |
MissingParameter.BandwidthPackage | At least 1 BandwidthPackage must be created with NatGateway. | 400 | 至少需要随NatGW创建一个共享带宽包 |
MissingParameter.BandwidthPackage.n.IpCount | Missing parameter IpCount in Bandwidth n. | 400 | 第n个带宽包参数不完整,未指定IpCount |
MissingParameter.BandwidthPackage.n.Bandwidth(n需要给出具体值) | Missing parameter Bandwidth in BandwidthPackage n.(n需要给出具体值) | 400 | 第n个带宽包参数不完整,未指定IpCount |
QuotaExceeded.NatGatewayCountInONeVpc | Natgateway count limit in one vpc exceeded. | 400 | 一个VPC中目前只能有一个NatGateway |
RouterEntryConflict.Duplicated | A route entry already exists, which CIDR is ‘0.0.0.0/0’ | 400 | 当路由表中存在’0.0.0.0/0’的自定义路由时,无法添加NatGateway |
示例
请求示例
https://ecs.aliyuncs.com/?SignatureVersion=1.0&VpcId=vpc-11af8lp67&Name=MyNatGW&Format=json&TimeStamp=2016-05-23T03%3A26%3A21Z&BandwidthPackage.1.IpCount=5&RegionId=cn-shanghai&AccessKeyId=jZgi0oyrQ6ihgKp9&SignatureMethod=HMAC-SHA1&Version=2014-05-26&Signature=I4KKhWgjJdImTqk4rCifAB3LbLw%3D&action=CreateNatGateway&SignatureNonce=1ebae49c-2096-11e6-b781-2cf0ee28adf2&BandwidthPackage.1.Bandwidth=150&BandwidthPackage.1.Zone=cn-shanghai-a&Description=My+first+NAT+Gateway
返回示例