AWSのECSでNginxコンテナを立ち上げてブラウザからアクセスを行う

## 概要
AWSのECSでNginxコンテナを立ち上げてブラウザからアクセスを行う方法を記載する。
起動タイプはEC2を選択している。
なお、今回のクラスターは試験で作成しているため詳細の設定は省いている。

## クラスターの作成
### ECS画面に移動
AWSのコンソールにログインし、左上の検索バーで[ecs」と検索してECSの画面に移動する。
![スクリーンショット 2022-08-30 21.36.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/5dc7584d-1324-aea6-7362-15a51a0e04cb.png)

### クラスターの作成
左サイドバーの「クラスター」をクリックして「クラスターの作成」をクリックする。
![スクリーンショット 2022-08-30 21.49.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/7e9a6751-65cd-2dfa-ff47-a87c0ab91fb9.png)

クラスターテンプレートの選択画面に遷移する。
今回はLinuxを使用する。
右下の「次へ」ボタンをクリックする。
![スクリーンショット 2022-08-30 21.52.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/4b715cbb-5c13-ab5e-fb34-219e2316838b.png)

任意のクラスター名とインスタンスタイプを入力して「作成」ボタンをクリックする。（今回はその他の値は設定しない）
![スクリーンショット 2022-08-30 21.58.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/059a4e51-a8fc-4ad7-b0d4-b6a467e70add.png)

正常にクラスターが作成されることを確認する。
![スクリーンショット 2022-08-30 22.00.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/51e9662c-335b-0f99-233f-2c3f3a7c2edc.png)

## タスク定義の作成
右サイドバーの「タスクの定義」から「新しいタスクの定義の作成」をクリックする。
![スクリーンショット 2022-08-30 22.02.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/2c4467d0-d349-78fe-865f-83da84fefea2.png)

起動タイプでEC2を選択する。
![スクリーンショット 2022-08-30 22.04.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/fe86c198-4bda-6b14-6fe0-0a974acb76b1.png)

タスク定義名と必要な場合はタスクロールと実行ロールを選択する。
次に「コンテナの追加」ボタンをクリックする。
![スクリーンショット 2022-08-30 22.06.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/d6d49dad-47f8-1353-0086-b76bcf5939e7.png)
![スクリーンショット 2022-08-30 22.07.33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/69dacdcd-2629-5104-1661-252f9709df80.png)

任意のコンテナ名を入力する。
イメージはnginxの最新版を取得するので `nginx:latest`と記載する。
メモリ制限に128MiBを設定する。（値は任意）
ポートマッピングはホストポートを`0`コンテナポートを`80`とする。
ホストポートを`0`に選択することで、ホストが一時ポート範囲から任意のポートを動的に選択する。
「次へ」ボタンをクリックする。
![スクリーンショット 2022-08-30 22.11.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/b84de6a8-d5f7-3170-58ac-dc7bd24853c1.png)

タスク定義が正常に作成されることを確認する。
![スクリーンショット 2022-08-30 22.12.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/4c8e7629-d8b3-fa74-3ff3-7bea5da903c9.png)

## タスクの実行
左サイドバーのクラスターをクリックして「タスク」タブを開き、「新しいタスクの実行」ボタンをクリックする。
これで先ほど定義したNginxのタスクを実行することができる。
![スクリーンショット 2022-08-30 22.13.48.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/f71886f6-d37a-460f-c9ed-787d35043852.png)


実行が完了したことを確認できた。

![スクリーンショット 2022-08-30 22.16.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/43c4fa06-8255-0ca6-c0e0-dedc9c3fe4ab.png)

## EC2のインバウンドルールを変更する
最後にEC2のインバウンドルールを変更する。
現状はコンテナにアクセスできるポートは`49153`番になっているがポートが空いていないためアクセスすることができない。
そのためEC2のインバウンドルールで割り当てられたポートを許可してアクセス可能にする。

タスクが実行完了したページの下部に「コンテナ」という章がある。
その中の▼をクリックしてホストポートと外部リンクを確認する。
後程ホストポートと外部リンクは使用するので、メモするかタブを開けたままにするのが良い。

![スクリーンショット 2022-08-30 22.27.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/8b5f9c3c-1731-334d-6390-3021a05ea71a.png)

同じ画面の上部に戻り、EC2インスタンスのリンクをクリックする。
![スクリーンショット 2022-08-30 22.30.43.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/a4f920b5-fc7f-a14b-6642-fa63a1d16cbc.png)

今回作成したインスタンスをチェックし、セキュリティタブをクリックする。
その後、セキュリティグループのリンクをクリックする。
![スクリーンショット 2022-08-30 22.32.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/89aa3a4c-1387-7009-e71a-cea831ab443d.png)

インバウンドルールタブの「インバウンドのルールを編集」ボタンをクリック。
![スクリーンショット 2022-08-30 22.35.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/d6f600cd-a300-6d26-b843-c1b1bc56cd50.png)

ポート範囲に、今回作成したNginxコンテナに割り当てられたホストのポート番号を入力する。
CIDRブロックは「0.0.0.0/0」に設定して「ルールを保存」ボタンをクリックする。
![スクリーンショット 2022-08-30 22.40.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/fc57d48b-374a-b6d9-35c4-240f6540f3bc.png)

最後に先ほど確認した外部リンクにアクセスするとNginxが立ち上がっていることを確認できる。

![スクリーンショット 2022-08-30 22.39.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/952574/b3726a37-c70a-e3cd-7dcf-35bd4a3e21c2.png)

以上。