コンテナをそのまま使えるやつ?
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、タスク定義
名前をつけて必要なスペックを入力
(とりあえずデフォルトのままにしました、お金怖い、、、)
3、クラスターの作成
4、ロードバランサーの作成
今回はアプリケーションをデプロイしたいのでApplication Load Balancerを使います
名前つける以外はそのまま
VPCもdefaultのものでよいですが、インバウンドの設定で443と80は開けときましょう
ターゲットグループもここで作成
ロードバランサーに接続してきた人をコンテナで開けたportに転送する設定です
5、サービスの作成
環境はよくわからないのでそのままでいきます。
名前をつけて、タスクはとりあえず2にしときます。
※片方がクラッシュしたときとかに2つあれば便利そう
ロードバランサー、リスナー、ターゲットグループは前項のものを使用してサービスを作成
タスク
サービス作成後、自動で動き出します。cloud formationで見守りましょう。
立ち上がったら完成です!
その他
route53でドメインを購入し、ACMで証明書を取得することでHTTPSの接続も可能になります。
WAFをつけたりとAWSってお金は高いですが簡単に技術を導入できる良いサービスですね!