DNAT エントリを DNAT テーブルに追加します。
この 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 |
プロトコルの種類を設定します。 設定可能な値は次のとおりです。
|
RegionId | String | 必須 | cn-hangzhou |
NAT Gateway が設定されているリージョンの ID を設定します。 リージョン ID を照会するには、DescribeRegions を呼び出します。 |
ForwardEntryName | String | No | ForwardEntry-1 |
追加する SNAT エントリの 名前 を設定します。 名前の長さは 2 文字から 128 文字で、アルファベット文字または漢字で始まる必要があります。 |
レスポンスパラメーター
パラメーター | データ型 | 値の例 | 説明 |
---|---|---|---|
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. | 指定された名前が正しくない場合に返されるエラーメッセージです。 正しい名前を入力して、再試行します。 |
共通エラーコードをご参照ください。