🙌
EC2 + ECS + ECR + Docker でのサーバレス環境構築手順ざっくりまとめ
前提
・EC2及びVPCなどの、ネットワークに接続するための初期設定は完了しているものとする
・Docker-compose済みのDocker Imageは存在しているものとする
手順
①ECRに任意のリポジトリを作成する。
②作成した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コンソールから「クラスターの作成」を選択
2. クラスターテンプレート「EC2 Linux + ネットワーキング」を選択
3. クラスターの設定を行う
④タスク定義を作成する。
1. ECSコンソールから「新しいタスク定義の作成」を選択
2. 起動タイプの互換性「EC2」を選択
3. タスクとコンテナ定義の設定を行う
※「コンテナの追加」のイメージに先ほどプッシュしたECRリポジトリのURIを指定する。
⑤サービスを作成する。
1. ECSコンソールのクラスターから「サービス」→「作成」を選択
2. サービスの設定を行う
3. ネットワーク構成の設定を行う
4. Auto Scalingの設定を行う
⑥コンテナを起動する。
1. ECSコンソールのクラスターのタスクから起動・停止を行う
備考
タスク定義に関しては、以下が参考になるかと。
Discussion