amazon ecsアップデート

21
1 Amazon ECSアップデート Jun 27 @ JAWS Container #5 Ryosuke Iwanaga Solutions Architect, Amazon Web Services Japan

Upload: amazon-web-services-japan

Post on 19-Feb-2017

2.443 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Amazon ECSアップデート

1

Amazon ECSアップデート

Jun 27 @ JAWS Container #5

Ryosuke Iwanaga

Solutions Architect, Amazon Web Services Japan

Page 2: Amazon ECSアップデート

2

Amazon ECSおさらい

コンテナ管理をあらゆるスケールで

柔軟なコンテナの配置 AWSの基盤との連携

Page 3: Amazon ECSアップデート

3

Amazon ECSおさらい

• Task– Instance上で実行されている実際のContainer

• Task Definition– Taskで使うContainer、及び周辺設定の定義

• Cluster– Taskが実行されるEC2

Instance群

• Manager– ClusterのリソースとTaskの状態を管理

• Scheduler– Clusterの状態をみて、

Taskを配置

• Agent– EC2 InstanceとManagerの連携を司る

Page 4: Amazon ECSアップデート

4

Cluster, Scheduler, Task Scheduler

ManagerCluster

Task Definition

Task

Agent

Page 5: Amazon ECSアップデート

5

Amazon ECS2015年12月〜2016年6月のアップデート紹介

Page 6: Amazon ECSアップデート

6

Amazon ECS 2015年12月〜2016年6月

• Amazon EC2 Container Registryリリース

• Service Updateのリソース利用率が設定可能に

• CloudWatchメトリクス追加、リージョン拡張

• Logの設定でawslogsに対応

• ServiceのAuto Scaling対応

• ECS optimized AMIがDocker 1.11に

• Amazon ECR用のCredential Helper公開

• 参考: AWS Quick Start for Docker Datacenter

Page 7: Amazon ECSアップデート

7

Amazon EC2 Container Registryリリース

• Full-managed Image Registry– IAMで権限管理、クロスアカウント

• Docker registry v2としても動作する

• EC2以外でもpush/pull可能– ローカル環境や、オンプレサーバ

• 利用可能リージョン (2016/06現在)

– N. Virginia, Oregon, Ireland• 他リージョンからもpush/pull可能だが、

レイテンシ遅延と転送料発生

Amazon ECSAWS

Elastic Beanstalk

Amazon EC2 Container Registry (ECR)

Page 8: Amazon ECSアップデート

8

Service Updateのリソース利用率が設定可能に

• Service Update時のリソースの下限上限が変更可能に

• ※以前は、100%以上のリソースが無いとUpdateできなかった– 例: 1台1Taskでポート固定している場合、もう1台Instanceが無いとダメだった

• 2つの設定値– minimumHealtyPercent

• RunningなTaskがdesiredCountの何%まで縮退しても良いか

– maximumPercent• desiredCountの何%まではリソースを消費しても良いか

Page 9: Amazon ECSアップデート

9

最小限のリソース空間を使ってデプロイOld version

New version

minimumHealthyPercent = 50%, maximumPercent = 100%

Page 10: Amazon ECSアップデート

10

キャパシティを落とさずに最速でデプロイOld version

New version

minimumHealthyPercent = 100%, maximumPercent = 200%

Page 11: Amazon ECSアップデート

11

CloudWatchメトリクス追加、リージョン拡張

• Clusterのメトリクス– CPU/Memoryがどれだけ利用されているか

– CPU/Memoryがどれだけ確保されているか

• Serviceのメトリクス– 各Taskが確保した

CPU/Memoryをどれくらい利用しているか

• Amazon ECS利用可能リージョンが8つに拡張– N. Virginia– Oregon– Ireland– Tokyo– Sydney– N. California– Singapore– Frankfurt

Page 12: Amazon ECSアップデート

12

Logの設定でawslogsに対応

• サポートしているLogging Driver– json-file

– syslog

– jornald

– gelf

– fluentd

– awslogs

• awslogsで、ログを直接Amazon CloudWatch Logsへ– Groupのみ指定、Streamは

Container ID

• CloudWatch Logsと他のAWSサービス連携– Amazon S3, Amazon Kinesis,

AWS Lambda, Amazon ES

Page 13: Amazon ECSアップデート

13

Containerのログをawslogs経由で収集

Amazon CloudWatch Logs

Amazon CloudWatch Logs

Amazon CloudWatch Logs

Amazon CloudWatch Logs

Amazon S3

Amazon Kinesis

AWS Lambda

Amazon Elasticsearch Service

Amazon ECS

保存

ストリーム

処理

検索

Page 14: Amazon ECSアップデート

14

Amazon ES上のKibanaでログを検索

Page 15: Amazon ECSアップデート

15

ServiceのAuto Scaling対応

• Auto Scaling PolicyでServiceのdesiredCountを変更可能に– CloudWatch Alarmと連携

• EC2 Instance側は今まで通りのAuto Scaling

• 利用可能リージョン (2016年06月現在)

– N. Virginia, Oregon, Ireland

Page 16: Amazon ECSアップデート

16

Amazon CloudWatch Dashboardsで監視

Page 17: Amazon ECSアップデート

17

ECS optimized AMIがDocker 1.11に

• Amazon LinuxベースのECS optimized AMI

• 最新は2016.03.d (2016年06月現在)

– Docker 1.11.1

– ECS Agent 1.10.0

• 最新のDockerに追従したい場合は?

– Instanceに自分でインストールすれば良い

– OSはAmazon Linuxの必要はなく、UbuntuやCoreOS等で問題ない

Page 18: Amazon ECSアップデート

18

Amazon ECR用のCredential Helper公開

• Credential Helper– Registryの認証時に呼び出され、認証処理を代行

• Docker 1.11から導入– osxkeychainなどと連携するHelperが存在

• Amazon ECR用のHelperを公開– docker loginが不要に

• AWS CLIも不要に

– ECRのリージョンに関係なく利用可能

• Go言語製– 簡単にMac/Windows用のバイナリ作成が可能

https://github.com/awslabs/amazon-ecr-credential-helper

Page 19: Amazon ECSアップデート

19

AWS Quick Start for Docker Datacenter

• Quick Startとは?– エンタープライズアプリケーションをAWS上で動かす場合の、セキュリティや可用性を考慮したベストプラクティス

– 1クリックで、数十分したらセットアップが完了するAWS CloudFormationのテンプレート

• AWS Quick Start for Docker Datacenter– Docker Universal Control Plane(UCP)とDocker Trusted

Registry(DTR)が商用のDocker Engine (CS Engine)を使って構築される

– Route 53のHosted Zoneを指定して、UCPとDTRのDNS設定も

Page 20: Amazon ECSアップデート

20

まとめ

• Amazon ECSはフルマネージドなコンテナ管理を無料で提供

• 約6ヶ月で10回近くのアップデート

• フィードバック絶賛募集中!– 「こういうのがあったら、こうやって使うのに!」

– ぜひ直接AWSまでお願いします

Page 21: Amazon ECSアップデート

21