1
1

More than 1 year has passed since last update.

【AWS】AWSでDocker環境を動かす ECS,ECR,Fargate

Posted at

前回、React+nginxの環境をDockerで作ったので、AWSでコンテナを実行してみたいと思う。

1. ECRのリポジトリを作成する
リポジトリを作成
image.png
リポジトリ名を入力
image.png
ここにimageをアップしていく

2.プッシュコマンドを入力していく
プッシュコマンドを表示をクリックして出てきたコマンドをターミナルに入力していく
image.png

ここでログインができない人はaws configureコマンドを入力して認証を行いましょう

2. VPCを作成する
名前とIPv4 CIDRブロックを指定します。
IPv4 CIDRブロックは192.168.0.0/16を指定したいと思います。
10.0.0.0/16でも〇
image.png

3. サブネットを作成する
AZが1aのサブネットを作成します
VPC IDは先ほど作成したものを割り当て、IPv4 CIDRブロックは192.168.10.0/24とします。
アベイラビリティーゾーンはアジアパシフィック東京/ap-northeast-1aを指定します
image.png

4. インターネットゲートウェイの作成
インターネットから通信できるようにインターネットゲートウェイを設定します
名前を付けて作成をクリック
image.png

次にアクションからVPCにアタッチをクリックして、作成したVPCを選択します
image.png

5. ルートテーブルの作成
名前とVPCを選択し、ルートテーブルを作成します
image.png

次にルートを編集をクリックします
image.png

送信先を0.0.0.0/0、ターゲットをインターネットゲートウェイで先ほど作成したものを選択します
image.png

次にサブネットの関連付けをクリックして編集をクリック、サブネットを割り当てます。
image.png

6. ECSからECRのイメージを起動する
ECSの画面からクラスターの作成をクリック
image.png

今回はFargateを使用するのでネットワーキングのみを選択
image.png

次の画面のVPCの作成はチェックを入れない

7. タスク定義の作成
タスク定義を作成していきます
image.png

Fargateを指定します。
image.png

上から
タスクロール:なし
タスク実行ロール:ecsTaskExecutionRole
Cloud Watchにログを残したいため
タスクメモリ:0.5GB
タスクCPU:0.25vCPU
image.png

コンテナの追加をクリック
image.png

コンテナ名とイメージ名を入力します
image.png

イメージはECRのリポジトリの↓から取ってくることができます
image.png

コンテナポートは80を指定します
Dockerでbuildしたときdocker run --rm -p 8081:80とし、コンテナ側のポートが80番なので今回も80番に設定する(らしいです)
image.png

8. クラスターとタスク定義を結びつける(サービス)
ECSの画面からクラスター→サービスタブへと移動し、作成をクリック
image.png

上から
起動タイプ:FARGATE
オペレーティングシステムファミリー:Linux
タスク定義:先ほど作成したもの
リビジョン:1(latest)まだ他のものがないので
プラットフォームのバージョン:Latest
クラスター:先ほど作成したもの
タスクの数:1 コンテナが増えると2とかに増やさなくてはならない?
image.png

VPCとサブネットは先ほど作ったものを割り当て、
image.png

9. ブラウザから開く
タスクをクリック
image.png

ネットワーク→パブリックIPをブラウザに打ち込むと表示されます
image.png

image.png

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