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

DNAT エントリは、ExternalIp、ExternalPort、Protocol、InternalIp、InternalPort の 5 つの要素で構成されています。 DNAT エントリが追加されると、NAT Gatewayは [ExternalIp:ExternalPort] で受信した指定されたプロトコルのデータを [InternalIp:InternalPort] に転送し、レスポンスを返します。

この API を呼び出す前に、次の点に注意してください。

  • ExternalIp、ExternalPort、および Protocol の組み合わせが重複する DNAT エントリは設定できません (メッセージを複数のターゲットに転送することはできません)。

  • また、Protocol、InternalIp、および InternalPort の組み合わせが重複する DNAT エントリも設定できません。

  • DNAT テーブルに Pending または Modifying 状態の DNAT エントリがある場合、新しい DNAT エントリは追加できません。

  • ExternalIp は、次の要件を満たしている必要があります。
    • NAT 帯域幅パッケージを 2018 年 1 月 26 日より前に購入している場合、ExternalIp は NAT Gateway の NAT 帯域幅パッケージのパブリック IP アドレスである必要があります。
    • NAT 帯域幅パッケージを 2018 年 1 月 26 日以降に購入している場合、ExternalIp は NAT Gateway に関連付けられた EIP である必要があります。
    • 1 つのパブリック IP アドレスを SNAT エントリと DNAT エントリで同時に使用することはできません。
  • InternalIp は、次の要件を満たしている必要があります。
    • InternalIp は、NAT Gateway が設定されている VPC の CIDR ブロックに存在するアドレスである必要があります。
    • DNAT エントリは、EIP に関連付けられていない ECS インスタンスで InternalIP が使用されている場合のみ有効です。 Internal IP が HaVip、SLB、RDS などの非 ECSリソースで使用されている場合、DNAT エントリの内容は適用されず、インターネットトラフィックを IP アドレスに転送することはできません。
    • 1 つのパブリック IP アドレスを SNAT エントリと DNAT エントリで同時に使用することはできません。
  • DNAT テーブルには、最大 100 個の DNAT エントリを追加できます。

デバッグ

API Explorer を使用すると、API を簡単にデバッグし、SDK コード例を自動的に生成して、API をすばやく検索できます。

リクエストパラメーター

パラメーター データ型 必須/任意 値の例 説明
Action String 必須 CreateForwardEntry

操作の実行に使用する API (CreateForwardEntry) を設定します。

 

ExternalIp String 必須 116.xx.xx.28

パブリック IP アドレスを設定します。

ExternalPort String 必須 8080 パブリックポートの番号を設定します。 設定可能な値は、1 から 65535 です。
ForwardTableId String 必須 ftb-bp1mbjubq34hlcqpa5u3a

DNAT テーブルの ID を設定します。

InternalIp String 必須 192.168.xx.xx

ターゲットのプライベート IP アドレスを設定します。

InternalPort String 必須 80 ターゲットのプライベートポート番号を設定します。 設定可能な値は、1 から 65535 です。
IpProtocol String 必須 TCP
プロトコルの種類を設定します。 設定可能な値は次のとおりです。
  • TCP : TCPパケットを転送します。

  • UDP : UDPパケットを転送します。

  • Any: すべてのパケットを転送します。

RegionId String 必須 cn-hangzhou

NAT Gateway が設定されているリージョンの ID を設定します。

リージョン ID を照会するには、DescribeRegions を呼び出します。

ForwardEntryName String No ForwardEntry-1

追加する SNAT エントリの 名前 を設定します。 名前の長さは 2 文字から 128 文字で、アルファベット文字または漢字で始まる必要があります。 http:// または https:// で始まる名前は使用できません。

レスポンスパラメーター

パラメーター データ型 値の例 説明
ForwardEntryId String fwd-119smw5tkxxxxxxxx DNAT エントリの ID を示します。
RequestId String A4AEE536-A97A-40EB-9EBE-53A6948A6928 リクエストの ID を示します。

リクエストの例


https://vpc.aliyuncs.com/?Action=CreateForwardEntry
&ExternalIp=116.xx.xx.28
&ExternalPort=8080
&ForwardTableId=ftb-bp1mbjubq34hlxxxxxxxx
&InternalIp=192.168.xx.xx
&InternalPort=80
&IpProtocol=TCP
&RegionId=cn-hangzhou
&<CommonParameters>
レスポンスの例
  • XML 形式

    <CreateForwardEntryResponse>
      <ForwardEntryId>fwd-119smw5tkxxxxxxxx</ForwardEntryId>
      <RequestId>2315DEB7-5E92-423A-91F7-4C1EC9AD97C3</RequestId>
    </CreateForwardEntryResponse>
    
  • JSON 形式

    {
    	"ForwardEntryId":"fwd-119smw5tkxxxxxxxx",
    	"RequestId":"2315DEB7-5E92-423A-91F7-4C1EC9AD97C3"
    }

エラーコード

HTTP ステータスコード エラーコード エラーメッセージ 説明
404 InvalidRegionId.NotFound The specified RegionId does not exist in our records. 指定されたリージョン ID が存在しない場合に返されるエラーメッセージです。
400 InvalidExternalIp.Malformed The specified ExternalIp is not a valid IP address. 指定された ExternalIp が正しくない場合に返されるエラーメッセージです。
400 InvalidInternalIp.Malformed The specified InternalIp is not a valid IP address. 指定された InternalIP が正しくない場合に返されるエラーメッセージです。
400 InvalidExternalPort.Malformed The specified ExternalPort is not a valid port. 指定された ExtenalPort が正しくない場合に返されるエラーメッセージです。
400 InvalidInternalPort.Malformed The specified InternalPort is not a valid port. 指定された InternallPort が正しくない場合に返されるエラーメッセージです。
400 Forbidden.DestnationIpOutOfVpcCIDR The specified Destination Ip is Out of VPC CIDR. 指定された InternalIp が VPC の CIDR ブロックに存在しない場合に返されるエラーメッセージです。
400 InvalidProtocal.ValueNotSupported The specified IpProtocol does not support. 指定された プロトコルタイプがサポートされていない場合に返されるエラーメッセージです。
400 IncorretForwardEntryStatus Some Forward entry status blocked this operation.. 少なくとも 1 つの DNAT エントリが Pending または Modifying の状態にあるため、この操作を実行できない場合に発生するエラーです。
404 InvalidForwardTableId.NotFound Specified forward table does not exist. 指定された DNAT テーブルが存在しない場合に返されるエラーメッセージです。
404 InvalidExternalIp.NotFound Specified External Ip address does not found on the VRouter 指定された ExternalIP が存在しない場合に返されるエラーメッセージです。
400 Forbidden.ExternalIp.UsedInSnatTable The specified ExternalIp is already used in SnatTable 指定された ExternalIp が SNAT ルールによって使用されている場合に返されるエラーメッセージです。 別の IP アドレスを選択するか、この IP アドレスを使用している SNATルールを削除します。
400 Forbidden The specified Instance already bind eip 指定された ECS インスタンスに対して、すでに EIP が関連付けられている場合に返されるエラーメッセージです。 ECS インスタンスと EIP の関連付けを解除してから、転送ルールを追加します。
400 Forbidden.InternalIpOutOfVpcCIDR The specified Destination Ip is Out of VPC CIDR. 指定された InternalIp が VPC の CIDR ブロックに存在しない場合に返されるエラーメッセージです。
400 Invalid.natgwNotExist The specified natgateway not exist. 指定された NAT Gateway が存在しない場合に返されるエラーメッセージです。
400 InvalidIp.NotInNatgw The specified Ip not belong to natgateway. 指定された IP アドレスが NAT Gateway に割り当てられていない場合に返されるエラーメッセージです。
400 MissingParameter Missing mandatory parameter 必須パラメーターが設定されていない場合に返されるエラーメッセージです。
500 InternalError The request processing has failed due to some unknown error. 不明なエラーのためリクエストが処理できない場合に返されるエラーメッセージです。
400 InvalidParameter.Name.Malformed The specified Name is not valid. 指定された名前が正しくない場合に返されるエラーメッセージです。 正しい名前を入力して、再試行します。

共通エラーコードをご参照ください。