0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【ECS】ALBを通してnginx+php-fpm環境をECSで動かす

Posted at

ゴール

下記で作成したコンテナへのアクセスにALBを使う。phpinfoが見られればOK
https://qiita.com/chanP_yamazaki/items/f4829a2905582a78223a

ALBとターゲットグループを作成する

手順 名称 設定値
ロードバランサーの設定 名前 ecs-cluster-alb
アベイラビリティーゾーン aとc両方にチェック
セキュリティグループの設定 セキュリティグループの割当 ポート80許可したものを設定 or 作成
ルーティングの設定 ターゲットグループ HTTP、ポート80のターゲットグループを作成or割当

ECSのタスクを定義する

※記載がないパラメータは変更しないものとする

・タスク名をつける
 後から変えられないので注意
・コンテナの追加
 これがまさにdocker-compose.ymlに相当している

 ▼ nginx

名称 設定値
コンテナ名 nginx
イメージ ECRにプッシュしたnginxコンテナの「イメージのURI」をコピーして貼り付け
メモリ制限 必要な分だけ設定。全コンテナの合計値がインスタンスのメモリサイズを超えないように注意
ポートマッピング 設定なし:80に設定する
スタートアップ依存順序 depends_on設定。コンテナ名「php-fpm」、状態「START」を設定
ネットワーク設定 リンクに「php-fpm:php-fpm」を設定
ストレージとログ ログ設定の「Auto-configure CloudWatch Logs」をONに (立ち上げに失敗した際にログを追えるようになる
 他は最小構成では設定不要

 ▼ php-fpm

名称 設定値
コンテナ名 php-fpm
イメージ ECRにプッシュしたphp-fpmコンテナの「イメージのURI」をコピーして貼り付け
メモリ制限 必要な分だけ設定。全コンテナの合計値がインスタンスのメモリサイズを超えないように注意
ポートマッピング php-fpmは外に開ける必要無いので設定不要
ストレージとログ ログ設定の「Auto-configure CloudWatch Logs」をONに (立ち上げに失敗した際にログを追えるようになる
 他は最小構成では設定不要

・他は設定せず作成

ECSクラスターを作成する

・Amazon Container Service -> Amazon ECS -> クラスター へ
・クラスターの作成

ステップ 名称 設定値
クラスターテンプレートの選択 クラスターテンプレートの選択 EC2 Linux + ネットワーキング
クラスターの設定 クラスター名 test-cluster
インスタンスの設定各種 インスタンスタイプや数は必要に応じて
AmiId 特に理由がなければ今は 「AmazonLinux2」
キーペア コンテナの思想上、インスタンスに入って何かを操作する必要はないので 「なし」 
ネットワーキング各種 vpc、サブネットは必要に応じた設定を
ネットワーキング - セキュリティグループ ポートは0-65535まで開ける。IPは必要なものを
Auto assign public IP Disabled

・作成実行
 実行したクラスターの「ECSインスタンス」タブで、指定した個数のインスタンスが立ち上がり、ステータスがACTIVEになったことを確認

コンテナを立ち上げる

・サービスタブを開いて「作成」

ステップ 名称 設定値
サービスの設定 起動タイプ EC2
タスク定義 ファミリー 先ほど「タスク定義」で作ったタスクを指定
タスク定義 リビジョン latest(最新バージョン)を指定
クラスター test-cluster
サービス名 適当に
サービスタイプ REPLICA (DAEMONだとどう変わるか後で調査
タスク数 1
ネットワーク構成 ロードバランサーの種類 ALBを指定
ネットワーク構成 ロードバランサー名 先ほど作成したもの
ネットワーク構成 ロードバランス用のコンテナ nginx:0:80 を追加
ネットワーク構成 プロダクションリスナーポート 80:HTTP
Auto Scalingオプション EC2インスタンスの数をAutoScalingさせたいならここで設定。今回は何も設定せず次へ

・サービスの作成
・作成したサービスのタスクタブにRUNNINGのタスクが出来あがれば成功
・ELBのpublicIPかDNS名にアクセスしてphpinfoが確認できればOK!

0
0
0

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?