全体の流れ
- ローカルでコンテナを動かす
- ECSでコンテナを動かす
- ECSでコンテナをクラスタリングする ←今回の投稿
- ECSのログをCloudWatchで収集する
- ドメインを取得する
- ドメインにALBを割り当てる
- HTTPS化する
もくじ
今回の投稿ではコンテナをクラスタリングします。
- Application Load Balancerの作成
- セキュリティグループの作成
- ECSのリポジトリにコンテナイメージを登録する
- ECSのタスク定義を作成する
- ECSのクラスターを作成する
- ECSのサービスを作成する
- アクセス確認
デプロイするコンテナについて
以前の投稿で作成したnginxのコンテナイメージをデプロイします。
1. Application Load Balancerの作成
コンテナへのロードバランシングを行うApplication Load Balancer(ALB)を作成します。
補足:アベイラビリティゾーン
ECSでクラスターを作成する際にはここで選択したVPCを利用するようにします。
2. セキュリティグループの作成
ECSでクラスターを作成する際にEC2インスタンスに割り当てるセキュリティグループを作成しておきます。
補足:VPC
ALBを作成する際に選択したVPCを選択する補足: セキュリティグループのルール
ALBからEC2インスタンスへのアクセスを許可させる必要があるため、
ポート範囲にはコンテナのホストポートを指定する
ソースにはALBに割り当てられているセキュリティグループを指定する補足:コンテナのホストポートについて
ホストポートを動的割当にした場合は32768 - 61000
が利用される
参考:タスク定義パラメーター - Amazon Elastic Container Service
3. ECSのリポジトリにコンテナイメージを登録する
補足:リポジトリのURI
タスク定義で必要になるためメモしておく
4. ECSのタスク定義を作成する
補足:イメージ
リポジトリのURI
を指定する補足:ポートマッピング
ホストポートに0
を指定することで、ポートが動的に割り当てられる補足:コンテナのホストポートについて
ホストポートを動的割当にした場合は32768 - 61000
が利用される
参考:タスク定義パラメーター - Amazon Elastic Container Service
5. ECSのクラスターを作成する
補足:VPC、サブネット
1. Application Load Balancerの作成で指定したVPC、サブネットを指定する補足:セキュリティグループ
2. セキュリティグループの作成で用意したセキュリティグループを指定する
6. ECSのサービスを作成する
補足:ELB名
1. Application Load Balancerの作成で作成したALBを指定する
補足:ターゲットグループ名
1. Application Load Balancerの作成の際に作成したターゲットグループを指定する
7. アクセス確認
ECS
ECSのコンソールで実行中のタスクステータスが確認できる。
EC2インスタンス
EC2インスタンスのコンソールでクラスターで利用しているEC2インスタンスが確認できる。
ターゲットグループ
ターゲットグループのコンソールでサービスで登録したタスクのヘルスチェックの状況が確認できる。
ALB
ALBのコンソールで表示されるDNS名にブラウザからアクセスする。