NAT GatewayとVirtual Private Cloud (VPC) APIは同じエンドポイントを共有します。 NAT Gateway APIを呼び出すには、NAT Gateway APIのエンドポイントにHTTP GETリクエストを送信する必要があります。 呼び出す API に対応するリクエストパラメーターを追加する必要があります。 API操作を呼び出した後、システムは応答を返します。 要求および応答は両方ともUTF-8で符号化される。

リクエスト構文

NAT Gateway API操作では、リモートプロシージャコール (RPC) プロトコルを使用します。 HTTP GETリクエストを送信することで、NAT Gateway API操作を呼び出すことができます。

次のリクエスト構文を使用します。

http://Endpoint/?Action=xx&Parameters
説明:
  • Endpoint: NAT Gateway APIのエンドポイントがvpc.aliyuncs.comです。
  • Action:実行中の操作の名前を設定します。 たとえば、NATゲートウェイを作成するには、ActionパラメーターをCreateNatGatewayに設定する必要があります。
  • Version: 使用するAPIのバージョン。 現在のNAT Gateway APIのバージョンは2016-04-28です。
  • Parameters:API のリクエストパラメーターを設定します。 複数のパラメーターを指定する場合は、アンパサンド (&) で区切ります。

    リクエストパラメーターは、共通パラメーターと API 固有のパラメーターで構成されます。 共通パラメータには、APIのバージョン番号や認証情報などの情報が含まれます。 詳細については、「共通パラメーター」をご参照ください。

次の例は、CreateNatGateway操作を呼び出してNATゲートウェイを作成する方法を示しています。
説明 以下のコードは読みやすくするために編集されています。
https://vpc.aliyuncs.com/?Action=CreateNatGateway
&Format=xml
&バージョン=2016-04-28
&署名=xxxx % xxxx % 3D
&SignatureMethod=HMAC-SHA1
&SignatureNonce=15215528852396
&SignatureVersion=1.0
&AccessKeyId=キーテスト
&タイムスタンプ=2012-06-01T12:00:00Z
…

承認

アカウントのセキュリティを確保するために、RAM (Resource Access Management) ユーザーとしてNAT Gateway API操作を呼び出すことを推奨します。 NAT Gateway API操作をRAMユーザーとして呼び出すには、権限ポリシーを作成してRAMユーザーにアタッチする必要があります。

RAMユーザーに許可できるNAT GatewayリソースとAPI操作の詳細については、「RAM の権限付与」をご参照ください。

署名

セキュリティを確保するには、すべての API リクエストに署名する必要があります。 Alibaba Cloud はリクエストの署名を使用して、API の呼び出し元を確認します。

NAT Gatewayは、AccessKeyペアで対称暗号化を実装して、リクエスト送信者のIDを検証します。 AccessKeyペアは、Alibaba CloudアカウントとRAMユーザーに発行されるID認証情報で、ユーザー名とパスワードのペアに似ています。 AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。 AccessKey IDはユーザーの ID を検証するために使用され、AccessKey secret は署名文字列を暗号化して検証するために使用されます。 AccessKeyは秘密にしておく必要があります。

次の形式でNAT Gateway APIリクエストに署名を追加する必要があります。

https:// endpoint/?SignatureVersion=1.0&SignatureMethod=HMAC-SHA1&Signature=XXXX % 3D&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e 0axxxxxxxx

CreateNatGatewayを例として使用します。 AccessKey IDがtestidで、AccessKey secretがtestsecretであるとします。 次のサンプルコードは、リクエストが署名される前のリクエストのURLを示しています。

http://vpc.aliyuncs.com/?Action=CreateNatGateway
&タイムスタンプ=2016-05-23T12:46:24Z
&フォーマット=XML
&AccessKeyId=testid
&SignatureMethod=HMAC-SHA1
&SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx
&バージョン=2014-05-26
&SignatureVersion=1.0
署名を計算するには、次の操作を実行します。
  1. リクエストパラメーターを使用して、文字列記号を作成します。
    GET&% 2F&AccessKeyId % 3Dtestid&Action % 3DCreateNatGateway&Format % 3DXML&SignatureMethod % 3DHMAC-SHA1&SignatureNonce % 3D3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx&SignatureVersion % 3D1.0&TimeStamp % 3D2016-02-23T12% 253A46% 253A24Z&Version % 3D2014-05-15
    .
  2. 署名する文字列の HMAC 値を計算します。

    HMAC値を計算するキーとして、AccessKey secretにアンパサンド (&) を追加します。 この例のキーは、testsecret&とします。

    CT9X0VtwR86fNWS********juE=
  3. 署名文字列を Signature パラメーターとしてリクエストに追加します。
    http://vpc.aliyuncs.com/?Action=CreateNatGateway
    &タイムスタンプ=2016-05-23T12:46:24Z
    &フォーマット=XML
    &AccessKeyId=testid
    &SignatureMethod=HMAC-SHA1
    &SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0axxxxxxxx
    &バージョン=2014-05-26
    &SignatureVersion=1.0
    &署名=XXXX % 3D