2. § Eiji Shinohara (篠原 英治)
– Twitter: @shinodogg
– Blog: shinodogg.com
§ Amazon Web Services Japan
– from August 2013
§ AWS Solutions Architect
– Market: Startup & AdTech
– Area of Depth: Search Technology
• Amazon CloudSearch
• Amazon Elasticsearch Service
§ Part-Time Graduate Student
– University of Tsukuba
– MBA in International Business w/ @werner : Amazon CTO
9. Amazon EC2 Container Service (ECS) is a highly scalable, high performance
container management service that supports Docker containers and
allows you to easily run applications on a managed cluster of Amazon
EC2 instances.
Amazon EC2 Container Service (ECS) は、⾮常にスケーラブルかつ⾼性能な、
Dockerコンテナをサポートするコンテナ管理サービスで、アプリケーションを簡
単にマネージドなEC2クラスター上で実⾏することができます。
https://aws.amazon.com/ecs/
10. Amazon ECS
§ たくさんの企業でAmazon ECSが活⽤されている
– ECSの利点に関してはMapboxのブログも是⾮ご覧ください
• We switched to ECS and you won't believe what happened next
• https://www.mapbox.com/blog/switch-to-ecs/
https://www.slideshare.net/shinodogg/aws-summit-san-francisco-2017-werner-vogels
11. Cluster
Container Instance
Amazon ECSにおけるコンテナ管理の概要図
§ クラスタ管理
– Cluster, Container
Instance, Agent
§ グループ化
– Task Definition,
Task, Container
§ スケジューラ
– Run Task, Service
Agent
Task
Container
Container
Task
Service
Task Definition
Agent
Task
Task Definition
Run Task
23. § What is ZooKeeper? https://zookeeper.apache.org/
– ZooKeeperは、設定情報 / ネーミング / 分散同期 / グループサービス を集中
管理するサービス
– 分散アプリケーションには何かしら上記のような機能が必要
– 都度それらを実装すると、バグFIXや競合状態といった問題が不可避
– こういったサービスは実装が難しく、初期の段階では妥協されることが多く、
そのような状況は変更容易性を損なわせ、管理を煩雑にする
– 正しく実装されたとしても、異なる実装であれば、アプリケーションをデプロ
イして運⽤していく上で、管理が⾯倒になってしまう
– そこでZooKeeperですよ!
“Apache ZooKeeper is an effort to develop and maintain an open-
source server which enables highly reliable distributed coordination”
24. § ZooKeeperの特徴
– ZooKeeper is simple
– ZooKeeper is ordered
– ZooKeeper is replicated
– ZooKeeper is fast
ZooKeeper :
Because Coordinating Distributed Systems is a Zoo
https://zookeeper.apache.org/doc/trunk/zookeeperOver.html
25. § API
– create
• creates a node at a location in the tree
– delete
• deletes a node
– exists
• tests if a node exists at a location
– get data
• reads the data from a node
– set data
• writes data to a node
– get children
• retrieves a list of children of a node
– sync
• waits for data to be propagated
ZooKeeper