Amazon API Gateway HTTP API の内部 Application Load Balancer を使用してプライベート統合を作成したいと考えています。これを行うにはどうすればよいですか?
解決方法
以下の手順に従って、Amazon Virtual Private Cloud (Amazon VPC) リンク、HTTP API、プライベート統合を作成し、HTTP API をデプロイします。
注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
VPC リンクを作成する
1. まだ作成していない場合は、手順に従って Application Load Balancer を作成します。
2. API Gateway コンソールを開き、ナビゲーションペインで[VPC links (VPC リンク) を選択します。
3. [VPC Links (VPC リンク) から [Create] (作成) を選択します。
(オプション) 次のような AWS CLI コマンド create-vpc-link を使用して VPC リンクを作成することもできます。
aws apigatewayv2 create-vpc-link --name MyVpcLink \
--subnet-ids subnet-aaaa subnet-bbbb \
--security-group-ids sg1234 sg5678
4. [Choose a VPC link version] (VPC リンクバージョンを選択) から [VPC link for HTTP APIs] (HTTP API 用 VPC リンク) を選択します。
5. [Name] (名前) に VPC リンクの名前を入力します。
6. [VPC] ドロップダウンリストから Application Load Balancer の VPC を選択します。
7.[Subnets] (サブネット) で VPC リンクに含めるサブネットを選択します。
8. [Security groups] (セキュリティグループ) で VPC リンクのセキュリティグループを選択し、[Create] (作成) を選択します。
HTTP API とルートを作成する
1. API Gateway コンソールを開き、[Create API] (API を作成) を選択します。
2. [HTTP API] で[Build] (ビルド) を選択します。
3. API nameに名前を入力して、[次へ] を選択します。
4. [Configure routes] (ルートを設定) で [次へ] を選択します。
5. [Configure stages] (ステージを設定) で [次へ] を選択し、[Create] (作成) を選択します。
6. ナビゲーションペインで、[Routes] (ルート) を選択し、[Create] (作成) を選択します。
7. [Method] (メソッド) で [ANY] を選択します。
8. パスに「/{proxy+}」と入力し、[Create] (作成) を選択します。
プライベート統合を作成して HTTP API をデプロイする
1. API Gateway コンソールを開き、目的の HTTP API を選択します。
2. 左側のナビゲーションペインで、[Integrations] (統合) を選択します。
3. [Integrations] (統合) で [Manage integrations] (統合を管理) を選択し、[Create] (作成) を選択します。
4. [Attach this integration to a route] (この統合をルートにアタッチ) で [ANY /{proxy+}] を選択します。
5. [Integration target] (統合ターゲット) で [Private resource] (プライベートリソース) を選択します。
6. [Integration details] (統合の詳細) で [Select manually] (手動で選択) を選択します。
7. [Target service] (ターゲットサービス) で [ALB/NLB] を選択します。
8. [Load balancer] でロードバランサーを選択します。
9. [Listener] (リスナー) で [HTTP 80] を選択します。
10. [VPC link (VPC リンク) で VPC を選択し、[Create] (作成) を選択します。
11. (自動デプロイが有効な場合は、このステップをスキップします) [Deploy] (デプロイ) を選択して HTTP API をデプロイします。
12. [Invoke URL] (呼び出し URL) で URL をコピーして新しいブラウザウィンドウに貼り付けます。この URLは https://abcdef123.execute-api.us-east-1.amazonaws.com のようになります。
HTTP API URL がブラウザウィンドウで正常にレンダリングされます。
関連情報
Amazon API Gateway HTTP API tutorials (Amazon API Gateway HTTP API チュートリアル)
How do I map the response status codes for API Gateway integrations in HTTP APIs? (HTTP API で API Gateway 統合のレスポンスステータスコードをマッピングする方法を教えてください)