API GatewayのバックエンドとしてはLambdaが王道ではあるが、他のサービスと連携させたいときに何が選べて、どうすれば実現できるのかいまいち不明だったので軽く調べてみた。
特にECSと直接連携できるのか気になった。間にALBまたはサービスディスカバリ(ECSの機能)を挟む必要があるらしい。あとこの場合RESTではなくHTTP APIになる模様。それともどっちでもいける? あといずれのパターンでも、GatewayがVPC内のリソースにアクセスするためにVPCリンクを作成する必要がある。
チュートリアル: Amazon ECS サービスへのプライベート統合を使用した HTTP API の構築 ※間にALBを挟む例
ECSをAPI Gatewayと組み合わせる ※サービスディスカバリ事例
API Gateway 統合を使用して Fargate で実行されているマイクロサービスを呼び出す ※Step Functions使用例
以下は若干古い記事なので現在の仕様と異なる可能性あり。つまり過去は制約があってこの構成になったが、今なら先のリンクのような別のソリューションがある。一応参考までに貼っておく。
API Gateway経由でのみアクセス可能なAPIをECSで構築する
API GatewayとAPIサーバの連携
これも貼っておく。REST APIの事例も欲しい。
API Gateway の HTTP API が 5つのAWSサービスとの統合をサポート