調用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對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
vpc:CreateSnatEntry | create | *SnatEntry acs:vpc:{#regionId}:{#accountId}:snattable/* |
| 無 |
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
RegionId | string | 是 | NAT 網關所在的地域 ID。 您可以通過調用 DescribeRegions 接口獲取地域 ID。 枚舉值:
| cn-hangzhou |
SnatTableId | string | 是 | SNAT 表的 ID。 | stb-bp190wu8io1vgev**** |
SourceVSwitchId | string | 否 | 交換機的 ID。
說明
參數 SourceCIDR 和參數 SourceVSwtichId 必須輸入一個且不能都輸入。
| vsw-bp1nhx2s9ui5o**** |
SourceCIDR | string | 否 | 輸入 VPC、交換機或 ECS 實例的網段,還可以輸入任意網段。 SNAT 條目有以下幾種粒度:
說明
參數 SourceCIDR 和參數 SourceVSwtichId 必須輸入一個且不能都輸入。
| 10.1.1.0/24 |
SnatIp | string | 否 | 為公網 NAT 網關添加 SNAT 條目時 :
說明
指定多個 EIP 配置 SNAT IP 地址池時,業務連接會通過哈希算法分配到多個 EIP,由于每個連接的流量不同,可能會出現多 EIP 業務流量不均勻的情況,建議您將每個 EIP 都加入到同一個共享帶寬中以避免單 EIP 帶寬達到上限導致業務受損。
為 VPC NAT 網關添加 SNAT 條目時:
| 47.98.XX.XX |
SnatEntryName | string | 否 | SNAT 條目的名稱。 長度為 2~128 個字符,必須以大小寫字母或中文開頭,但不能以 | SnatEntry-1 |
ClientToken | string | 否 | 客戶端 Token,用于保證請求的冪等性。 從您的客戶端生成一個參數值,確保不同請求間該參數值唯一。 說明
若您未指定,則系統自動使用 API 請求的 Requestld 作為 ClientToken 標識。每次 API 請求的 Requestld 可能不一樣。
| 02fb3da4-130e-11e9-8e44**** |
EipAffinity | integer | 否 | 是否打開 IP 親和性。取值:
說明
打開 IP 親和性開關后,如果 SNAT 條目綁定多個 EIP 或 NAT IP,同一個客戶端訪問同一目的 IP 時將使用相同的 EIP 或 NAT IP 進行訪問,否則客戶端將從綁定的 EIP 或 NAT IP 中隨機選取進行訪問。
| 1 |
NetworkInterfaceId | string | 否 | 彈性網卡 ID。 說明
會將彈性網卡的 IPv4 地址集作為 SNAT 地址。
| eni-gw8g131ef2dnbu3k**** |
返回參數
示例
正常返回示例
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. | 該公網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 its 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 | 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 | OperationUnsupported.EipNatIpCheck | %s | - |
400 | OperationUnsupported.EipNatBWPCheck | %s | - |
400 | OperationUnsupported.EipNatGWCheck | %s | - |
400 | OperationFailed.SnatIpPoolBwpRules | %s | - |
400 | OperationFailed.SnatIpsCheck | %s | - |
400 | OperationFailed.SnatIpPoolCbwpRules | %s | - |
400 | CreateSnatEntry.ParamExclusive.sourceVSwitchIdAndsourceCIDR | %s | - |
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 | InvalidParameter.SnatIp | Error public ip must in same bandwidth package. | - |
400 | InvalidNatGatewayId.NotFound | Error natgateway not exist. | - |
400 | IncorrectStatus.SnatEntry | %s | - |
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.NatIp | %s | - |
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參數不合法。 |
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網關中。 |
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不存在,請檢查您的輸入是否正確 |
500 | DefaultValidate.Error | validte fail. | - |
500 | OperationFailed.CrateSnatEntryTimeOut | Operation failed because create snatEntry timeout. | - |
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2024-12-03 | OpenAPI 錯誤碼發生變更、OpenAPI 入參發生變更 | 查看變更詳情 |
2024-08-09 | OpenAPI 錯誤碼發生變更、OpenAPI 入參發生變更 | 查看變更詳情 |
2024-01-18 | OpenAPI 錯誤碼發生變更 | 查看變更詳情 |
2023-09-18 | OpenAPI 描述信息更新、OpenAPI 錯誤碼發生變更 | 查看變更詳情 |
2023-03-01 | OpenAPI 錯誤碼發生變更 | 查看變更詳情 |