LoginSignup
0
0

More than 1 year has passed since last update.

ECS(FARGATE) と ECR

Posted at

教材

前提

https://qiita.com/sanajima/items/cfbac6635b48890a1ba9
の通りローカルでDockerコンテナ作成しておきHelloWorldできるようにしておく

完成形

作業(ローカル)

①Windows10のターミナルを開きUbuntuのウィンドウを開きます
②作業ディレクトリを作成してDockerFileを作成します

mkdir ecs_test

cd ecs_test

code Dockerfile(VSCodeを使用している場合)

FROM nginx:latest
COPY ./src /usr/share/nginx/html

③htmlファイルを作成します

mkdir src

code src/index.html

Hello world from ECS nginx!!!

④Dockerファイルのあるディレクトリで
docker build . -t hello-world-from-ecs

⑤docker images
としてイメージが出来ていることを確認する

⑥ docker run --rm -d -p 80:80 hello-world-from-ecs
としてブラウザ表示してみる
または、Docker For Windowsのアプリから「OPEN IN BROWSER}してみる

作業(AWSマネジメントコンソール→ECR)

⑦ECRを開く(←間違えないように!!)

⑧リポジトリを作成する「hello-world-from-ecs」というリポジトリ名で。

⑨プッシュコマンドの表示をクリック。
image.png

Linuxを参考にする。
参考サイトにあるように、「docker build -t hello-world-from-ecs .」は飛ばす
(ローカルで実施ずみだから)

★aws ecr get-login-password ~が失敗するときは
ホームディレクトリの.awsフォルダの中の認証情報のファイルを見直す

vi credentials

作業(VPCその他を作成)

⑪VPCを作成する
⑫サブネットを作成する
⑬インターネットゲートウェイを作成する→先ほど作ったVPCにアタッチする
⑭ルートテーブルを作成する→きほど作ったサブネットを紐づける
⑮ルートテーブルのルートの設定で「0.0.0.0/0」を先ほど作ったインターネットゲートウェイを指定する

作業(AWSマネジメントコンソール→ECS)

⑯ECSを開く←間違えない

⑰今すぐ始める→クラスターの作成→ネットワーキングのみ(FARGATEを使用)→名前を付ける

⑱タスク定義→新しいタスク定義の作成→Fargate→名前を付ける・コンテナを指定する(先ほど作ったECR)

大事!!
「タスクロール : なし」
「タスク実行IAMロール : 新しいロールの作成」
「ポートマッピング コンテナポート:80 , プロトコル:tcp」
を指定または選びます。

⑲もう一度クラスター → サービス→ 作成 →起動タイプ「Fargate」
→名前を付ける、タスクの数1とかにする
→ネットワークの設定で、先ほど作ったVPCやサブネットを指定する
→「パブリックIPの割当て ENABLED」

でサービスを作成し、PublicIPをブラウザに入れると、HelloWorldできます。

-
所感

AWSの画面が変更されているので読み替えながら、実施しました

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