DNATテーブルにDNATエントリを追加します。
説明
各DNATエントリは、ExternalIp、ExternalPort、IpProtocol、InternalIp、およびInternalPortというパラメータで構成されています。 DNATエントリを追加すると、NATゲートウェイは指定されたプロトコルのパケットをExternalIp:ExternalPortからInternalIp:InternalPortに転送し、同じルートを介して応答を送り返します。
この操作を呼び出すときは、次の制限事項に注意してください。
- CreateForwardEntryは非同期操作です。 リクエストを行った後、DNATエントリIDが返されますが、指定されたDNATエントリは追加されません。 システムはバックグラウンドでエントリを追加します。
DescribeForwardTableEntriesを呼び出して、DNATエントリのステータスを照会できます。
- DNATエントリがPending状態の場合、システムはDNATエントリを追加しています。 DNATエントリのステータスのみを照会できますが、他の操作は実行できません。
- DNATエントリが使用可能状態の場合、DNATエントリが追加されます。
- CreateForwardEntry操作を繰り返し呼び出して、指定された期間内にDNATエントリを追加することはできません。
- DNATエントリで使用されるExternalIp、ExternalPort、およびIpProtocolのすべての組み合わせは一意である必要があります。 リクエストが同じ送信元IPアドレスから開始され、同じポートで受信され、同じプロトコルを使用している場合、リクエストを複数のECS (Elastic Compute Service) インスタンスに配信することはできません。
- IpProtocol、InternalIp、およびInternalPortの組み合わせは一意である必要があります。
- DNATテーブルの1つ以上のDNATエントリがPendingまたはModifying状態の場合、DNATテーブルにDNATエントリを追加することはできません。
- DNATテーブルには、最大で100個のDNATエントリを追加できます。
- インターネットNATゲートウェイで使用されるEIPアドレス (EIP) またはVirtual Private Cloud (VPC) NATゲートウェイで使用されるNAT IPアドレスの場合、次の制限に注意してください。
デバッグ
リクエストパラメーター
項目 | データ型 | 必須/任意 | 例: | 説明 |
---|---|---|---|---|
操作 | String | 必須 | CreateForwardEntry |
実行する操作です。 値をCreateForwardEntryに設定します。 |
RegionId | String | 必須 | cn-hangzhou |
NATゲートウェイのリージョンID。 DescribeRegions を呼び出して、最新のリージョンリストをクエリできます。 |
ForwardTableId | String | 必須 | ftb-bp1mbjubq34hlcqpa **** |
DNATテーブルのID。 |
ExternalIp | String | 必須 | 116.28.XX.XX |
|
ExternalPort | String | 必須 | 8080 |
|
InternalIp | String | 必須 | 192.168.XX.XX |
|
InternalPort | String | 必須 | 80 |
|
IpProtocol | String | 必須 | TCP |
プロトコル。 有効な値:
|
ForwardEntryName | String | 任意 | ForwardEntry-1 |
DNATエントリの名前。 名前の長さは 2 ~ 128 文字である必要があります。 名前は英字で始まる必要があります。先頭文字列は |
ClientToken | String | 任意 | 0c593ea1-3bea-11e9-b96b-88e9fe6 **** |
リクエストのべき等性を保証するために使用されるクライアントトークン。 クライアントを使用して値を生成できますが、異なるリクエスト間で一意であることを確認する必要があります。 クライアントトークンにはASCII文字のみを含めることができます。 説明 このパラメーターを設定しない場合、システムは自動的にRequestIdをClientTokenとして使用します。 各APIリクエストのRequestIdの値は異なる場合があります。
|
PortBreak | Boolean | いいえ | false |
ポート範囲の制限を解除するかどうかを指定します。 有効な値:
説明 SNATエントリとDNATエントリが同じパブリックIPアドレスを使用し、1024を超えるポート番号を指定する場合は、Portbreakをtrueに設定します。
|
レスポンスパラメーター
項目 | データ型 | 例: | 説明 |
---|---|---|---|
ForwardEntryId | String | fwd-119smw5tkasdf **** |
DNATエントリのID。 |
RequestId | String | A4AEE536-A97A-40EB-9EBE-53A6948A6928 |
リクエストの ID です。 |
例
リクエストの例
http(s)://[Endpoint]/?Action=CreateForwardEntry
&RegionId=cn-hangzhou
&ForwardTableId=ftb-bp1mbjubq34hlcqpa ****
&ExternalIp=116.28.XX.XX
&ExternalPort=8080
&InternalIp=192.168.XX.XX
&InternalPort=80
&IpProtocol=TCP
&ForwardEntryName=ForwardEntry-1
&ClientToken=0c593ea1-3bea-11e9-b96b-88e9fe6 ****
&PortBreak=false
&共通リクエストパラメータ
正常に処理された場合のレスポンス例
XML
形式
HTTP/1.1 200 OK
Content-Type:application/xml
<CreateForwardEntryResponse>
<ForwardEntryId>fwd-119smw5tkasdf ****</ForwardEntryId>
<RequestId>A4AEE536-A97A-40EB-9EBE-53A6948A6928</RequestId>
</CreateForwardEntryResponse>
JSON
形式
HTTP/1.1 200 OK
Content-Type:application/json
{
"ForwardEntryId" : "fwd-119smw5tkasdf ****" 、
"RequestId" : "A4AEE536-A97A-40EB-9EBE-53A6948A6928"
}
エラーコード
HttpCode | エラーコード | エラーメッセージ | 説明 |
---|---|---|---|
400 | ExclusiveParam.% sAnd % s | % sと % sのパラメーターは相互に排他的です。 | % sと % sを同時に設定することはできません。 |
400 | OperationUnsupported.ForwardEntry | 重複した宛先ipポートはサポートされていません。 | 重複するIPアドレスとポートがサポートされていない場合に返されるエラーメッセージ。 |
400 | InvalidIp.NotInNatgw | 指定されたIpはnatgatewayに属していません。 | 指定されたEIPがNATゲートウェイに関連付けられていない場合に返されるエラーメッセージ。 |
400 | IncorrectStatus.NatIp | % s [% s] の状態が正しくありません。 | NAT IPアドレスのステータスが無効な場合に返されるエラーメッセージ。 |
400 | InvalidExternalIp. 奇形 | 指定されたExternalIpは有効なIPアドレスではありません。 | 指定されたEIPが無効な場合に返されるエラーメッセージ。 |
400 | InvalidInternalIp。奇形 | 指定されたInternalIpは有効なIPアドレスではありません。 | 指定された宛先プライベートIPアドレスが無効な場合に返されるエラーメッセージ。 |
400 | InvalidExternalPort.Malformed | 指定されたExternalPortは有効なポートではありません。 | 指定されたパブリックポートが無効な場合に返されるエラーメッセージ。 |
400 | InvalidInternalPort.Malformed | 指定されたInternalPortは有効なポートではありません。 | 指定されたプライベートポートが無効な場合に返されるエラーメッセージ。 |
400 | Forbidden.DestnationIpOutOfVpcCIDR | 指定された内部 IP は VPC CIDR の範囲外です。 | 指定されたプライベートIPアドレスがVPCのCIDRブロック内にない場合に返されるエラーメッセージ。 VPCのCIDRブロック内のプライベートIPアドレスを入力します。 |
400 | InvalidProtocal.ValueNotSupported | 指定されたIpProtocolはサポートしていません。 | 指定されたプロトコルがサポートされていない場合に返されるエラーメッセージ。 |
400 | IncorretForwardEntryStatus | 一部のForward entryステータスがこの操作をブロックしました。 | 指定された操作を実行する権限がない場合に返されるエラーメッセージ。 DNATテーブルの1つ以上のDNATエントリがPendingまたはModifying状態にある場合に返されるエラーメッセージ。 |
400 | Forbidden.ExternalIp.UsedInSnatTable | 指定されたExternalIpは既にSnatTableで使用されています | 指定されたEIPがSNATエントリによってすでに使用されている場合に返されるエラーメッセージ。 別のEIPを選択するか、SNATエントリを削除します。 |
400 | フォービンデン | 指定されたインスタンスはすでにeipをバインドしています | ECSインスタンスがEIPに関連付けられている場合に返されるエラーメッセージ。 転送ルールを作成する前に、ECSインスタンスからEIPの関連付けを解除します。 |
400 | Forbidden.InternalIpOutOfVpcCIDR | 指定された内部 IP は VPC CIDR の範囲外です。 | プライベートIPアドレスがVPCのCIDRブロック内にない場合に返されるエラーメッセージ。 |
400 | 無効な. natgwNotExist | 指定されたnatgatewayは存在しません。 | 指定されたNAT gatewayが存在しない場合に返されるエラーメッセージ。 |
400 | MissingParameter | 必須パラメータがありません | 必須パラメーターが設定されていない場合に返されるエラーメッセージ。 この操作を呼び出す前に、必要なパラメーターをすべて設定しているかどうかを確認してください。 |
400 | InvalidParameter.Name.Malformed | 指定されたNameは無効です。 | 指定された名前の形式が無効な場合に返されるエラーメッセージ。 有効な形式で名前を入力します。 |
400 | IncorrectStatus.ForwardEntry | % s [% s] の状態が正しくありません。 | 削除するDNATエントリが無効な状態の場合に返されるエラーメッセージ。 |
404 | ResourceNotFound.NatIp | 指定された % sのリソースが見つかりません。 | NAT IPアドレスが見つからない場合に返されるエラーメッセージ。 |
404 | InvalidRegionId.NotFound | 指定された RegionId はレコードに存在しません。 | 指定されたリージョンIDが存在しない場合に返されるエラーメッセージ。 |
404 | InvalidForwardTableId.NotFound | 指定された転送テーブルは存在しません。 | 指定されたDNATテーブルが存在しない場合に返されるエラーメッセージ。 パラメーターを確認して、もう一度お試しください。 |
404 | InvalidExternalIp.NotFound | 指定された外部IpアドレスがVRouterに見つかりません | 指定されたEIPが存在しない場合に返されるエラーメッセージ。 |
500 | InternalError | 不明なエラーにより、リクエスト処理が失敗しました。 | 不明なエラーが発生した場合に返されるエラーメッセージ。 |
エラーコードのリストについては、エラーセンターをご覧ください。