Amazon EC2 Container Service (ECS)
- 2. 自己紹介
清水 勲 (Isao SHIMIZU) Twitter: @isaoshimizu
株式会社ミクシィ モンストスタジオ所属
- 現在4年目(2011年入社)
- mixiのインフラ運用(オンプレ)
- 現在は、モンスターストライクのインフラ・サーバ運用(オンプレ、AWS)
- ミクシィ エンジニアブログ執筆(Fedora、systemd、OpenStack、LXCなど)
- Software Design執筆(systemdほか)
前職:
- 2003∼2011年 SIerで企画、開発、インフラ運用
- 組み込み、Web、スマフォアプリ、動画配信など
最近気になっていること
- Apache Mesos、Consul、Prometheus、HTTP/2
- 6. ECSとは
- AWS re:Invent 2014 @ Las Vegas (2014.11.11~14)で発表された新サービス
- Amazon EC2 Container Serviceの略
- 2015.2.18現在はまだプレビューリリース(登録制。us-east-1のみで利用可能)
- EC2(コンテナインスタンス)にコンテナを簡単に起動できる
- ECS向けの専用AMIが用意されている(独自に用意して使うこともできる)
- Docker互換(現時点でサポートするコンテナプラットフォームはDockerのみ)
- クラスタ(インスタンスのグルーピング)
- タスクという概念
- リソーススケジューラー
- 9. ECS関連のキーワード
クラスタ
- コンテナをグルーピングしたもの
- リソースプールとして扱う
- 同リージョン内で構成
エージェント
- コンテナインスタンス(EC2)に起動しているDockerの1コンテナとして起動
- Docker Hub: https://registry.hub.docker.com/u/amazon/amazon-ecs-agent/
- GitHub: https://github.com/aws/amazon-ecs-agent
タスク
- コンテナ上で実行させるDockerイメージの定義
- 予約するメモリやCPU数などのリソースの定義
- クラスタ内で動作するコンテナの集合
- 11. まとめ
- 複数のEC2インスタンスを横断してDockerコンテナを管理できるのがよい
- API, CLIで操作できるので各種システムと連携できる
- 既存のDockerイメージなどの資産を再利用できる
- AWSのセキュリティグループやELBなどの連携ができるのは嬉しい
- Elastic IPも使えるようになるらしい
- いつ東京リージョンで使えるようになるかはわからない
- 本番で使うべきかどうかもまだわからない
- 管理レイヤーができたことで本番導入が近づいたのは間違いない
- オンプレとAWSの併用でDockerを使うのはまだハードルが高い
- そもそもDockerが最適解なのかもまだわからない(Rocketとかもあるし)
- 13. Apache Mesosとの連携
- Cluster Management with Amazon ECS
- https://aws.amazon.com/jp/blogs/compute/cluster-management-with-amazon-ecs/
- 2015.2.6の投稿
- Amazon ECS Scheduler Driver
- https://github.com/awslabs/ecs-mesos-scheduler-driver
- 2015.1.29が最初のコミット
- Mesosをにドライバを追加して、Mesosを通じてECSのコンテナを扱うことができる?
- AWSだけじゃなく、他のクラウドとかオンプレを意識せずに使えるようになる?
- ECS Agentも併用するとAWSじゃなくてもいいはず
- まだ試せてない
- 14. 参考情報
・Amazon EC2 Container Service
http://aws.amazon.com/jp/ecs/
・Amazon EC2 Container Service Developer Guide
http://docs.aws.amazon.com/AmazonECS/latest/developerguide/
・AWS CLI ecs
http://docs.aws.amazon.com/cli/latest/reference/ecs/index.html
・ECS for Docker Meetup #4
http://www.slideshare.net/shot6/ecs-for-docker-meetup-4
・今日届いたAmazon EC2 Container Service (ECS)を使ってみた
http://tech.recruit-mp.co.jp/infrastructure/preview-amazon-ec2-container-service/
・Amazon EC2 Container Service(ECS)で静的Webサイトをデプロイする
http://dev.classmethod.jp/cloud/aws/ecs-deploy-static-website/
・CoreOSをECS(EC2 Container Service)クラスタに追加する
http://dev.classmethod.jp/cloud/add-coreos-to-ecs-cluster/