Submit Search
Upload
ECS for Docker Meetup #4
•
14 likes
•
13,580 views
Shinpei Ohtani
Follow
ECS for Docker Meetup #4
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 42
Download now
Download to read offline
Recommended
ECS-CLI in Action
ECS-CLI in Action
Ryo Nakamaru
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
shigeyuki azuchi
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
Takashi Makino
社内システム on AWS
社内システム on AWS
kudo-jun
同じサービスをECSとOpsWorksで運用してみた
同じサービスをECSとOpsWorksで運用してみた
Jun Ichikawa
AWS ベーシックトレーニング-トレーニング資料
AWS ベーシックトレーニング-トレーニング資料
Amazon Web Services Japan
Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズ
SORACOM, INC
Recommended
ECS-CLI in Action
ECS-CLI in Action
Ryo Nakamaru
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
ElastiCacheを利用する上でキャッシュをどのように有効に使うべきか
Amazon Web Services Japan
Jenkinsとamazon ecsで コンテナCI
Jenkinsとamazon ecsで コンテナCI
shigeyuki azuchi
Dockerでらくらく開発・運用を体感しよう
Dockerでらくらく開発・運用を体感しよう
Takashi Makino
社内システム on AWS
社内システム on AWS
kudo-jun
同じサービスをECSとOpsWorksで運用してみた
同じサービスをECSとOpsWorksで運用してみた
Jun Ichikawa
AWS ベーシックトレーニング-トレーニング資料
AWS ベーシックトレーニング-トレーニング資料
Amazon Web Services Japan
Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズ
SORACOM, INC
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
Takeshi Morikawa
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
Daigou Harada
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成
Microsoft Azure Japan
microPCFを使ってみよう
microPCFを使ってみよう
Hiroaki_UKAJI
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Hidetoshi Hirokawa
Using Windows Azure
Using Windows Azure
Shinji Tanaka
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化
Yuki Kanazawa
ZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツ
ShinsukeYokota
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみた
kokuboyuichi
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
Shunsuke Michii
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
聡 大久保
Docker & Kubernetes基礎
Docker & Kubernetes基礎
Daisuke Hiraoka
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
Midori Oge
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
Hideki Saito
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレ
peryaudo
Awsをちゃんと使ってみた 監視編
Awsをちゃんと使ってみた 監視編
Yoichi Toyota
Embulk 20150411
Embulk 20150411
Hiroshi Nakamura
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
聡 大久保
AWS SDK for Haskell開発
AWS SDK for Haskell開発
Nomura Yusuke
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
Amazon Web Services Japan
20170413 aws–windows users meetup
20170413 aws–windows users meetup
Amazon Web Services Japan
More Related Content
What's hot
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
Takeshi Morikawa
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
Daigou Harada
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成
Microsoft Azure Japan
microPCFを使ってみよう
microPCFを使ってみよう
Hiroaki_UKAJI
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Hidetoshi Hirokawa
Using Windows Azure
Using Windows Azure
Shinji Tanaka
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化
Yuki Kanazawa
ZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツ
ShinsukeYokota
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみた
kokuboyuichi
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
Shunsuke Michii
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
聡 大久保
Docker & Kubernetes基礎
Docker & Kubernetes基礎
Daisuke Hiraoka
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
Midori Oge
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
Hideki Saito
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレ
peryaudo
Awsをちゃんと使ってみた 監視編
Awsをちゃんと使ってみた 監視編
Yoichi Toyota
Embulk 20150411
Embulk 20150411
Hiroshi Nakamura
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Shinji Tanaka
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
聡 大久保
AWS SDK for Haskell開発
AWS SDK for Haskell開発
Nomura Yusuke
What's hot
(20)
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
cf-containers-broker を使ってローカル環境もサービスの恩恵をうける
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
AWSのElastic BeanstalkでWordPressを 構築レスで導入してみる。
S16 Microsoft Azure 上での Chef 環境の構成
S16 Microsoft Azure 上での Chef 環境の構成
microPCFを使ってみよう
microPCFを使ってみよう
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Ansible 2.0を使って組む kubernetesクラスタ vol.1
Using Windows Azure
Using Windows Azure
【dots. IT勉強会】開発環境のDocker化
【dots. IT勉強会】開発環境のDocker化
ZabbixによるAWS監視のコツ
ZabbixによるAWS監視のコツ
aws上でcloud foundryを構築してみた
aws上でcloud foundryを構築してみた
Using ngx_lua / lua-nginx-module in pixiv
Using ngx_lua / lua-nginx-module in pixiv
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
Awsで構築したのだよ 06 ec2インスタンス起動時にCloudWatchのアラームを追加する
Docker & Kubernetes基礎
Docker & Kubernetes基礎
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
第20回CloudStackユーザ会_ApacheCloudStack4.4新機能紹介
Okinawa Open Days 2015 Handson - Ansible
Okinawa Open Days 2015 Handson - Ansible
Docker+CoreOS+GCEで自動スケール分散レイトレ
Docker+CoreOS+GCEで自動スケール分散レイトレ
Awsをちゃんと使ってみた 監視編
Awsをちゃんと使ってみた 監視編
Embulk 20150411
Embulk 20150411
Performance and Scalability of Web Service
Performance and Scalability of Web Service
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
Awsで構築したのだよ 05 プロセス監視、メモリ使用率、ディスク使用率をCloudWatchのカスタムメトリクスに追加したい
AWS SDK for Haskell開発
AWS SDK for Haskell開発
Similar to ECS for Docker Meetup #4
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
Amazon Web Services Japan
20170413 aws–windows users meetup
20170413 aws–windows users meetup
Amazon Web Services Japan
Amazon ECS事始め
Amazon ECS事始め
じゅん なかざ
AWS ESC + Ansibleで お手軽 Blue-Green Deployment
AWS ESC + Ansibleで お手軽 Blue-Green Deployment
Kentaro NOMURA
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
SORACOM, INC
2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム
TomoyaTakegoshi
当社のawsへの取組
当社のawsへの取組
Mercari Inc.
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUG
Hideki Saito
BCPに活かせ!一撃 CloudFormation
BCPに活かせ!一撃 CloudFormation
真吾 吉田
Amazon EC2 Container Service Deep dive
Amazon EC2 Container Service Deep dive
Amazon Web Services Japan
AWS Tools for Windows PowerShell
AWS Tools for Windows PowerShell
Amazon Web Services Japan
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
Amazon Web Services Japan
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
Daisuke Ikeda
Ecs cli love docker-compose
Ecs cli love docker-compose
KeitaIwatani
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Takamasa Maejima
OpenStack API
OpenStack API
Akira Yoshiyama
現場的!AWSとオンプレの違い(赤べこバージョン)
現場的!AWSとオンプレの違い(赤べこバージョン)
真吾 吉田
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
decode2016
AWS Blackbelt 2015シリーズ AWS Lambda
AWS Blackbelt 2015シリーズ AWS Lambda
Amazon Web Services Japan
Aws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそう
Genta Watanabe
Similar to ECS for Docker Meetup #4
(20)
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
AWS Blackbelt 2015シリーズ Amazon EC2 Container Service (Amazon ECS)
20170413 aws–windows users meetup
20170413 aws–windows users meetup
Amazon ECS事始め
Amazon ECS事始め
AWS ESC + Ansibleで お手軽 Blue-Green Deployment
AWS ESC + Ansibleで お手軽 Blue-Green Deployment
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
業務アプリをクラウド化する5つのステップ ~Amazon Web Services活用の勘所~
2019年度 CaaS ワークショップ @ NTTコム
2019年度 CaaS ワークショップ @ NTTコム
当社のawsへの取組
当社のawsへの取組
OSC2012 Tokyo/Spring JOSUG
OSC2012 Tokyo/Spring JOSUG
BCPに活かせ!一撃 CloudFormation
BCPに活かせ!一撃 CloudFormation
Amazon EC2 Container Service Deep dive
Amazon EC2 Container Service Deep dive
AWS Tools for Windows PowerShell
AWS Tools for Windows PowerShell
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
AWS初心者向けWebinar AWS上にWebサーバーシステムを作ってみましょう ~まずは仮想サーバーから[演習つき]~
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
クラウド環境向けZabbixカスタマイズ紹介(第5回Zabbix勉強会)
Ecs cli love docker-compose
Ecs cli love docker-compose
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
Windows Server 2016 で作るシンプルなハイパーコンバージドインフラ (Microsoft TechSummit 2016)
OpenStack API
OpenStack API
現場的!AWSとオンプレの違い(赤べこバージョン)
現場的!AWSとオンプレの違い(赤べこバージョン)
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
DBP-008_SQL Server on Azure VM 最新情報とベスト プラクティス
AWS Blackbelt 2015シリーズ AWS Lambda
AWS Blackbelt 2015シリーズ AWS Lambda
Aws tools for power shellをつかいこなそう
Aws tools for power shellをつかいこなそう
More from Shinpei Ohtani
Amazon Aurora
Amazon Aurora
Shinpei Ohtani
AWS Lambda and Amazon API Gateway
AWS Lambda and Amazon API Gateway
Shinpei Ohtani
JVM的な何か@JVM Operation Casual Talk
JVM的な何か@JVM Operation Casual Talk
Shinpei Ohtani
Amazon kinesisで広がるリアルタイムデータプロセッシングとその未来
Amazon kinesisで広がるリアルタイムデータプロセッシングとその未来
Shinpei Ohtani
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Shinpei Ohtani
プログラマブルクラウドの薦め
プログラマブルクラウドの薦め
Shinpei Ohtani
サンプルから見るMapReduceコード
サンプルから見るMapReduceコード
Shinpei Ohtani
Hadoopソースリーディング第1回アジェンダ
Hadoopソースリーディング第1回アジェンダ
Shinpei Ohtani
サンプルから見るMap reduceコード
サンプルから見るMap reduceコード
Shinpei Ohtani
Hadoopソースリーディング第1回アジェンダ
Hadoopソースリーディング第1回アジェンダ
Shinpei Ohtani
はやわかりHadoop
はやわかりHadoop
Shinpei Ohtani
T2 Web Framework
T2 Web Framework
Shinpei Ohtani
T2 Hacks
T2 Hacks
Shinpei Ohtani
T2 webframework
T2 webframework
Shinpei Ohtani
Struts2を始めよう!
Struts2を始めよう!
Shinpei Ohtani
Struts2 in a nutshell
Struts2 in a nutshell
Shinpei Ohtani
ASP.NET MVC 1.0
ASP.NET MVC 1.0
Shinpei Ohtani
More from Shinpei Ohtani
(17)
Amazon Aurora
Amazon Aurora
AWS Lambda and Amazon API Gateway
AWS Lambda and Amazon API Gateway
JVM的な何か@JVM Operation Casual Talk
JVM的な何か@JVM Operation Casual Talk
Amazon kinesisで広がるリアルタイムデータプロセッシングとその未来
Amazon kinesisで広がるリアルタイムデータプロセッシングとその未来
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
プログラマブルクラウドの薦め
プログラマブルクラウドの薦め
サンプルから見るMapReduceコード
サンプルから見るMapReduceコード
Hadoopソースリーディング第1回アジェンダ
Hadoopソースリーディング第1回アジェンダ
サンプルから見るMap reduceコード
サンプルから見るMap reduceコード
Hadoopソースリーディング第1回アジェンダ
Hadoopソースリーディング第1回アジェンダ
はやわかりHadoop
はやわかりHadoop
T2 Web Framework
T2 Web Framework
T2 Hacks
T2 Hacks
T2 webframework
T2 webframework
Struts2を始めよう!
Struts2を始めよう!
Struts2 in a nutshell
Struts2 in a nutshell
ASP.NET MVC 1.0
ASP.NET MVC 1.0
Recently uploaded
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Recently uploaded
(7)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
ECS for Docker Meetup #4
1.
Amazon EC2 Container
Service(ECS) アマゾン データサービス ジャパン株式会社 ⼤大⾕谷 晋平(@shot6, ohtani@amazon.co.jp)
2.
2 EC2 Container Service
(ECS)
3.
3 ECSとは? • Amazon ECS
= コンテナ管理理サービス – シンプルなAPIで、EC2クラスタ上にDockerコンテナを起動/管理理 – Docker管理理で⾯面倒な所を取り除くために出来たサービス – EC2インスタンス上に複数コンテナをホストすることが可能 – クラスタの管理理や構成管理理についての運⽤用が不不要
4.
4 ECSの考え⽅方 • コア部分 – Dockerイメージをそのまま利利⽤用可能。オンプレミスとクラウド の間でシームレスにイメージをやり取り可能 –
DockerとECS agent(Dockerコンテナ)が動けば良良い – 動かすOSも制約ないため、Dockerピュア環境をよりセキュア に便便利利に利利⽤用できる • 拡張部分 – AWSの⾮非常に便便利利なサービスとのインテグレーション • VPC、ELB、RDS、EIP、AutoScalingなどなど – 管理理の容易易性。プログラマブルな管理理に加えGUIでも。
5.
5 現状のステータス • ECS⾃自体は無料料 • 起動したEC2/EBSなどのリソース利利⽤用費⽤用は必要 •
現在Limited Preview • 対応 AWS リージョン: – US-‐‑‒East-‐‑‒1 (N.Virginia) • 他のリージョンは間もなくサポート
6.
6 ECSの仕組み
7.
7 ECSの要素 • Container Instance •
Cluster • Task/Task Definition • Container : Dockerコンテナ
8.
8 Container Instance • EC2(VPC) •
Docker • ECS agent
9.
9
10.
10 ECS agent • オープンソースのエージェント(ASLv2) •
https://github.com/aws/amazon-‐‑‒ecs-‐‑‒agent • Go⾔言語で書かれています • というのも、こいつもDockerで動きます • Docker Hubにも登録されてます。 – https://registry.hub.docker.com/u/amazon/amazon-‐‑‒ecs-‐‑‒ agent/ – docker pull amazon/amazon-‐‑‒ecs-‐‑‒agent
11.
11 Cluster • リソースプール • リージョンに閉じている •
Container Instanceの集合 • 管理するトップレベルの概念
12.
12 Task • Unit of
Work • 関係するコンテナの集合 • Container Instance上で稼働 • Task Definition – Taskの定義 – JSON
13.
13 Task Definition [ { "environment": [], "name":
"sleep", "image": "busybox", "cpu": 10, "portMappings": [], "entryPoint": [ "/bin/sh" ], "memory": 10, "command": [ "sleep", "360" ], "essential": true } ]
14.
14 Cluster Container Instance Container
Instance Container Instance Container Instance Container Container Container Container Container Container Container Container Container Container Container Container Container Container Container Container Task Definition JSON Task (group of container) ECS Control Plane ECS Agent ECS Agent ECS Agent ECS Agent コンテナの状態管理理 (利利⽤用者は意識識しない)
15.
15 ECSの良い点 今までのAWSセキュリティ機構が使える
16.
16 Cluster Container Instance Container Container Container
Container Subnet-1(Network ACL) Cluster Container Instance Container Container Container Container セキュリティグループA セキュリティグループB Cluster Container Instance Container Container Container Container Subnet-2(Network ACL) Cluster Container Instance Container Container Container Container セキュリティグループC セキュリティグループD
17.
17 ECSの良い点 パブリックレポジトリ、プライベートレポジトリも どちらも(普通に)利用できる
18.
18 Cluster Container Instance Container Container Container
Container Subnet-1(Network ACL) セキュリティグループA Docker Hub Private Repository オンプレミス Container
19.
19 ECSの良い点 AWSのサービスも普通に利用できるので、Docker とAWSプラットフォームのよいとこどりが出来る
20.
20 ECS Container Container Container Container EC2VPC
ELB Auto Scaling Route53 Direct Connect RDS ElastiCache DynamoDB Redshift ・・・ S3 Glacier EBS ETS SES SNS CloudSearch IAM CloudTrail CloudFormation CloudWatch
21.
21 AWS ECS command
line mypc:tmp ohtani$ aws ecs (補完) シンプルなコマンドラインツール
22.
22 動かしてみる • Clusterを作成 • EC2をContainer
Instanceとして起動 • Task Definitionを作成・登録 • Taskを起動 • 確認
23.
23 Clusterを作成 mypc:~ ohtani$ aws
ecs create-cluster --cluster-name my --region us- east-1 { "cluster": { "clusterName": "my", "status": "ACTIVE", "clusterArn": "arn:aws:ecs:us-east-1:myaccount:cluster/my" } }
24.
24 EC2をContainer Instanceとして起動 • amzn-ami-2014.09.1-amazon-ecs-optimized-rc1 (ami-a47214cc)を利用(プレビュー時点) –
CoreOSでもやれる • ブートストラップで、ECSの設定を書き込む – #!/bin/bash – echo ECS_CLUSTER=my>> /etc/ecs/ecs.config • IAM Profileで、ecsをつけていないとECS agentが インストールされないので注意
25.
25 というわけで aws ec2 run-instances
--image-id ami-a47214cc --instance- type m3.large --associate-public-ip-address –count 4 --key- name yourkey--subnet-id subnet-03dd1f28 --security- group-ids sg-8d6c9fe9 --iam-instance-profile Name="ecs" --user-data file:///pass_to/ecs.sh --region us-east-1 ecs.sh #!/bin/bash echo ECS_CLUSTER=my >> /etc/ecs/ecs.config もちろんマルチAZにあるContainer InstanceをClusterに含める事も可能
26.
26 クラスターを確認してみる mypc:tmp ohtani$ aws
ecs list-clusters --region us-east-1 { "clusterArns": [ "arn:aws:ecs:us-east-1:myaccount:cluster/my", "arn:aws:ecs:us-east-1:myaccount:cluster/default" ] }
27.
27 Container Instanceを確認してみる mypc:tmp ohtani$
aws ecs list-container-instances --cluster my --region us-east-1 { "containerInstanceArns": [ "arn:aws:ecs:us-east-1:myaccount:container-instance/077e74e6-bffe-407a- bdc4-07d0dd0e3828", "arn:aws:ecs:us-east-1:myaccount:container-instance/62b30eb7-a72c-4a48- a973-9b0676d831b8", "arn:aws:ecs:us-east-1:myaccount:container-instance/ ee086a69-4c7d-497e-9307-fe6f21500438", "arn:aws:ecs:us-east-1:myaccount:container-instance/ fc8a26ef-0593-431e-9721-5d5c8dbde21d" ] }
28.
28 Container Instanceの状況を調べる mypc:tmp ohtani$
aws ecs describe-container-instances --cluster my --container-instances 077e74e6-bffe-407a- bdc4-07d0dd0e3828 --region us-east-1 { "failures": [], "containerInstances": [ { "status": "ACTIVE", "registeredResources": [ 現状利用中のリソース(CPU, Memory, Port) ], "ec2InstanceId": "i-7b196697", "agentConnected": true, "containerInstanceArn": "arn:aws:ecs:us-east-1:myaccount:container-instance/077e74e6-bffe-407a-bdc4-07d0dd0e3828", "remainingResources": [ 現状利用可能なリソース(CPU, Memory, Port) ] } ] }
29.
29 Task Defintionを作成する [ { "environment": [ {
"name" : "WORDPRESS_DB_USER", "value" : "wpuser" }, { "name" : "WORDPRESS_DB_PASSWORD", "value" : "wppass" }, { "name" : "WORDPRESS_DB_NAME", "value" : "wpdb" } ], "name": "wp", "image": "wordpress:latest", "cpu": 100, "portMappings": [ { "containerPort": 80, "hostPort": 80 } ], "links": ["mysql:mysql"], "memory": 1024, "essential": false }, { "environment": [ { "name" : "MYSQL_ROOT_PASSWORD", "value" : "rootwppass" }, { "name" : "MYSQL_USER", "value" : "wpuser" }, { "name" : "MYSQL_PASSWORD", "value" : "wppass" }, { "name" : "MYSQL_DATABASE", "value" : "wpdb" } ], "name": "mysql”, "image": "mysql”, "cpu": 200, "memory": 2048, "essential": true } ] 他の項目だと ・entryPoint(ENTRYPOINT) ・command(CMD)
30.
30 Task Definitionの登録 mypc:tmp ohtani$
aws ecs register-task-definition --family wp --container- definitions file://pass_to/wp.json --region us-east-1 { "taskDefinition": { "taskDefinitionArn": "arn:aws:ecs:us-east-1:myaccount:task-definition/wp:1", "containerDefinitions": [ (Task Definitionの内容) ], "family": "wp", "revision": 1 } }
31.
31 Task Definitionの確認 mypc:tmp ohtani$
aws ecs list-task-definitions -- region us-east-1 { "taskDefinitionArns": [ "arn:aws:ecs:us-east-1:myaccount:task-definition/node-hello:1", "arn:aws:ecs:us-east-1:myaccount:task-definition/sleep360:1", "arn:aws:ecs:us-east-1:myaccount:task-definition/wp:1" ] }
32.
32 Taskを走らせる • 方法としては2つ • ECSのスケジューラにまかせ、コンテナを起動する –
aws ecs run-task • 自分で指定したコンテナインスタンス上に起動する – aws ecs start-task --container-instances xxx
33.
33 run-task mypc:tmp ohtani$ aws
ecs run-task --cluster my --task-definition wp:1 --count 1 --region us-east-1 { "tasks": [ { "taskArn": "arn:aws:ecs:us-east-1:myaccount:task/b6d7821a-d3a6-4105-a2ca-454a36425ae1", “overrides”: { (コンテナオーバーライド) }, "lastStatus": "PENDING", "containerInstanceArn": "arn:aws:ecs:us-east-1:myaccount:container-instance/ee086a69-4c7d-497e-9307-fe6f21500438", "desiredStatus": "RUNNING", "taskDefinitionArn": "arn:aws:ecs:us-east-1:myaccount:task-definition/wp:1", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:myaccount:container/3a86f627-15b3-4122-af26-4b1477f1ec19", "taskArn": "arn:aws:ecs:us-east-1:myaccount:task/b6d7821a-d3a6-4105-a2ca-454a36425ae1", "lastStatus": "PENDING", "name": "wp" }, { "containerArn": "arn:aws:ecs:us-east-1:myaccount:container/86c3400c-4b61-4414-a2bf-e00f5c949935", "taskArn": "arn:aws:ecs:us-east-1:myaccount:task/b6d7821a-d3a6-4105-a2ca-454a36425ae1", "lastStatus": "PENDING", "name": "mysql" } ] } ] }
34.
34 デモ
35.
35 start-task(Taskを特定コンテナインスタンスで起動) mypc:tmp ohtani$ aws
ecs start-task --cluster my --container-instances 077e74e6-bffe-407a-bdc4-07d0dd0e3828 --task-definition wp:1 -- region us-east-1 { "failures": [], "tasks": [ { "taskArn": "arn:aws:ecs:us-east-1:myaccount:task/c63ee7f1-34a2-4280-89e2-31799a5ee1fb", “overrides”: { (コンテナをオーバライドするかどうかの設定) }, "lastStatus": "PENDING", "containerInstanceArn": "arn:aws:ecs:us-east-1:myaccound:container-instance/077e74e6-bffe-407a-bdc4-07d0dd0e3828", "desiredStatus": "RUNNING", "taskDefinitionArn": "arn:aws:ecs:us-east-1:myaccount:task-definition/wp:1", "containers": [ { "containerArn": "arn:aws:ecs:us-east-1:myaccount:container/37e89b7c-7f33-4891-a1f2-155cb3ff3d37", "taskArn": "arn:aws:ecs:us-east-1:myaccount:task/c63ee7f1-34a2-4280-89e2-31799a5ee1fb", "lastStatus": "PENDING", "name": "wp" }, { "containerArn": "arn:aws:ecs:us-east-1:myaccount:container/08ba51bd-e9fd-4bb8-8b5d-73baaf099130", "taskArn": "arn:aws:ecs:us-east-1:myaccount:task/c63ee7f1-34a2-4280-89e2-31799a5ee1fb", "lastStatus": "PENDING", "name": "mysql" } ] } ] }
36.
36 スケジューラの拡張(現状、as of preview) •
現状のECSでは – スケジューラはdescribe-container-instances, describe-tasks, start-taskを組み合わせる事で拡張可能 – ECSは各コンテナの状態管理とプリミティブなスケジューラのみ提供
37.
37 Taskを取り除く mypc:tmp ohtani$ aws
ecs stop-task --task 33357683-a636-46e9-98fe- c72330e2b106 --cluster my --region us-east-1
38.
38 コンテナインスタンスを取り除く mypc:tmp ohtani$ aws
ecs deregister-container- instance --cluster my --container-instance 077e74e6-bffe-407a-bdc4-07d0dd0e3828 --region us-east-1
39.
39 今後の予定 • パートナーAMI(既にCoreOSは利利⽤用可能) – https://coreos.com/docs/running-‐‑‒coreos/cloud-‐‑‒providers/ecs/ •
CloudFormationでECS⽤用コンテナインスタンス起動が簡単に • ELBインテグレーション • CloudWatchインテグレーション – CloudWatchでクラスターおよび各コンテナのメトリクスが可視化 – CloudWatch Logsでログの可視化 • タギング – タグでコンテナをグルーピングしてコスト管理理 • Elastic IP • マネージメントコンソール
40.
40 Just getting started
41.
41 まとめ • ECSは、EC2上でDockerコンテナを運用するため のContainer as
a Service • コア部分はピュアなDocker • 拡張部分はAWSサービスとのインテグレーション • プレビュー試せるので、お試しください – http://aws.amazon.com/ecs/preview/ • いつも通り、AWSは常にフィードバック募集中です
42.
42
Download now