SlideShare a Scribd company logo
CloudWatch Eventsを使った
ECSのAutoScaling
千葉 淳
2016/2/5
1
自己紹介
所属:クラスメソッド株式会社
仕事:ソリューションアーキテクト
名前:千葉 淳(ちば じゅん)
好きなAWSサービス:Lambda
2
アジェンダ
1.はじめに
2.CloudWatch Eventsとは?
3.ECSのAutoScalingの構成
4.ECSのAutoScalingの設定
5.まとめ
3
はじめに
• 今日のお話し
ECSではコンテナのAutoScalingは未対応
なので、CloudWatch EventsでAutoScalingを実装した話
構成や設定方法、ECSスケールの課題なんかをお話します!
4
デモ
動け、動け!動いてよ!EC2!
5
CloudWatch Eventsとは?
• 2015/1/15に発表された新サービス
• CloudWatch + SNSとの違いは設定・管理が楽
(CloudWatch Eventsで一元管理できる)
• APIドリブンでLambdaを発火させられる
6
デモ
CloudWatch Eventsでpendingを検知、即stop
絶対に起動させない(なぜやった)
7
デモ – CloudWatch Eventsの設定-
トリガー設定 挙動設定
指定インスタンスがPending 指定インスタンスをStop
8
CloudWatch Events比較
• 参考:http://dev.classmethod.jp/cloud/aws/introducing-cloudwatch-events/
9
CloudWatch Eventsをガンガン使う
• ブループリントが用意されている
 EBSの定期スナップショット
EC2の定期起動・停止
• 様々なAPIをトリガーにLambdaを発火
10
CloudWatch Eventsをガンガン使う
• ブループリントが用意されている
 EBSの定期スナップショット
EC2の定期起動・停止
• 様々なAPIをトリガーにLambdaを発火
夢は無限大
11
今日はこのCloudWatch Eventsを使って
ECSをスケールアップしてみます!
12
アーキテクチャ編
13
ECSをAutoScalingするための構成
14
ECSスケールシーケンス詳細
CloudWatchで負荷検知
AutoScaling(ECSクラスタ増減)
CloudWatch EventsでLambda
発火
ECSサービスのDesired変更
コンテナpull
コンテナ起動
ELB組み込み
15
設定編
16
ELB作成
HTTP:80で作成
17
ECR – リポジトリ作成 -
リポジトリを作成
リポジトリへのpush等の権限を付与
(許可アカウント、IAMを指定)
18
ECR – イメージのpush -
# docker pull httpd:2.4
# aws ecr get-login --region us-east-1 | bash
# docker tag httpd:2.4 [AWSアカウントID].dkr.ecr.us-
east-1.amazonaws.com/ecs-sample-rep:latest
# docker push [AWSアカウントID].dkr.ecr.us-east-
1.amazonaws.com/ecs-sample-rep:latest
ECRへpushするためにEC2を作成し、AWS CLIを利用できる環境を用意
(アクセスキーの設定もしておく)
ECRにpushされる
19
ECS - Task Definitionsの作成 -
ECRにpushした
イメージを指定
任意の実行コマンドを指定
(htmlファイル作成、httpd起動など)
ポート番号を指定
20
ECS – Clustersの作成 -
ECSクラスタを作成
(AutoScalingで起動したEC2が登録される)
21
ECS – サービスの作成 -
作成したTask Definitionsを指定
ELB、ポート番号を指定
22
AutoScaling –起動設定-
【ECSクラスタ用のAMIを指定】
AMI: amzn-ami-2015.09.e-amazon-ecs-optimized
参考:http://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/launch_container_instance.html
【ユーザーデータ】
ECSエージェントの設定。ECSクラスタ名を指定する
#!/bin/bash
echo ECS_CLUSTER=docker-build >> /etc/ecs/ecs.config
23
AutoScaling –グループ設定-
ECSでELB組み込み制御を行うので
ここでは指定しない
スケーリングポリシーは
環境に合わせて指定
24
Lambda - ECSのDesiredをアップデート -
ソースコードはこちら
http://dev.classmethod.jp/cloud/aws/ecs-cloudwatch-events/
25
Lambda – 処理概要 -
①CloudWatch EventsのInput configureからECSクラスタ名や
AutoScaling名を取得
②AutoScalingの現在のDesiredの値を取得
③ECSサービスのDsiredの値を、AutoScalingのDsiredの値に
アップデート
26
CloudWatch Events – ルール作成 -
・スケールアウト・インをトリガー
・対象のAutoScalingグループ名を指定
・ECSスケール用のLambdaファンク
ションを指定
・Configure inputを指定(次ページ)
27
CloudWatch Events – Configure inputの指定 -
{
"AutoScalingName": "ecs-cluster",
"EcsClusterName": "docker-build",
"EcsRegion": "us-east-1",
"EcsServiceName": "sample-app"
}
※改行を削除し、Configure inputへ入力
AutoScalingName“: AutoScalingグループ名を指定
EcsClusterName“: ECSクラスタ名を指定
EcsRegion:ECSが存在するリージョンを指定
EcsServiceName“: ECSサービス名を指定
28
デモ
ECRのAutoScaling
29
デモ
AutoScalingの
Desiredを増やす
ECSサービスの
Desiredをアップデート
30
課題
• AutoScaling発動からELB組み込みまでの時間が長い
• コンテナ単位のAutoScalingはできない
※スケールはECSクラスタ単位
31
今回の構成でのAutoScaling時間
• 5分の壁
通常 時間(秒)
スケール検知 60
EC2作成 120
ECS登録 20
コンテナ起動完了(サイズ200MB) 80
ELB経由でのcrul成功時間 15
合計 最大約5分
参考:EC2ネイティブは最大3分半
スパイクアクセスに対応するには
CloudFrontとの併用も検討
32
コンテナ単位でのAutoScalingができない
ECSインスタンス上のコンテナは同じものを配置する
EC2のリソースをトリガーにスケールします
コンテナAのみスケールするということは実施できません
1インスタンスに同じコンテンは1つしか起動できません
ポートの競合が発生します
33
まとめ
• ECSでオートスケーリングが実現できた
• ただし、課題がある
スケールに時間がかかる
コンテナ単位でのスケールができない
【今後の展望(要望)】
柔軟なスケーリングを目指して
EC2レイヤーをマネージド化
Container as a Serviceへ
34
クラスメソッドは
人々の創造的活動に貢献し続けます!!
35
2/20(土曜日)
Coming Soon!
36
Developers.IO 2016開催
37
Developers.IO 2016開催
セキュリティ
IoT
データ分析
機械学習
iOSアプリ
Androidアプリ
モバイルバックエンド
38
Developers.IO 2016開催
MIT出身、元NASA、元AWSのエンジニア
登壇
旬な話題をお届けします!

More Related Content

PDF
Amazon ECSアップデート
PDF
AWS Black Belt Techシリーズ AWS Lambda
PDF
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
PPTX
CloudWatch Eventを使ったamiの削除
PDF
AWS運用監視ノウハウ CloudWatch 〜作ってからが本番です!〜
PDF
CloudWatch Logs使ってみました
PDF
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
PDF
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
Amazon ECSアップデート
AWS Black Belt Techシリーズ AWS Lambda
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
CloudWatch Eventを使ったamiの削除
AWS運用監視ノウハウ CloudWatch 〜作ってからが本番です!〜
CloudWatch Logs使ってみました
AWS Black Belt Techシリーズ AWS Elastic Beanstalk
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline

What's hot (20)

PDF
ニワトリでもわかるECS入門
PDF
Amazon ECS事始め
PDF
華麗なるElastic Beanstalkでの環境構築
PDF
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
PPTX
AWS Elastic BeanstalkとAWS Lambdaのご紹介
PDF
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
PPTX
PHP on Cloud
PDF
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
PDF
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
PPTX
サーバ構築・デプロイが簡単に!Elastic beanstalk
PPTX
CloudWatchの使い方
PPTX
AWS Batch Fargate対応は何をもたらすか
PDF
AWS Black Belt Techシリーズ AWS Command Line Interface
PDF
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
PDF
Application Deployment on AWS
PPTX
CloudWatch Logsについて
PPTX
Aws 分散負荷テストツールを使ってapp runnerをスケールさせる(デモ動画削除)
PDF
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
PPTX
EC2 Deep Dive at CTO Night&Day 2016
PDF
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
ニワトリでもわかるECS入門
Amazon ECS事始め
華麗なるElastic Beanstalkでの環境構築
[AWS Summit 2012] クラウドデザインパターン#5 CDP バッチ処理編
AWS Elastic BeanstalkとAWS Lambdaのご紹介
よくわかるAWS OpsWorks: AWS OpsWorksの概要&アップデート紹介
PHP on Cloud
AWS Black Belt Tech シリーズ 2015 - AWS Elastic Beanstalk
AWS Black Belt Techシリーズ AWS CloudTrail & CloudWatch Logs
サーバ構築・デプロイが簡単に!Elastic beanstalk
CloudWatchの使い方
AWS Batch Fargate対応は何をもたらすか
AWS Black Belt Techシリーズ AWS Command Line Interface
AWS Elastic Beanstalk(初心者向け 超速マスター編)JAWSUG大阪
Application Deployment on AWS
CloudWatch Logsについて
Aws 分散負荷テストツールを使ってapp runnerをスケールさせる(デモ動画削除)
AWS Black Belt Online Seminar 2016 AWS上でのサーバーレスアーキテクチャ入門
EC2 Deep Dive at CTO Night&Day 2016
AWS Black Belt Tech シリーズ 2015 - AWS CodeCommit & AWS CodePipeline & AWS CodeD...
Ad

Similar to CloudWatch Eventsを使った ECSのAutoScaling (20)

PPTX
JAWS朝会#53CloudShellで入門するAWSCLIv2のすゝめ.pptx
PPTX
AWS活用のいままでとこれから -東急ハンズの事例-
PDF
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
PDF
Ops jaws meetup#3
PDF
20120303 jaws summit-meister-02_elb-as-cw
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
PDF
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
PPTX
Architectingforhighavailability 170629010328
PDF
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
PDF
はじめてのAWS CLI
PDF
クラウド+ソフトウェアで起こすイノベーション
PDF
Architecting+for+high+availability
PDF
JAWS DAYS 2015
PDF
AWS Startup Use Cases 2015
PDF
AWS Update 2011/10
PDF
re:invent 2016 新サービスで変わる AWS運用
PDF
Amazon EC2 Container Service Deep dive
PDF
クラウド連携のキモは管理用API
PPTX
DevAx::connect はじめました
PDF
JAWS DAYS 2015 OpsWorks Aceに聞け
JAWS朝会#53CloudShellで入門するAWSCLIv2のすゝめ.pptx
AWS活用のいままでとこれから -東急ハンズの事例-
[AWS Start-up ゼミ] よくある課題を一気に解説!〜御社の技術レベルがアップする 2017 夏期講習〜
Ops jaws meetup#3
20120303 jaws summit-meister-02_elb-as-cw
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
AWS Lambdaによるサーバレスアーキテクチャの基本に触れてみよう!【kintone & AWS ハンズオン祭り2015秋 B-2】
Architectingforhighavailability 170629010328
AWS Ops系サービスが更に便利になる中、それでもなおZabbixとセットで考えたほうが良いのか?
はじめてのAWS CLI
クラウド+ソフトウェアで起こすイノベーション
Architecting+for+high+availability
JAWS DAYS 2015
AWS Startup Use Cases 2015
AWS Update 2011/10
re:invent 2016 新サービスで変わる AWS運用
Amazon EC2 Container Service Deep dive
クラウド連携のキモは管理用API
DevAx::connect はじめました
JAWS DAYS 2015 OpsWorks Aceに聞け
Ad

More from 淳 千葉 (10)

PDF
devio2020_ユーザー体験向上するためにAWSサポートチームでやってる10のことの
PDF
Well-Architected フレームワーク概要
PDF
AWS Resource Access Manager(RAM)によるマルチアカウン戦略
PDF
Lambda EdgeとALB認証を導入した話
PDF
ECSの大型アップデートが来たよ!
PDF
CodeBuildを身近にするためのはじめの一歩
PDF
GitHubとクラスメソッド勉強会資料_DevOpsとAWS
PPTX
Premier night3 devopsことはじめ
PPTX
re:Growth athena
PPTX
短期間で大規模なシンクラ環境を用意した話
devio2020_ユーザー体験向上するためにAWSサポートチームでやってる10のことの
Well-Architected フレームワーク概要
AWS Resource Access Manager(RAM)によるマルチアカウン戦略
Lambda EdgeとALB認証を導入した話
ECSの大型アップデートが来たよ!
CodeBuildを身近にするためのはじめの一歩
GitHubとクラスメソッド勉強会資料_DevOpsとAWS
Premier night3 devopsことはじめ
re:Growth athena
短期間で大規模なシンクラ環境を用意した話

CloudWatch Eventsを使った ECSのAutoScaling

Editor's Notes

  • #3: * パワハラならぬプロハラ、キラカード扱いです
  • #38: セキュリティ IoT データ分析 機械学習 iOS、Adnroidアプリ、バックエンド
  • #39: セキュリティ IoT データ分析 機械学習 iOS、Adnroidアプリ、バックエンド
  • #40: AWSJ ソラコム SAP トレンドマイクロ ソフォス ぷらっとホーム