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

説明 

各DNATエントリは、ExternalIpExternalPortIpProtocolInternalIp、およびInternalPortというパラメータで構成されています。 DNATエントリを追加すると、NATゲートウェイは指定されたプロトコルのパケットをExternalIp:ExternalPortからInternalIp:InternalPortに転送し、同じルートを介して応答を送り返します。

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

  • CreateForwardEntryは非同期操作です。 リクエストを行った後、DNATエントリIDが返されますが、指定されたDNATエントリは追加されません。 システムはバックグラウンドでエントリを追加します。 DescribeForwardTableEntriesを呼び出して、DNATエントリのステータスを照会できます。
    • DNATエントリがPending状態の場合、システムはDNATエントリを追加しています。 DNATエントリのステータスのみを照会できますが、他の操作は実行できません。
    • DNATエントリが使用可能状態の場合、DNATエントリが追加されます。
  • CreateForwardEntry操作を繰り返し呼び出して、指定された期間内にDNATエントリを追加することはできません。
  • DNATエントリで使用されるExternalIpExternalPort、およびIpProtocolのすべての組み合わせは一意である必要があります。 リクエストが同じ送信元IPアドレスから開始され、同じポートで受信され、同じプロトコルを使用している場合、リクエストを複数のECS (Elastic Compute Service) インスタンスに配信することはできません。
  • IpProtocolInternalIp、およびInternalPortの組み合わせは一意である必要があります。
  • DNATテーブルの1つ以上のDNATエントリがPendingまたはModifying状態の場合、DNATテーブルにDNATエントリを追加することはできません。
  • DNATテーブルには、最大で100個のDNATエントリを追加できます。
  • インターネットNATゲートウェイで使用されるEIPアドレス (EIP) またはVirtual Private Cloud (VPC) NATゲートウェイで使用されるNAT IPアドレスの場合、次の制限に注意してください。

デバッグ

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

リクエストパラメーター

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

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

RegionId String 必須 cn-hangzhou

NATゲートウェイのリージョンID。

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

ForwardTableId String 必須 ftb-bp1mbjubq34hlcqpa ****

DNATテーブルのID。

ExternalIp String 必須 116.28.XX.XX
  • インターネットNATゲートウェイのDNATエントリを設定するときに、インターネット経由でアクセスできるEIP。
  • VPC NATゲートウェイのDNATエントリを設定するときに外部ネットワークからアクセスできるNAT IPアドレス。
ExternalPort String 必須 8080
  • インターネットNATゲートウェイのDNATエントリを設定するときにポート転送に使用される外部ポート範囲。
    • 有効な値: 165535
    • ポート範囲を指定するには、最初のポートと最後のポートをスラッシュ (/) で区切ります (例: 10/20) 。
    • ExternalPortをポート範囲に設定する場合、InternalPortもポート範囲に設定する必要があります。これらのパラメーターで指定されるポートの数は同じである必要があります。 たとえば、ExternalPort10/20に設定した場合、InternalPort80/90に設定できます。
  • VPC NATゲートウェイのDNATエントリを設定するときに外部ネットワークからアクセスできるポート。 有効な値: 165535
InternalIp String 必須 192.168.XX.XX
  • インターネットNATゲートウェイのDNATエントリを設定するときに、インターネットと通信する必要があるECSインスタンスのプライベートIPアドレス。 プライベートIPアドレスは、次の要件を満たす必要があります。
    • NATゲートウェイがデプロイされているVPCのCIDRブロックに属している必要があります。
    • The DNAT entry takes effect only if the private IP address is assigned to an ECS instance and the ECS instance is not associated with an EIP.
  • DNATエントリをVPC NATゲートウェイに追加するときにDNATを使用するプライベートIPアドレス。
InternalPort String 必須 80
  • インターネットNATゲートウェイのDNATエントリを設定するときにポート転送に使用される内部ポートまたはポート範囲。 有効な値: 165535
  • VPC NATゲートウェイのDNATエントリを設定するときにマッピングされる宛先ECSインスタンスのポート。 有効な値: 165535
IpProtocol String 必須 TCP

プロトコル。 有効な値:

  • TCP: NATゲートウェイはTCPパケットを転送します。
  • UDP: NATゲートウェイはUDPパケットを転送します。
  • 任意: NATゲートウェイは、すべてのプロトコルのパケットを転送します。 IpProtocolAnyに設定した場合、DNAT IPマッピングを実装するには、ExternalPortおよびInternalPortAnyに設定する必要があります。
ForwardEntryName String 任意 ForwardEntry-1

DNATエントリの名前。

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

ClientToken String 任意 0c593ea1-3bea-11e9-b96b-88e9fe6 ****

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

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

説明 このパラメーターを設定しない場合、システムは自動的にRequestIdClientTokenとして使用します。 各APIリクエストのRequestIdの値は異なる場合があります。
PortBreak Boolean いいえ false

ポート範囲の制限を解除するかどうかを指定します。 有効な値:

  • true: はい
  • false (デフォルト): いいえ
説明 SNATエントリとDNATエントリが同じパブリックIPアドレスを使用し、1024を超えるポート番号を指定する場合は、Portbreaktrueに設定します。

レスポンスパラメーター

項目 データ型 例: 説明 
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 不明なエラーにより、リクエスト処理が失敗しました。 不明なエラーが発生した場合に返されるエラーメッセージ。

エラーコードのリストについては、エラーセンターをご覧ください。