ECS FargateでRails動かそうとして2ヶ月かかって手元に残ったもの【3.Fargate編】

弊社の基幹システムをVPSからAWSに移行するにあたって、まずはrailsを動かしてみる、という段階で無事に死にました☆
今後のための備忘録です。

前記事:[ECS FargateでRails動かそうとして2ヶ月かかって手元に残ったもの【2.Build編】](https://qiita.com/ShoutaWATANABE/items/7937cc4dcff174ce0284)

# 前回まででやったこと
![バックエンド構成.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/86a3d75b-eb96-76f7-15cf-02d8f2acaf07.png)


# 今回やったこと
今回はいよいよコンテナをfargteで動かして、ALBも用いて公開してみようと思います。

## [VPC](https://docs.aws.amazon.com/vpc/index.html)
今回はデフォルトのものを使います。
![スクリーンショット 2019-08-27 15.59.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/2e8b6457-f317-0874-e093-0235867dfcee.png)

## [RDS](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.html)
![FireShot Capture 016 - RDS · AWS Console - ap-northeast-1.console.aws.amazon.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/a49b182a-7b9c-dd28-4124-823115695428.png)

- エンジンのタイプはmysqlで設定して、バージョンも合わせます。
- データベースの承認情報は`docker-compose`ファイルなどで設定した環境変数と合わせます。
- VPCはデフォルトのもの、セキュリティグループは**デフォルトを消して**新規作成します。

## [ALB]()

![スクリーンショット 2019-08-26 14.23.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/e4066d43-eb23-c9de-d203-0b41169370b9.png)

![スクリーンショット 2019-08-26 14.24.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/122113b8-5021-6e1b-9aad-c2bf9a8d9fbb.png)

「サービス」 → 「ES2」 → 「ロードバランサー」を選ぶ。

![スクリーンショット 2019-08-26 14.24.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/3ffbee5e-6617-83e0-a935-f391e184b51d.png)

![スクリーンショット 2019-08-26 14.24.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/5bc0e7c1-752c-f7d3-12b7-80d06ddfd2b6.png)

![スクリーンショット 2019-08-26 14.25.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/cb7e7617-3b10-8577-b003-0cb4f822fa03.png)
アベイラビリティーゾーンは全てにチェックを入れます。

![スクリーンショット 2019-08-26 14.33.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/a0eac3f5-9714-afae-6ed2-95220b468fc2.png)

![スクリーンショット 2019-08-26 14.34.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/e1f9eefa-df8b-cd45-8f02-3ef88435385a.png)

![スクリーンショット 2019-08-26 14.35.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/b15baeab-3e3e-f193-c8fb-c34b76b9bab4.png)

![スクリーンショット 2019-08-26 14.35.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/71f3731d-0a8f-8d1c-6956-1d22acf5b111.png)

## [IAM](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/introduction.html)
ECSのアクセス権限を設定します。
「サービス」 → 「IAM」 → 「ロール」 → 検索ボックスに「ecs」と入力して、「ecsTaskExecutionRole」を選択

![スクリーンショット 2019-08-27 17.25.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/d8c48446-4d40-d1dd-fb6d-aa6bd5d67b24.png)

![スクリーンショット 2019-08-27 17.28.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/7094d82f-6ecd-94f1-5708-c45f82a71a7c.png)

![スクリーンショット 2019-08-27 17.43.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/90b70bb7-2bee-3ff1-52ae-e46e37edde7e.png)

![スクリーンショット 2019-08-27 17.43.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/f3cf7432-a867-0441-88e6-28e268de1604.png)

## [ECS](https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/Welcome.html)
「サービス」 → 「ECS」

### タスク定義
![スクリーンショット 2019-08-27 17.11.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/094160a8-365f-4152-20bf-b21b55c740ea.png)

![スクリーンショット 2019-08-27 17.11.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/858fb952-392d-b18b-4bc4-4a90b6fac895.png)

![FireShot Capture 018 - Amazon ECS - ap-northeast-1.console.aws.amazon.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/19224202-96b2-25c6-1a56-e624c334daed.png)

「コンテナの追加」がポイントになります。
ECRで設定した「web」と「server」のリポジトリをそれぞれ指定します。

- web
![スクリーンショット 2019-08-29 12.43.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/a06b359d-2ea1-1f10-455e-42f7a2109e72.png)
![スクリーンショット 2019-08-29 12.45.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/a76dc0fc-19c4-0183-0526-d094d137f434.png)

- server
![スクリーンショット 2019-08-29 12.46.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/8a7dd8ab-9958-d966-5630-299ad28bd665.png)

### クラスター
![スクリーンショット 2019-08-29 13.36.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/d009833c-33a7-3b95-83e3-16fe20658ce4.png)

![スクリーンショット 2019-08-29 13.37.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/67a7c7ad-14cc-0298-fc19-5d068993962c.png)

![スクリーンショット 2019-08-29 13.37.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/e37795e8-74c4-1292-84aa-7a3aec7088ba.png)

### サービス
![スクリーンショット 2019-08-29 13.41.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/1398ec98-e8e2-f85f-ea7e-90cf905e0ecd.png)

![FireShot Capture 020 - Amazon ECS - ap-northeast-1.console.aws.amazon.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/245e92df-5782-e195-ae0f-a430ac363b99.png)

![1FireShot Capture 026 - Amazon ECS - ap-northeast-1.console.aws.amazon.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/3d269054-8e1d-fca8-c72f-8836a9f9e1aa.png)

VPCを設定します。（点線部上）
![スクリーンショット 2019-08-29 14.57.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/7a2c969b-3b9a-bc45-d47c-225b49ca439d.png)
次にロードバランサーも設定します。
![2FireShot Capture 024 - Amazon ECS - ap-northeast-1.console.aws.amazon.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/369398c9-ec23-6ca7-767c-8cb055016024.png)

![3FireShot Capture 025 - Amazon ECS - ap-northeast-1.console.aws.amazon.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/e2f8e1e9-d369-4d9b-cd60-50f657d92522.png)

![4FireShot Capture 022 - Amazon ECS - ap-northeast-1.console.aws.amazon.com.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/492ebd40-5607-75d2-c6d0-a86800dbbccd.png)

これでサービスを動かせば、ひとまず設定は完了です。

## 起動確認
「サービス」 → 「EC2」 →　「ロードバランサー」 を選択して下部のメニューにアドレスがあるのでそこからコピペしましょう。
![スクリーンショット 2019-08-29 15.19.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/87eeb9f6-8322-0f3a-1510-b7d14c4d587d.png)

# 最後に
私自身、手探りで2ヶ月かかって、やっと起動にこぎつけました。
まだまだ設定が十分でない部分はあると思います。
今後も自分自身の備忘録として、更新を続けていきたいと思います。

# ここまでできたこと
![バックエンド構成 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/131949/4c26b1e9-b554-dc5c-7ffa-20c6eb5e31c0.png)

次記事:S3編。。。？