VPC アクセス権限の接続テストは、API Gateway インスタンスから権限が付与された VPC 内のバックエンドインスタンスへのネットワーク接続を検証し、API デバッグフェーズの早い段階で接続関連の呼び出しの失敗を特定するのに役立ちます。
VPC アクセス権限
VPC アクセス権限とは、API Gateway が VPC にデプロイされたバックエンドサービスにアクセスすることを許可するレコードです。VPC アクセス権限を作成するには、VPC ID、サービスをホストする CLB または ECS インスタンスのインスタンス ID、およびサービスポート番号を指定します。これらの値を組み合わせることで、バックエンドサービスが一意に識別され、API Gateway がそのサービスへアクセスすることが許可されます。詳細については、「VPC 内のリソースを API バックエンドとして使用」をご参照ください。
接続テスト
-
API Gateway コンソールにログインします。左のナビゲーションペインで、 を選択し、VPC アクセス権限を作成します。
-
[接続テスト] をクリックし、対象の API Gateway インスタンスを選択します。
重要選択したインスタンスにアクセス制御ポリシーが設定されていないことを確認してください。設定されている場合、接続テストが失敗する可能性があります。
-
[テスト] をクリックします。選択した API Gateway インスタンスから、VPC アクセス権限で指定されたバックエンドサービスにネットワークプローブが送信されます。テストが完了すると、現在のページで結果を確認できます。
-
テストに合格
インスタンスのドロップダウンリストの左側にある緑色のチェックマークは、ネットワーク接続が確立され、接続テストに合格したことを示します。
この機能は、ゲートウェイインスタンスのバージョンが 3.5.3.791 以降の場合にのみ利用可能です。この機能が利用できない場合は、インスタンスのバージョンを確認するか、アップグレードをリクエストするには弊社までお問い合わせください。
-
テストに失敗
接続テストが失敗すると、通常、API Gateway インスタンスと VPC アクセス権限で指定されたサービスとの間のネットワーク接続を確立できなかったことを示すメッセージが表示されます。テストが失敗した場合は、[トラブルシューティングガイド] のリンクをクリックし、指示に従ってトラブルシューティングを行ってください。
接続テストダイアログボックスの [インスタンス] フィールドの左側に赤色のエラーアイコン (×) が表示され、ネットワークの障害を示します。
-
トラブルシューティング
接続テストが失敗した場合は、[トラブルシューティングガイド] をクリックしてダイアログボックスを開き、解決手順に従ってください。ダイアログボックスの内容は、VPC アクセス権限で指定されたインスタンスタイプ (CLB または ECS) によって異なります。
トラブルシューティングのプロセスは、主に 3 つのステップで構成されます:
-
VPC アクセス権限情報の確認
VPC アクセス権限を作成する際には、VPC ID、インスタンス ID、およびサービスポート番号を指定する必要があります。このステップでは、対応するクラウドサービスのコンソールに移動し、入力した情報が正しいことを確認します。
VPC ID の確認:VPC コンソールにログインします。左のナビゲーションペインで、[VPC] をクリックします。インスタンスリストで対象の VPC の ID を見つけます。インスタンス ID の確認:ECS コンソールにログインします。左のナビゲーションペインで、[インスタンス] をクリックします。インスタンスリストで対象の ECS インスタンスの ID を見つけます。サービスポート番号の確認:バックエンドサービスのリスニングポートが、VPC アクセス権限で指定されたポート番号と一致することを確認します。
-
ECS インスタンスのセキュリティグループ、または CLB インスタンスのブラックリストとホワイトリストの確認
-
VPC アクセス権限が、セキュリティグループが設定された ECS インスタンスを指している場合は、API Gateway インスタンスのエグレス IP アドレスをセキュリティグループのインバウンドルールに追加します。
-
VPC アクセス権限が、ホワイトリストベースのアクセス制御ポリシーを使用する CLB インスタンスを指している場合は、API Gateway インスタンスのエグレス IP アドレスを対応するアクセス制御ポリシーグループのアドレスエントリに追加します。
-
-
バックエンドサービスの実行ステータスの確認
このステップでは、バックエンドサービスの実行ステータスと正常性を確認します。VPC アクセス権限で指定されたインスタンスが ECS インスタンスの場合は、そのヘルスステータスを確認します。インスタンスが CLB インスタンスの場合は、設定されたリスナーの実行ステータスを確認し、ヘルスチェックに合格したことを確認します。ポートが有効であることを確認するには、VPC 内の任意のサーバーにログインし、curl コマンドを実行して、ECS または CLB インスタンスの指定されたポートがリッスンしているかどうかを確認します。