LoginSignup
22

More than 5 years have passed since last update.

Amazon ECSでコンテナをクラスタリングする

Last updated at Posted at 2018-01-01

ecs01.png

全体の流れ

  1. ローカルでコンテナを動かす
  2. ECSでコンテナを動かす
  3. ECSでコンテナをクラスタリングする ←今回の投稿
  4. ECSのログをCloudWatchで収集する
  5. ドメインを取得する
  6. ドメインにALBを割り当てる
  7. HTTPS化する

もくじ

今回の投稿ではコンテナをクラスタリングします。

  1. Application Load Balancerの作成
  2. セキュリティグループの作成
  3. ECSのリポジトリにコンテナイメージを登録する
  4. ECSのタスク定義を作成する
  5. ECSのクラスターを作成する
  6. ECSのサービスを作成する
  7. アクセス確認

ecs200.png

デプロイするコンテナについて

以前の投稿で作成したnginxのコンテナイメージをデプロイします。

1. Application Load Balancerの作成

コンテナへのロードバランシングを行うApplication Load Balancer(ALB)を作成します。

ec02.png
lb.png
lb01.png
lb02.png

lb03.png

補足:アベイラビリティゾーン
ECSでクラスターを作成する際にはここで選択したVPCを利用するようにします。

lb04.png
lb05.png

lb06.png

lb07.png
lb08.png
lb09.png
lb10.png

2. セキュリティグループの作成

ECSでクラスターを作成する際にEC2インスタンスに割り当てるセキュリティグループを作成しておきます。

sg.png
sg01.png
sg02.png

補足:VPC
ALBを作成する際に選択したVPCを選択する

補足: セキュリティグループのルール
ALBからEC2インスタンスへのアクセスを許可させる必要があるため、
ポート範囲にはコンテナのホストポートを指定する
ソースにはALBに割り当てられているセキュリティグループを指定する

補足:コンテナのホストポートについて
ホストポートを動的割当にした場合は32768 - 61000が利用される
参考:タスク定義パラメーター - Amazon Elastic Container Service

sg03.png

3. ECSのリポジトリにコンテナイメージを登録する

repo01.png
repo02.png
repo03.png
repo04.png
repo05.png
repo06.png

補足:リポジトリのURI
タスク定義で必要になるためメモしておく

4. ECSのタスク定義を作成する

task01.png
task02.png
task03.png

補足:イメージ
リポジトリのURIを指定する

補足:ポートマッピング
ホストポート0を指定することで、ポートが動的に割り当てられる

補足:コンテナのホストポートについて
ホストポートを動的割当にした場合は32768 - 61000が利用される
参考:タスク定義パラメーター - Amazon Elastic Container Service

task04.png
task05.png
task06.png

5. ECSのクラスターを作成する

cl01.png
cl02.png
cl03.png
cl04.png

補足:VPC、サブネット
1. Application Load Balancerの作成で指定したVPC、サブネットを指定する

補足:セキュリティグループ
2. セキュリティグループの作成で用意したセキュリティグループを指定する

cl05.png
cl06.png

6. ECSのサービスを作成する

sv01.png
sv02.png
sv03.png

補足:ELB名
1. Application Load Balancerの作成で作成したALBを指定する

sv04.png

補足:ターゲットグループ名
1. Application Load Balancerの作成の際に作成したターゲットグループを指定する

sv05.png
sv06.png
sv07.png

7. アクセス確認

ECS

ECSのコンソールで実行中のタスクステータスが確認できる。

sv08.png
sv09.png

EC2インスタンス

EC2インスタンスのコンソールでクラスターで利用しているEC2インスタンスが確認できる。

ac01.png

ターゲットグループ

ターゲットグループのコンソールでサービスで登録したタスクのヘルスチェックの状況が確認できる。

ac02.png

ALB

ALBのコンソールで表示されるDNS名にブラウザからアクセスする。

ac03.png

ac04.png

補足

【備忘録】ECSでデプロイしたコンテナにアクセス出来ない時に見直すこと - Qiita

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22