Amazon FargateのアプリケーションをAPI Gateway経由で公開する

# 前提

[Amazon Fargateでアプリケーションを動かす](https://qiita.com/ykdevs/items/db62319de78a503c1f71)

これで作ったALB経由で公開しているアプリケーションをAPI Gateway経由での公開にする。

![スクリーンショット 2022-08-08 21.23.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/f1d72a3a-755d-2c2f-7763-5ee53293aa2d.png)



# 内部向けALBを作る

## ローカルALB用のセキュリティグループを作る

80番を受け付けて、ECSのVPCに向けて8080をバックポストするセキュリティグループ。

![スクリーンショット 2022-08-08 20.59.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/9d61e80e-896e-778b-ebe0-27d07df5a87d.png)

![スクリーンショット 2022-08-08 20.59.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/aab999bd-b83d-c739-fc2c-89e14414b39d.png)


## ターゲットグループを作る

8080ポートで接続。

![スクリーンショット 2022-08-08 21.04.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/95b2fb8e-0fde-11e9-2c51-6b0d7b470592.png)

![スクリーンショット 2022-08-08 21.05.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/188c5d82-c6d5-a5b9-cf81-29820bc8ae67.png)


## ALBを作る

スキームは内部。
リスナーポートは80。
ECS用のVPC内に構築する。
![スクリーンショット 2022-08-08 21.07.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/c77fdd35-3953-7ff6-1fc0-7930738505f8.png)

![スクリーンショット 2022-08-08 21.05.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/b7d64158-da30-abe7-3e5d-e78a15eecb15.png)

セキュリティ設定の構成は80ポートだと警告のみ
![スクリーンショット 2022-08-08 21.08.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/95e251d8-c93c-d52f-062f-060e89bcb260.png)

作成したセキュリティグループを指定する
![スクリーンショット 2022-08-08 21.10.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/a2591305-b954-4d3f-54a6-94eaf276406d.png)

作成したターゲットグループを指定する
![スクリーンショット 2022-08-08 21.10.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/f13bd23c-19dc-00b0-d708-72413c71c6ca.png)

コンテナが起動していないとターゲットが表示されない
![スクリーンショット 2022-08-08 21.11.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/3048c25d-ea0e-a6e0-bd86-b7556eb58162.png)

確認
![スクリーンショット 2022-08-08 21.12.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/1414d273-4ee3-8e42-9a46-6d0fb04c21b4.png)

結果
![スクリーンショット 2022-08-08 21.12.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/0f4ce2c3-7162-5e3c-56d0-c12c0f6c46b3.png)
![スクリーンショット 2022-08-08 21.12.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/0ab7f02b-d8e1-5fe7-0494-da2be959b221.png)


# VPCリンクを作る

ECS用のPVCを指定
サブネットも指定
セキュリティグループは指定しない

![スクリーンショット 2022-08-08 21.14.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/7a6d84a8-4588-5f97-3f9f-bc5a4a3a8a09.png)

![スクリーンショット 2022-08-08 21.19.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/5de36a43-e240-2dca-f17a-35d3cb51c3c0.png)


# APIを作る

## APIを作る

ほとんどは空で作る。

![スクリーンショット 2022-08-08 6.04.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/d69f5380-4302-e5b7-2aa7-8c3e9994d054.png)

![スクリーンショット 2022-08-08 6.05.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/62b16acd-0f44-77f9-c2a2-a145fa26ec52.png)

![スクリーンショット 2022-08-08 6.05.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/15f5a00f-776d-6f1c-4758-2712e1a38ed9.png)

![スクリーンショット 2022-08-08 6.05.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/6a346925-7e1d-b1e7-ede5-c8f7001c307a.png)

## ルートの作成

![スクリーンショット 2022-08-08 6.05.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/6d287576-e8f3-2335-fcbc-592b872e086c.png)

## 統合の作成

手動で選択でALBを選び、作成したロードバランサ、リスナー、VPCリンクを指定する。

![スクリーンショット 2022-08-08 21.21.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/d507e4bc-df3b-9140-e8fa-a425210aa7c6.png)


# 確認

URLをクリックしてみる。

![スクリーンショット 2022-08-08 20.39.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/6558ba18-b778-97ab-93d6-79973b8fe9d2.png)

ページが表示された。

![スクリーンショット 2022-08-08 20.41.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/81113/ead3bb5a-64ee-8018-c612-921c5f5cb6c0.png)