🙌

EC2 + ECS + ECR + Docker でのサーバレス環境構築手順ざっくりまとめ

2021/04/30に公開

前提

・EC2及びVPCなどの、ネットワークに接続するための初期設定は完了しているものとする
・Docker-compose済みのDocker Imageは存在しているものとする

手順

①ECRに任意のリポジトリを作成する。
altテキスト

②作成したECRリポジトリへ、ローカルのDocker ImageをPushする。

1. ECRへログイン
  ・ターミナルで以下のコマンドを実行し、ログインする。

aws ecr get-login-password --region {対象のリージョン} | docker login --username AWS --password-stdin {AWSアカウントID}.dkr.ecr.{対象のリージョン}.amazonaws.com

2. Docker Imageのpush
  ・ターミナルで以下のコマンドを実行し、タグを付ける。

docker tag {イメージ名}:latest e9ae3c220b23 aws_account_id.dkr.ecr.region.amazonaws.com/{レジストリ名}:latest

・ターミナルで以下のコマンドを実行し、pushする。

docker push {AWSアカウントID}.dkr.ecr.{対象のリージョン}.amazonaws.com/{レジストリ名}:latest

③ECSのクラスターを作成する。

1. ECSコンソールから「クラスターの作成」を選択
altテキスト

2. クラスターテンプレート「EC2 Linux + ネットワーキング」を選択
altテキスト

3. クラスターの設定を行う
altテキスト

④タスク定義を作成する。

1. ECSコンソールから「新しいタスク定義の作成」を選択
altテキスト

2. 起動タイプの互換性「EC2」を選択
altテキスト

3. タスクとコンテナ定義の設定を行う
 ※「コンテナの追加」のイメージに先ほどプッシュしたECRリポジトリのURIを指定する。
altテキスト

⑤サービスを作成する。

1. ECSコンソールのクラスターから「サービス」→「作成」を選択
altテキスト

2. サービスの設定を行う
altテキスト

3. ネットワーク構成の設定を行う
altテキスト

4. Auto Scalingの設定を行う
altテキスト

⑥コンテナを起動する。

1. ECSコンソールのクラスターのタスクから起動・停止を行う
altテキスト

備考
タスク定義に関しては、以下が参考になるかと。

Discussion