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エントリは作成できません。
デバッグ
リクエストパラメーター
項目 | データ型 | 必須/任意 | 例: | 説明 |
---|---|---|---|---|
操作 | String | 必須 | CreateSnatEntry |
実行する操作です。 値をCreateSnatEntryに設定します。 |
RegionId | String | 必須 | cn-hangzhou |
NATゲートウェイがデプロイされているリージョンのID。 DescribeRegions を呼び出して、最新のリージョンリストをクエリできます。 |
SnatTableId | String | 必須 | stb-bp190wu8io1vgev **** |
SNATテーブルのID。 |
SourceVSwitchId | String | 任意 | vsw-bp1nhx2s9ui5o **** |
VSwitch の ID です。
|
ソースCIDR | String | 任意 | 10.1.1.0/24 |
VPC、vSwitch、またはECSインスタンスのCIDRブロックを指定するか、カスタムCIDRブロックを入力できます。 次の方法でSNATエントリを指定できます。
インターネットNATゲートウェイにSNATエントリを追加するときに、SnatIpがEIPに設定されている場合、ECSインスタンスは指定されたEIPを使用してインターネットにアクセスします。 SnatIpが複数のEIPに設定されている場合、ECSインスタンスはSnatIpパラメーターで指定されたEIPをランダムに選択してインターネットにアクセスします。 このパラメーターとSourceVSwtichIdを同時に設定することはできません。 SourceVSwitchIdパラメーターが設定されている場合、SourceCIDRパラメーターは設定できません。 SourceCIDRパラメーターが設定されている場合、SourceVSwitchIdパラメーターは設定できません。 |
SnatIp | String | 必須 | 47.98.XX.XX |
説明 複数のEIPを選択してSNATアドレスプールを作成すると、これらのEIPへの接続がハッシュされます。 各接続を通過するトラフィックの量が異なるため、ネットワークトラフィックがEIPに均等に分散されない場合があります。
個々のEIPの帯域幅制限によるサービスの中断を防ぐために、これらのEIPを同じEIP帯域幅プランに関連付けることを推奨します。
|
SnatEntryName | String | 任意 | SnatEntry-1 |
SNATエントリの名前を入力します。 名前の長さは 2 ~ 128 文字である必要があります。 名前は英字で始まる必要があります。先頭文字列は |
ClientToken | String | 任意 | 02fb3da4-130e-11e9-8e44 **** |
リクエストのべき等性を保証するために使用されるクライアントトークン。 クライアントを使用して値を生成できますが、異なるリクエスト間で一意であることを確認する必要があります。 説明 このパラメーターを設定しない場合、ClientTokenはRequestIdの値に設定されます。 各APIリクエストのRequestIdの値は異なる場合があります。
|
EipAffinity | Integer | いいえ | 1 |
EIPアフィニティを有効にするかどうかを指定します。 有効な値:
説明 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 エラーセンター」をご参照ください。