Amazon ECS
AWS Fargate
あるとき~ ないとき~
#kumonokai
トレノケ雲の会
mod.2
2018/8/29
#kumonokai
山下 光洋
自己紹介
山下光洋
@yamamanx
Blog : www.yamamanx.com
・ソフトウェア開発会社でIBMさんのBP
・ナイトレジャー会社,エネルギー会社で情シス
・AAI(AWS認定インストラクター)、
IT Terchnical Training Engineer@Trainocate
ヤマムギ(勉強会) , JAWS-UG,
JAWS-UG IoT関西支部, kintone Cafe大阪,
JP_Stripes, MasterCloud
The八番街ベース
緑のLv16 LvLv37
今日お話すること
Amazon ECSのAWS Fargate
(全スライド撮影OKです)
(1)Amazon ECSについて
(2)AWS Fargateについて
(3)あるとき~ ないとき~
(4)やってみた
#kumonokai
なぜコンテナを使うのか
コンテナを使うメリット
1. Portability & Flexibility
2. Fast & Rapid
3. Efficient
#kumonokai
なぜコンテナを使うのか
1. Portability & Flexibility
携帯 & 柔軟 (ポータビリティ & フレキシビリティ)
2. Fast & Rapid
早い & 迅速 (ファスト & ラピッド)
3. Efficient
効率的 (イフィシェント)
#kumonokai
なぜコンテナを使うのか
コンテナを使うメリット
Portability & Flexibility
軽便 & 柔軟 (ポータビリティ & フレキシビリティ)
・環境に依存しない
どこの環境でいつ実行しても同じ
・あいのりも可能
#kumonokai
なぜコンテナを使うのか
コンテナを使うメリット
Fast & Rapid
早い & 迅速 (ファスト & ラピッド)
・起動が速い
・継続性(CI/CDパイプライン)が高い
・繰り返しデプロイ、ロールバックも簡単
#kumonokai
なぜコンテナを使うのか
コンテナを使うメリット
Efficient
効率的 (イフィシェント)
・再利用性が高く無駄を排除できる
#kumonokai
なぜコンテナを使うのか
コンテナを使うメリット
1. Portability & Flexibility
どこの環境でも同じように、
2. Fast & Rapid
素早く簡単に、
3. Efficient
無駄なく使うことができる。
#kumonokai
Amazon ECSとは
検索してみると、、、、
EC2 Container Service ?????
Elasticじゃないのか?????
#kumonokai
Amazon ECSとは #kumonokai
あ、よかった。
Elastic Container Serviceだった。
Amazon ECSとは #kumonokai
ECS
コントロールプレーン
コンテナの管理をする
EC2
データプレーン
コントロールプレーンから
の指示に従って起動
ECR
リポジトリイメージを管理
Amazon ECSとは #kumonokai
なぜコンテナを使うのか
コンテナを使うメリット
1. Portability & Flexibility
どこの環境でも同じように、
1. Fast & Rapid
素早く簡単に、
1. Efficient
無駄なく使うことができる。
#kumonokai
ECSを使う理由 #kumonokai
#kumonokaiECSを使う理由
Amazon ECSとは #kumonokai
ECSを使うことで、
コンテナ1台ごとの管理は
不要になり、
エンジニアはアプリケーシ
ョンの開発に集中すること
が出来るようになる。
Amazon ECSとは #kumonokai
Amazon Fargateとは #kumonokai
AWS Fargateとは #kumonokai
・コンテナのためのEC2管理が不要
・インスタンスタイプの選択が不要
・Auto Scalingのタイミング設定が不要
→よりマネージドなサービスにより、
エンジニアは開発により注力できる
Fargateあるとき〜 #kumonokai
Fargateないとき〜 #kumonokai
Fargateがあるとき〜 #kumonokai
・EC2の管理が不要
・CPUとメモリを設定
・リソースの状態に応じて自然にAuto Scaling
Fargateがないとき〜 #kumonokai
・EC2の管理をしなければならない
・ECSエージェントのアップデート
・インスタンスタイプの設定
・Auto Scalingをうまく調整する
・Spot Freetやリザーブドインスタンスを
使って費用削減
・Windows Containers, GPU Support
EC2 vs Fargate #kumonokai
EC2タイプ Fargateタイプ
性能 インスタンスタイプ CPU要件、メモリ要件
メンテナンス EC2同様にOS管理が必要 不要
エージェント アップデートが必要 不要
Auto Scaling 調整/設定が必要 自動
料金 EC2の料金オプション(RI,Spot可) 秒単位
ECSやってみた手順 #kumonokai
1. ローカルにDockerの環境準備
2. https://hub.docker.com よりイメージを
取得
3. イメージをECRにアップロード
4. ECSの設定、起動(EC2 Type, Fargate)
5. ブラウザからアクセス
ECSやってみた手順 #kumonokai
2.https://hub.docker.com よりイメージを取得
$ docker run --name yama-wp -p 8080:80 -v /Users/yama/Documents/dev/docker:/var/www/html -d wordpress
326ec6a7d645d60b9b02f31d63ae55fcd59b2f3249d74d746e309ef8fbaf6c04
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
wordpress latest 51d61ae2bb49 4 days ago 408MB
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
NAMES
326ec6a7d645 wordpress "docker-entrypoint.s…" 12 seconds ago Up 11 seconds 0.0.0.0:8080->80/tcp
yama-wp
ECSやってみた手順 #kumonokai
3.イメージをECRにアップロード
ECSやってみた手順 #kumonokai
ECSやってみた手順 #kumonokai
$ aws ecr get-login --no-include-email --region ap-northeast-1
$ docker login -u AWS -p (超長いパスワード)
https://***********.dkr.ecr.ap-northeast-1.amazonaws.com
$ docker tag wordpress:latest ************.dkr.ecr.ap-northeast-
1.amazonaws.com/wordpress:latest
$ docker push ************.dkr.ecr.ap-northeast-
1.amazonaws.com/wordpress:latest
ECSやってみた手順 #kumonokai
ECSやってみた手順 #kumonokai
4.ECSの設定 - タスク定義
ECSやってみた手順 #kumonokai
4.ECSの設定 - タスク定義(EC2)
ECSやってみた手順 #kumonokai
4.ECSの設定 - タスク定義(EC2)
ECSやってみた手順 #kumonokai
4.ECSの設定 - タスク定義(Fargate)
ECSやってみた手順 #kumonokai
4.ECSの設定 - クラスタ
ECSやってみた手順 #kumonokai
4.ECSの設定 - サービス(EC2)
ECSやってみた手順 #kumonokai
4.ECSの設定 - サービス(Fargate)
ECSやってみた手順 #kumonokai
4.ECSの設定
ECSやってみた手順 #kumonokai
5.ブラウザからアクセス
まとめ #kumonokai
・コンテナ→環境を気にせず開発、デプロイが出来る。
・ECS→コンテナ1台ごとの管理は不要になる。
・Fargate→EC2インスタンスの管理が不要になる。
そして、
エンジニアはアプリケーションの開発に、
より集中することが出来る。
ご清聴ありがとうございました。
Special Thanx to…..

Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)