0
1

AWSのECSファーゲートでウェブアプリをデプロイしたい

Posted at

コンテナをそのまま使えるやつ?

fargateってdockerコンテナをそのまま使えてドメインまで与えながらロードバランサーも簡単につけられるプロダクトってイメージ持ってます。※合ってるかは知りません
ただ設定がすごくめんどくさかったので備忘録で残しておきます。

手順

1、ECRを作成してimageをpush

Amazon Elastic Container Registryでリポジトリを作成

プッシュコマンドを表示 でCLIを用いてpushできる
自分はshellファイル作りました。

## AWSにログイン
aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin <ECRのarnみたいなやつ>
## dicker imageのビルド
docker compose up -d
## imageにtag付け
docker tag dev-indeed-entry-express:latest 654654318735.dkr.ecr.ap-northeast-1.amazonaws.com/dev-indeed-entry-express:latest
## リポジトリにpush
docker push <ECRのarnみたいなやつ>

2、タスク定義

名前をつけて必要なスペックを入力
(とりあえずデフォルトのままにしました、お金怖い、、、)
image.png

さっきのコンテナを選択
image.png

3、クラスターの作成

もちろん使うのはFargate
image.png

4、ロードバランサーの作成

今回はアプリケーションをデプロイしたいのでApplication Load Balancerを使います
image.png
名前つける以外はそのまま
image.png
VPCもdefaultのものでよいですが、インバウンドの設定で443と80は開けときましょう
image.png
ターゲットグループもここで作成
ロードバランサーに接続してきた人をコンテナで開けたportに転送する設定です
image.png

5、サービスの作成

環境はよくわからないのでそのままでいきます。

名前をつけて、タスクはとりあえず2にしときます。
※片方がクラッシュしたときとかに2つあれば便利そう
image.png

ロードバランサー、リスナー、ターゲットグループは前項のものを使用してサービスを作成

タスク

サービス作成後、自動で動き出します。cloud formationで見守りましょう。
立ち上がったら完成です!

その他

route53でドメインを購入し、ACMで証明書を取得することでHTTPSの接続も可能になります。
WAFをつけたりとAWSってお金は高いですが簡単に技術を導入できる良いサービスですね!

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