Amazon API Gateway HTTP API 用の内部 Application Load Balancer とのプライベート統合を作成したいと考えています。
解決策
**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。
API Gateway HTTP API の内部 Application Load Balancer とのプライベート統合を作成するには、次の手順を実行します。
- Amazon Virtual Private Cloud (Amazon VPC) リンクを作成します。
- HTTP API を作成してルートを設定します。
- プライベートインテグレーションを作成します。
- HTTP API をデプロイします。
VPC リンクを作成する
前提条件:Application Load Balancer を作成すること。
次の手順を実行します。
-
API Gateway コンソールを開きます。
-
ナビゲーションペインで [VPC リンク] を選択します。
-
[VPC リンク] で [作成] を選択します。
または、次のcreate-vpc-link コマンドを使用して、AWS CLI から VPC リンクを作成します。
aws apigatewayv2 create-vpc-link --name MyVpcLink \
--subnet-ids subnet-aaaa subnet-bbbb \
--security-group-ids sg1234 sg5678
-
[VPC リンクバージョンを選択] で [HTTP API の VPC リンク] を選択します。
-
[名前] に VPC リンクの名前を入力します。
-
[VPC] ドロップダウンリストから、Application Load Balancer の接続先となる VPC を選択します。
-
[サブネット] で、VPC リンクに含めるサブネットを選択します。
-
[セキュリティグループ] で VPC リンクのセキュリティグループを選択し、[作成] を選択します。
HTTP API を作成してルートを設定する
次の手順を実行します。
- API Gateway コンソールを開きます。
- [API の作成] を選択します。
- HTTP API の場合は、[構築] を選択します。
- [API 名] に名前を入力し、[次へ] を選択します。
- [ルートを設定] で [次へ] を選択します。
- [ステージを設定] で [次へ] を選択し、[作成] を選択します。
- ナビゲーションペインで [ロール]、[作成] の順に選択します。
- [メソッド] で [任意] を選択します。
- パスに /{proxy+} と入力し、[作成] を選択します。
プライベートインテグレーションを作成し、HTTP API をデプロイする
次の手順を実行します。
- API Gateway コンソールを開きます。
- お使いの HTTP API を選択します。
- ナビゲーションペインで [統合] を選択します。
- [統合] で [統合を管理] を選択し、[作成] を選択します
- [この統合をルートにアタッチする] で [ANY/{proxy+}] を選択します。
- [統合ターゲット] で [プライベートリソース] を選択します。
- [統合の詳細] で [手動で選択] を選択します。
- [ターゲットサービス] で [ALB/NLB] を選択します。
- [ロードバランサー] で、作成済みの Application Load Balancer を選択します。
- [リスナー] で [HTTP 80] を選択します。
- [VPC リンク] で VPC を選択し、[作成] を選択します。
- (自動デプロイがアクティブな場合はこのステップをスキップしてください) [デプロイ] を選択して HTTP API をデプロイします。
- [URL を呼び出す] で URL をコピーして新しいブラウザウィンドウに貼り付けます。例えば、https://abcdef123.execute-api.us-east-1.amazonaws.com などです。
HTTP API URL はブラウザウィンドウに正常にレンダリングされます。
関連情報
Amazon API Gateway HTTP API チュートリアル
API Gateway 統合のレスポンスステータスコードを HTTP API にマッピングするにはどうすればよいですか?