SNATテーブルにSNATエントリを追加します。

使用上の注意

このAPIを呼び出して、SNATエントリをインターネットNATゲートウェイおよびVirtual Private Cloud (VPC) NATゲートウェイに追加できます。 このトピックでは、NATゲートウェイは両方のゲートウェイタイプを指します。

この操作を呼び出す前に、次の制限事項に注意してください。

  • CreateSnatEntryは非同期操作です。 リクエスト後、SNATエントリIDが返されますが、指定されたSNATエントリは追加されません。 システムはバックグラウンドでエントリを追加します。 DescribeSnatTableEntries操作を呼び出して、SNATエントリのステータスを照会できます。
    • SNATエントリがPending状態の場合、システムはSNATエントリを追加しています。 SNATエントリのステータスのみを照会できますが、その他の操作は実行できません。
    • SNATエントリが使用可能状態の場合、SNATエントリが追加されます。
  • CreateSnatEntry操作を繰り返し呼び出して、指定された期間内にSNATテーブルにSNATエントリを追加することはできません。
  • SNATエントリで指定されたvSwitchおよびElastic Compute Service (ECS) インスタンスは、NATゲートウェイがデプロイされている仮想プライベートクラウド (VPC) に作成する必要があります。
  • 各vSwitchまたはECSインスタンスは、1つのSNATエントリでのみ指定できます。
  • vSwitchに高可用性仮想IPアドレス (HAVIP) が存在する場合、SNATエントリは作成できません。

デバッグ

OpenAPI Explorer は署名値を自動的に計算します。 この操作は、OpenAPI Explorer で呼び出すことを推奨します。 OpenAPI Explorer は、さまざまな SDK に対して操作のサンプルコードを動的に生成します。

リクエストパラメーター

項目 データ型 必須/任意 例: 説明 
操作 String 必須 CreateSnatEntry

実行する操作です。 値をCreateSnatEntryに設定します。

RegionId String 必須 cn-hangzhou

NATゲートウェイがデプロイされているリージョンのID。

DescribeRegions を呼び出して、最新のリージョンリストをクエリできます。

SnatTableId String 必須 stb-bp190wu8io1vgev ****

SNATテーブルのID。

SourceVSwitchId String 任意 vsw-bp1nhx2s9ui5o ****

VSwitch の ID です。

  • SNATエントリをインターネットNATゲートウェイに追加する場合、このパラメータは、vSwitchのECSインスタンスがSNATエントリを使用してインターネットにアクセスできることを指定します。 複数のEIPアドレス (EIP) を選択してSNATアドレスプールを作成すると、これらのEIPへの接続がハッシュされます。 各接続を通過するトラフィックの量が異なるため、ネットワークトラフィックがEIPに均等に分散されない場合があります。 個々のEIPの帯域幅制限によるサービスの中断を防ぐために、これらのEIPを同じEIP帯域幅プランに関連付けることを推奨します。
  • SNATエントリをVPC NATゲートウェイに追加する場合、このパラメータはvSwitchのECSインスタンスがSNATエントリを使用して外部ネットワークにアクセスできることを指定します。
ソースCIDR String 任意 10.1.1.0/24

VPC、vSwitch、またはECSインスタンスのCIDRブロックを指定するか、カスタムCIDRブロックを入力できます。

次の方法でSNATエントリを指定できます。

  • NATゲートウェイがデプロイされているVPCのCIDRブロックを指定できます。 これにより、VPC内のすべてのECSインスタンスは、SNATを使用してインターネットまたは外部ネットワークにアクセスできます。
  • vSwitchのCIDRブロック (例: 192.168.1.0/24) を指定できます。 これにより、vSwitch内のECSインスタンスは、SNATを使用してインターネットまたは外部ネットワークにアクセスできます。
  • ECSインスタンスのIPアドレス (例: 192.168.1.1/32) を指定できます。 これにより、ECSインスタンスはSNATを使用してインターネットまたは外部ネットワークにアクセスできます。
  • カスタムCIDRブロックを指定できます。 指定されたCIDRブロック内のすべてのECSインスタンスは、SNATを使用してインターネットまたは外部ネットワークにアクセスできます。

インターネットNATゲートウェイにSNATエントリを追加するときに、SnatIpがEIPに設定されている場合、ECSインスタンスは指定されたEIPを使用してインターネットにアクセスします。

SnatIpが複数のEIPに設定されている場合、ECSインスタンスはSnatIpパラメーターで指定されたEIPをランダムに選択してインターネットにアクセスします。

このパラメーターとSourceVSwtichIdを同時に設定することはできません。 SourceVSwitchIdパラメーターが設定されている場合、SourceCIDRパラメーターは設定できません。 SourceCIDRパラメーターが設定されている場合、SourceVSwitchIdパラメーターは設定できません。

SnatIp String 必須 47.98.XX.XX
  • SNATエントリをインターネットNATゲートウェイに追加したときのSNATエントリ内のEIP。 EIPはコンマ (,) で区切ります。
説明 複数のEIPを選択してSNATアドレスプールを作成すると、これらのEIPへの接続がハッシュされます。 各接続を通過するトラフィックの量が異なるため、ネットワークトラフィックがEIPに均等に分散されない場合があります。 個々のEIPの帯域幅制限によるサービスの中断を防ぐために、これらのEIPを同じEIP帯域幅プランに関連付けることを推奨します。
  • SNATエントリをVPC NATゲートウェイに追加する場合、このパラメーターにはSNATエントリのNAT IPアドレスを指定します。
SnatEntryName String 任意 SnatEntry-1

SNATエントリの名前を入力します。

名前の長さは 2 ~ 128 文字である必要があります。 名前は英字で始まる必要があります。先頭文字列は http:// または https:// にすることはできません。

ClientToken String 任意 02fb3da4-130e-11e9-8e44 ****

リクエストのべき等性を保証するために使用されるクライアントトークン。

クライアントを使用して値を生成できますが、異なるリクエスト間で一意であることを確認する必要があります。 トークンにはASCII文字のみを含めることができます。

説明 このパラメーターを設定しない場合、ClientTokenRequestIdの値に設定されます。 各APIリクエストのRequestIdの値は異なる場合があります。
EipAffinity Integer いいえ 1

EIPアフィニティを有効にするかどうかを指定します。 有効な値:

  • 0: なし
  • 1: はい
説明 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"
}

エラーコード

HTTP ステータスコード エラーコード エラーメッセージ 説明 
400 Forbidden.SourceVSwitchId.IncludeHaVip 指定されたVSwitchの下にいくつかのHaVipsがあります 指定されたvSwitchがHAVIPに関連付けられている場合に返されるエラーメッセージ。
400 InvalidSnatIp。奇形 指定されたSnatIpは有効なIPアドレスではありません。 指定されたEIPが無効な場合に返されるエラーメッセージ。
400 SNAT_IP_POOL_COUNT_TOO_MANY Snatプールのipが多すぎます。 SNAT IPアドレスプール内のIPアドレスの数が上限に達した場合に返されるエラーメッセージ。
400 Forbidden.SnatEntryCountLimited 指定されたSNATテーブルのSNATエントリが制限に達します。 SNATエントリの数が上限に達した場合に返されるエラーメッセージ。
400 NOT_ALLOW_USE_SOURCECIDR ユーザーがnat_scope_unlimitedホワイトリストにありません。 SourceCidr paramは使用できません。 指定されたプライベートIPアドレスがVPCのCIDRブロック内にない場合に返されるエラーメッセージ。
400 INVALID_PARAMETER パラメーターが無効です。 パラメーターが無効な値に設定されている場合に返されるエラーメッセージ。
400 Forbidden.SourceVSwitchId.Duplicated 指定されたSourceCIDRが複製されます。 指定されたvSwitchに対してSNATエントリが既に作成されている場合に返されるエラーメッセージ。
400 Forbidden.IpUsedInForwardTable 指定されたSnatIpは、転送テーブルで既に使用されています。 指定されたEIPがDNATエントリによってすでに使用されている場合に返されるエラーメッセージ。 別のEIPを選択するか、指定されたEIPを使用するDNATルールを削除します。
400 フォービンデン 指定されたインスタンスはすでにeipをバインドしています ECSインスタンスがEIPに関連付けられている場合に返されるエラーメッセージ。 転送ルールを作成する前に、ECSインスタンスからEIPの関連付けを解除します。
400 OperationUnsupported.CidrConflict 指定されたCIDRブロックは、既存のSNATエントリと競合します。 指定されたCIDRブロックが既存のSNATエントリのCIDRブロックと競合する場合に返されるエラーメッセージ。
400 InvalidParameter.Name.Malformed 指定されたNameは無効です。 指定された名前の形式が無効な場合に返されるエラーメッセージ。 有効な形式で名前を入力します。
404 InvalidRegionId.NotFound 指定された RegionId はレコードに存在しません。 指定されたリージョンIDが存在しない場合に返されるエラーメッセージ。
404 InvalidSnatTableId.NotFound 指定されたSNATテーブルが存在しません。 指定されたSNATテーブルが存在しない場合に返されるエラーメッセージ。 SNATテーブルのIDが有効かどうかを確認します。
404 InvalidVSwitchId.NotFound 指定された仮想スイッチは存在しません。 指定されたvSwitchが存在しない場合に返されるエラーメッセージ。 指定されたIDが有効かどうかを確認してください。
404 InvalidSnatIp.NotFound 指定されたSnatIpがNAT Gatewayに見つかりません 指定されたEIPがNATゲートウェイに存在しない場合に返されるエラーメッセージ。

エラーコードリストについては、「API エラーセンター」をご参照ください。