1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Amazon ECS(EC2)を試す小さなサンプルメモ

Last updated at Posted at 2020-03-16

メモ

前提

  • hoge を1秒おきにコンソール出力するだけのUbuntuをコンテナとして起動する
  • 手元はUbuntu(18.04)
  • docker インストール済
  • AWS認証情報を手元の環境に登録済み
  • ECS はEC2タイプで固定数のインスタンスとする

手順

  1. AWSマネジメントコンソールでECRでリポジトリを作成する
  2. 手元の環境で Dockerfile ファイルを作成する
Dockerfile
FROM ubuntu

CMD while :; do echo hoge ; sleep 1; done

3 . Dockerイメージ作成

ECRにプッシュすることを見据えてタグを付ける

% docker build . -t "[ECRのURI]:[今回のイメージのタグ]"
(例)% docker build . -t "xxxxxxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/ubuntu:sleep-echo"

4 . ECRにログイン

% aws ecr get-login-password | docker login --username AWS --password-stdin [ECRリポジトリのドメイン]
(例)% aws ecr get-login-password | docker login --username AWS --password-stdin xxxxxxxxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com

5 . ECR にイメージをpush

ECRにイメージがpushされることを確認する

% docker push [イメージのタグ]
(例)% docker push xxxxxx.dkr.ecr.ap-northeast-1.amazonaws.com/ubuntu:sleep-echo  

(以下からはAWSマネジメントコンソールでの作業)

6 . クラスタの作成

  • 「EC2 Linux + ネットワーキング」
  • クラスター名を適当に入力
  • EC2 インスタンスタイプを適当に選択
  • あとはデフォルトで作成

デフォルトではインスタンス数が「1」のはずなので、EC2インスタンスが1台立ち上げるはず。

7 . タスク定義の作成

  • 「新しいタスク定義の作成」
  • 「EC2」
  • 「タスク定義名」適当に入力
  • 「コンテナの追加」
    • 「コンテナ名」適当に入力
    • 「イメージ」にECRにアップしたイメージのURIを記入
    • 「メモリ制限」に128入力
  • 「作成」

8 . タスクの実行

  • ECSダッシュボードでクラスタを選択
  • タスクタブを選択
  • 「新しいタスクの実行」選択
    • 「起動タイプ」をEC2選択
    • 「タスク定義」で7で作成したタスクを選択
    • そのままタスクの実行

作成したEC2インスタンスでコンテナが実行される。
SSMのセッションマネージャ等でログインし、 docker ps するとわかりやすい。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?