elb & auto scaling & cloudwatch 詳細 -ほぼ週刊awsマイスターシリーズ第5回-

78
AWS マイスターシリーズ ELB, AutoScaling & CloudWatch 20111026玉川 憲' @KenTamagawa エバンジェリスト 20111027日更新 v.1.1

Upload: -ken-tamagawa-amazon-web-services

Post on 14-Jan-2015

35.077 views

Category:

Technology


4 download

DESCRIPTION

ほぼ週刊AWSマイスターシリーズでは、毎週テーマを決めて、各サービスの詳細情報を解説します。

TRANSCRIPT

Page 1: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

AWSマイスターシリーズ ~ELB, AutoScaling & CloudWatch~

2011年10月26日

玉川 憲' @KenTamagawa ( エバンジェリスト 2011年10月27日更新 v.1.1

Page 2: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ほぼ週刊AWSマイスターシリーズへようこそ! ~GoToMeetingの使い方~

参加者は、自動的にミュートになっています

質問を投げることができます!

GoToMeetingの仕組みを使って、随時書き込んでください

ただし環境によっては、日本語の直接入力ができないので、

お手数ですが、テキストエディタ等に打ち込んでから、

貼り付けててください

最後のQ&Aの時間で、できるだけ回答させて頂きます

書き込んだ質問は、主催者にしか見えません

Twitterのハッシュタグは#jawsugでどうぞ

Copyright © 2011 Amazon Web Services

Page 3: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Webセミナー

ほぼ週刊AWSマイスターシリーズ'全10回(

10/26 第5回 ELB, AutoScaling & CloudWatch

11/1 第6回 CloudFormation

11/9 第7回 VPC

11/16 第8回 RDS

11/22 第9回 EMR

11/30 第10回 SES

http://aws.amazon.com/jp/event_schedule/ 申し込みサイト

Page 4: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELB、CloudWatch、Auto Scalingの密接な関係

典型的使用例: 異なるアベイラビリティゾーンに存在するWebサーバー'EC2)の前にELBを利用する。CloudWatchはバックエンドのサーバーの負荷をモニタリングし、定義しておいた設定を満たすとアラームをあげ、Auto Scalingの設定(ポリシー)にそってEC2サーバーを増減させる Elastic Load

Balancing

CloudWatch Auto Scaling CPU利用率

アラーム

ロードバランサ

モニタリング

サービス

EC2サーバを

増減する

メカニズム ゾーンA ゾーンB

EC2

Page 5: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

マイスター的、他のサービスとの位置づけ ①静的コンテンツは、S3とCloudFrontで!(楽だし簡単) ②動的コンテンツで、EC2でのスケールアウト/インが必要なときはELB!!

http://aws.amazon.

com/architecture

Page 6: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Agenda

ELBの詳細

概要説明/デモ/応用機能/利用上のTIPS/制約

AutoScalingの詳細

CloudWatchの詳細

Page 7: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELB: Elastic Load Balancing

ロードバランサーのクラウドサービス

ELBの特徴

負荷分散: リクエストを複数のバックエンドのサーバーに分散

スケーラブル: ELB自体がトラフィックに応じてキャパシティを増減する

高い可用性: 異なるデータセンター(アベイラビリティゾーン)を跨って、トラフィックを分配可能

ヘルスチェック機能: ヘルシーなEC2にのみトラフィックを分配

安価な従量課金: ロードバランサーを従量課金で利用可能

AWS Management Console、API、コマンドラインツール、SDKでELBをコントロールできる

Page 8: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの概念図

ゾーンA ゾーンB

東京リージョン

ELB

ユーザー

クライアント

Web コンソール

開発者

HTTP / HTTPS /

TCP / SSL

HTTP / HTTPS /

TCP / SSL

Page 9: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの基本

ELBはトラフィックにあわせ、自動的にキャパシティを増減する →数も増減するので、IPアドレスはそれに伴い変わる

ELBを使用するときには、DNS名を用いる

ELBのDNS名を用いて使用する 例: hanako-12345678.ap-northeast-1.elb.amazonaws.com

独自ドメイン名を利用する際は、名前解決にCNAMEを用いる (IPアドレスを直接使うAレコードを使わない)

CNAMEを用いる副作用として、通常のDNSではZone Apex(例: example.com)がサポートできないが、Route 53のAAレコードを用いればサポート可能

Page 10: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの基本

サポートしているプロトコル

HTTP、HTTPS、SSL、TCP

ELBのフロントエンド、ELBからバックエンドにおいて、 違うポートを用いることができる

CloudWatchとの統合

リクエスト数(HTTP 2xx-5xx)

レイテンシー

ヘルシー、アンヘルシーなEC2インスタンス数

IPv4とIPv6のサポート (10月27日に東京リージョンもサポート)

IAMを利用してAPIへのアクセス権限設定可能

バックエンドのEC2のセキュリティグループに、 ELBからのトラフィックしか受けない設定が可能

Page 11: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの基本(続き)

SSLのサポート

ELBでSSL Terminationも可能

• ①ELBでSSL Terminationし、バックに復号したものを送信

• ②ELBでSSL Terminationし、バックに別途暗号化して送る

• ③SSLをバイパスしてバックにTCPで送信

SSL証明書をELBで一元管理

• 証明書のアップロードはWebコンソール / IAMのAPI

受け入れるCipherの選択も可能

セッションアフィニティ(Session Stickiness)もサポート

ELB作成のcookie / application作成のcookie

X-Forwardedヘッダーをサポート

X-Forwarded-Proto, X-Forwarded-Port, X-Forwarded-For, X-Forwarded-Server, X-Forwarded-Host

Page 12: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの基本(続き)

セッションアフィニティ(Session Stickiness)もサポート

ELB作成のcookie / application作成のcookie

X-Forwardedヘッダーをサポート X-Forwarded-Proto, X-Forwarded-Port, X-Forwarded-For, X-

Forwarded-Server, X-Forwarded-Host

(10月27日更新) ELBのDNS名が複数のIPアドレスを返すように

Page 13: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBのデモ

AWS Management Consoleから、ELBのウィザードを使って、ELBを作成

利用するポートとプロトコルの設定

ヘルスチェックの設定

バックエンドのEC2を選択

ELB作成を実行! →数分で作成完了

Page 14: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ: ELBの作成

Page 15: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ:ポートとプロトコルの設定

ELBからEC2へは

違うポートのアサインが可能 プロトコルの選択

Page 16: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ:ヘルスチェックの設定

ヘルスチェックに使う、ファイルとして、この例は、index.htmlだが、

ファイル名は独自のものを使うことを推奨

Page 17: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ:バックエンドのEC2インスタンス選択

ゾーン間で均等に配分することに注意。EC2のタイプも

気にしないことにも注意。

Page 18: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ:作成確認画面

Page 19: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ:ELBが作成されました!

Page 20: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

推奨事項: EC2側でのセキュリティグループ設定

ELBからのインバウン

ドしか受け付けないように、セキュリティグループを設定できる

Page 21: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの応用編

ELBのSSLサポート

Zone Apexのサポート

Session Stickiness

Page 22: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBでのSSLサポート

SSLのサポート

①ELBでSSL Terminationし、バックに復号したものを送信

②ELBでSSL Terminationし、バックに別途暗号化して送る

③SSLをバイパスしてバックにTCPで送信

Page 23: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBでのSSL証明書の管理 注意:

GUIでは証明書の変

更を後からできないが、CLIでは可能

SSLを用いる場合、ウィザードの中でSSL

の選択/インポート画面が出てくる

Page 24: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Cipherの選択

Page 25: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

バックエンドのサーバーの認証

Page 26: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Zone Apexのサポート

Zone Apex(ゾーン頂点、)はCNAMEでサポートできないが、Route 53は独自にサポートしている

回避策

Route 53のAAレコードを用いる

http://aws.typepad.com/aws_japan/2011/05/moving-ahead-with-amazon-route-53.html

http://docs.amazonwebservices.com/Route53/latest/DeveloperGuide/index.html?CreatingAliasRRSets.html

EIPを持ったEC2で、ルートドメインに対するトラフィックをELBにリダイレクトする

http://developer.amazonwebservices.com/connect/thread.jspa?threadID=32044

http://shlomoswidler.com/2011/01/aws-auto-scaling-and-elb-with-reliable-root-domain-handling.html

Page 27: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Session Stickinessの利用

Page 28: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの利用上のTIPS

ELBのIPアドレスを直接用いない(Aレコード、ダメ!絶対!)

IPアドレスは変更しうるので、CNAMEを用いる(前述)

ELBの負荷分散の性質に注意

ELB は各 AZ ごとに均等に負荷を割り振ろうとする

ELB は各インスタンスのサイズは考慮しない

Page 29: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの利用上のTIPS

Management Consoleでサポートしていないが、コマンドラインツール/APIにおいては、サポートしている設定変更あり

ポート追加、証明書変更/削除

既に他のELBに追加されてるインスタンスを、別ELBにも追加

• 利用例: 1つのEC2インスタンスで、複数のバーチャルホストを立てて、異なるポートを利用する ELBを利用して1つのEC2で複数ドメインのHTTPS(SSL) - suz-lab http://blog.suz-lab.com/2011/01/elb1ec2httpsssl.html

Page 30: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの利用上のTIPS

非常に急激にトラフィックが急増するシステムにELBを用いる場合は注意

ELBではキャパシティの増減には時間がかかる。

ELBのキャパシティ増減が間に合わないほどの急激なトラフィック向上が予測される場合、ELBのキャパシティ不足が起こる可能性がある

⇒事前に 営業/プレミアムサポートにご相談ください

現時点の目安: 5分以内で2倍以上のトラフィックが予測される場合

Page 31: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの利用上のTIPS

DNSキャッシングに注意

TTL(60 秒)より長くキャッシュを保持するゲートウェイ、プラットフォームを経由した場合、間違ったDNS設定と似たような状況を引き起こす可能性がある

ELBでは最低60分間はIPアドレスの再利用はしないが、それ以上に渡ってキャッシュされる場合、問題が起こる可能性がある → 営業/プレミアムサポートにご相談ください

Page 32: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの利用上のTIPS

ヘルスチェックが利用するファイルへのアクセス権に注意

バックエンドのサーバーで認証などを行っている際に、ヘルスチェックで設定したファイルが、「HTTPのステータスコードで200番を返さないと」、ヘルスチェックに失敗する

• 対処例: Apache httpdのディレクティブにて:

<Files health_check_file.txt>

Satisfy Any

Allow from all

</Files>

Page 33: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの利用上のTIPS

SSL証明書のライセンス

技術的には1つの証明書をELBにインストールして、それをバックエンドの複数のEC2インスタンスで用いることができます。ライセンスに関しては、ドメイン単位/サーバー単位で発行など、ベンダーによって異なるのでご確認ください

ELBのTCPコネクションは60秒後にTerminateされます

60秒以上の待ち時間が発生する場合は、アプリケーション側で非同期プロセスをするなど工夫が必要

ELBの負荷テストは要注意。例えば、下記を参照

http://blog.apps.chicagotribune.com/2010/07/08/bees-with-machine-guns/

Page 34: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELBの利用上の制約

UDPはサポートされていません

ELB そのものに対するアクセス制限はできない

バックエンドのEC2側に関しては、ELBからのトラフィックしか受けないように調整できる(前述)

Session Affinityにおいて、cookie以外のURLリライティングやSSLセッションIDなどはサポートされていません

URLレベルの負荷分散には現時点で対応しておりません

ELBに対してEIPを割り当てる機能は現時点でサポートしておりません (沢山のお客様からご要望頂いております!!)

ELBのリミット

初期設定では、最大10個までしかELBが作成できません

制限解除のフォーム http://aws.amazon.com/jp/contact-us/#request_service_limitation

Page 35: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

AutoScaingの詳細

Page 36: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Elastic Load

Balancing

CloudWatch Auto Scaling CPU利用率

アラーム

ロードバランサ

モニタリング

サービス

EC2サーバを

増減する

メカニズム ゾーンA ゾーンB

EC2

Page 37: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

AS: AutoScaling

定義しておいた設定にあわせて、EC2の台数を増減させることのできるメカニズム

サーバーを不要時は落とし、必要時は増加させ、コスト効率を改善

運用を簡易化、自動化する

典型的なユースケース

ピーク対応: リクエストにあわせてキャパシティを増減させる

自動リカバリ: 不健全なサーバーを除き、キャパシティを保つ

スケールさせるためのメカニズム

マニュアル – コマンドラインツール/APIで変更を指定

スケジュール – 希望時刻にあわせてスケールさせる

ポリシーベース-ポリシーを設定しておき、そのポリシーをCloudWatchのアラーム等で起動する

Page 38: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

AS: AutoScaling

Auto Scalingのその他特徴

ELB連携: ELB配下にてEC2インスタンスを増減させる

通知機能: SNSを利用してアクション実行時に通知送信

ヘルスチェック機能: EC2の状態をチェックする

AutoScalingの設定そのもののコストはかからない

現時点で、AWS Management Consoleの設定はないので、コマンドラインツール、もしくはAPIで設定を行う必要がある

Page 39: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scalingが実行するタスク

下記のタスクを実行できる

Launch: インスタンスの起動を行う

Terminate: インスタンスを終了する

HealthCheck: 各インスタンスのヘルスチェックを行う

ReplaceUnhealthy: 不健全なインスタンスを入れ替える

AddToLoadBalancer: 指定したELBにインスタンスを追加する

AZRebalance: AZ間のインスタンスのバランスをとる

AlarmNotification: 起動/終了の通知を送る

ScheduledActions: スケジュールしていたアクションを実行する

Page 40: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scalingのコマンドラインツール

コマンドラインツールのインストールはこちら:

http://aws.amazon.com/developertools/Amazon-EC2/2535

as-cmdでコマンドの一覧表示

Page 41: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scalingの3つの基本設定 “Launch Configuration”

起動したいインスタンスのパラメータ設定を行う

どのAMI?、セキュリティグループ?

“Auto Scaling Group”

Auto Scalingさせるグループの設定

どのELBに?どのAZに?

“Scaling Policy”

アラームが発令されたときのスケーリング量の指定

いくつのインスタンス数を増やす?

Page 42: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Launch Configurationの作成

起動したいインスタンスのパラメータ設定を行う

設定内容: AMI、インスタンスタイプ、セキュリティグループ、キーペア, ボリューム, モニタリング設定, カーネルID, Ramdisk ID

複数のAMIの指定はできない

as-create-launch-config コマンドを用いる

Page 43: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scaling Groupの作成

Auto Scalingさせるグループの設定

設定内容 特定の“Launch Configuration”の指定

Minimum/Maximum/Desired(初期希望値)のインスタンス数

アベイラビリティゾーンの指定(複数可能)

(ELBを使う場合) ELBの指定、インスタンスのヘルスチェックにELBのヘルスチェックを使うかどうか

インスタンスが起動してヘルスチェックをはじめるまでの待ち時間(Grace period)

(VPCを使う場合)サブネット

as-create-auto-scaling-groupコマンドを用いる

Page 44: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scalingのデモ

事前準備

ELBの作成

EC2のAMIを作成しておく (例: Apacheが自動的に起動するもの)

Auto Scaling設定

Launch Configurationを上記AMIを指定して作成

Auto Scaling Groupを、上記のリソースで作成

実験

キャパシティを変更して実験してみる

• EC2をわざと落として自動的に起動するか?

• Desired capacityを増やして、その振る舞いを観察

終了時: リソース消去の順番に注意

Page 45: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ: Auto Scalingの設定

as-create-launch-config MyLC --image-id ami-fa9a2efb -

-instance-type t1.micro --group "webapps" --key tokyo --

region ap-northeast-1

Page 46: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ: Auto Scalingの設定

as-create-auto-scaling-group MyAutoScalingGroup --launch-

configuration MyLC --availability-zones=ap-northeast-1a, ap-

northeast-1b --load-balancers MyLoadBalancer --max-size 1 --min-

size 1 --region ap-northeast-1

(事前に、ロードバランサーをゾーン1a,1bで動作させておくことに注意)

Page 47: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ: Auto Scalingの設定

as-describe-auto-scaling-groups MyAutoScalingGroup --headers --region

ap-northeast-1

EC2インスタンスが起動

Page 48: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ: Auto Scalingの設定

EC2インスタンスが起動

手動で、desired capacityを切り替えてみる

設定をチェック

Page 49: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ: Auto Scalingの設定

順番に、消去していくことに注意。

as-update-auto-scaling-group

MyAutoScalingGroup --min-size 0 --region ap-

northeast-1

as-delete-auto-scaling-group

MyAutoScalingGroup --region ap-northeast-1

as-delete-launch-config MyLC --region ap-

northeast-1

Page 50: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scaling Policyの作成

CloudWatchのアラームが発令されたときのスケーリング量の指定

設定内容:

増減するインスタンスを数で指定 / 現在のキャパの%指定 / 特定の数への指定

as-put-scaling-policyコマンドを用いる

Page 51: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

デモ: Auto Scalingの設定

as-put-scaling-policy MyScaleUpPolicy --auto-scaling-

group MyAutoScalingGroup --adjustment=1 --type

ChangeInCapacity --cooldown 300 --region ap-

northeast-1

Page 52: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scalingのスケジューリング

PutScheduledUpdateGroupActionを用いる

AutoScalingGroupName、StartTime、DesiredCapacity、MaxSize、MinSizeを指定できる

http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/index.html?API_PutScheduledUpdateGroupAction.html

Page 53: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scaling利用時のTIPS

インスタンスが起動しないときのチェック項目

設定が間違っている(設定したリソースがおかしい。ELB名?)

制限を超えている(インスタンス数の20の初期リミット等)

原因を確かめるために、as-describe-scaling-activities を用いよう

なぜ、勝手にインスタンスが終了するの??

ヘルスチェック

リバランス

こちらも、原因を確かめるために、as-describe-scaling-activitiesを用いよう

Page 54: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scaling利用時のTIPS(続き)

インスタンスがトラフィックを受け付けない

ELBのAZ設定が、Auto ScalingのAZ設定と異なっている →同じである必要がある

Auto Scaling配下のEC2インスタンスのTerminateされる順序は、指定できない

現時点では、Terminateの順番は指定できません。基本的には、一番古い起動コンフィグで立ち上がった、課金タイミングの終わりに近いものが terminate されます

Page 55: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Auto Scalingの制約

Auto Scalingのリミット

100 Launch Configurations

20 Auto Scaling Groups

125 Actions

50 Policies

20 SNS Topics

→ 営業問い合わせ/プレミアムサポートにご相談ください

Page 56: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatchの詳細

Page 57: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Elastic Load

Balancing

CloudWatch Auto Scaling CPU利用率

アラーム

ロードバランサ

モニタリング

サービス

EC2サーバを

増減する

メカニズム ゾーンA ゾーンB

EC2

Page 58: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatch

AWSクラウドのリソースをモニタリングするためのWebサービス

CloudWatchの特徴

EC2インスタンス、EBSボリューム、ELB、RDSインスタンス、SNS、SQS、ElastiCacheのモニタリングが可能(現時点)

上記以外に、カスタムメトリクスとして、ユーザーが任意のデータを保存、可視化できる

メトリクスをベースにアラームを設定できる

• アラームからAuto Scaling Policy実行、SNSで通知

メトリクスが保存される期間は2週間

Page 59: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatch

GUI、コマンドラインツール、APIでコントロールできる

CloudWatchの基本モニタリングは無料

EC2は有料にすると1分間隔の詳細モニタリング(無料は5分間隔)

カスタムメトリクス、アラーム、API利用は有料

Page 60: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

EC2のプロパティビューのCloudWatchのグラフ

Page 61: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Graphはドリルダウン可能

Page 62: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatchのダッシュボード

Page 63: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

メトリクスの詳細を見る

Page 64: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

メトリクスで見れるもの

EC2 EBS ELB RDS

SNS SQS

Page 65: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Using CloudWatch API Tools

Page 66: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatchのデモ

事前準備

Auto Scalingのポリシーの設定まで済んでいる (Auto Scalingのデモ時)

CloudWatchのAlarm作成

SNSで通知の設定

Alarm起動時に、Auto Scalingのポリシーを起動する設定

Page 67: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatchデモ: Alarmの作成

Page 68: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatchデモ: Alarmの作成

Page 69: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatchデモ: Alarmの作成

Page 70: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatchデモ: Alarmの作成

Alarmから、Auto Scalingのポリシーを指定

Page 71: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

CloudWatchデモ: Alarmの作成

Alarmから、SNSの通知を指定

Page 72: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

カスタムメトリクス

カスタムメトリクスを用いると、独自のメトリクスを保存し、モニタリング、グラフ化できる

“mon-put-data”コマンドラインツール “PutMetricData”もしくは、API コール

“mon-list-metrics”でデータを参照

サイズは最大8KB - HTTP GET 40KB for - HTTP POST

Page 73: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

料金の見積もり例

構成例

ELB1台 + バックエンドにEC2 10インスタンス

CloudWatch の詳細モニタリングでAuto Scaling

見積もり例

Elastic Load Balancing

• 30日間 = $18

• 1000GBのデータ転送 = $8.00 ($0.008/GB)

CloudWatchの詳細監視(オプション)

• 10インスタンス x 30日間 = $108

見積もりツール http://calculator.s3.amazonaws.com/calc5.html?lng=ja_JP

©2011 Amazon Web Services May not be reused or redistributed without permission

Page 74: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ELB、CloudWatch、Auto Scalingの密接な関係

典型的使用例: 異なるアベイラビリティゾーンに存在するWebサーバー'EC2)の前にELBを利用する。CloudWatchはバックエンドのサーバーの負荷をモニタリングし、定義しておいた設定を満たすとアラームをあげ、Auto Scalingの設定(ポリシー)にそってEC2サーバーを増減させる Elastic Load

Balancing

CloudWatch Auto Scaling CPU利用率

アラーム

ロードバランサ

モニタリング

サービス

EC2サーバを

増減する

メカニズム ゾーンA ゾーンB

EC2

Page 75: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

AWSプレミアムサポート アーキテクチャ設計に関するガイダンス、ベストプラクティスも日本語でご案内できます aws.amazon.com/jp/premiumsupport/

Copyright © 2011 Amazon Web Services

ブロンズ シルバー ゴールド プラチナ

初回応答時間 12時間 4時間 1時間 15分

サポート連絡先 1人 2人 3人 無制限

24/365対応 なし なし あり あり

TEL可能 不可 不可 可能 可能

専任スタッフ なし なし なし あり

特別サポート なし なし なし あり

料金 $49 AWS利用総額の

5%

AWS利用総額の

$0~$10K: 10%

$10K~$80K: 7%

$80K~: 5%

'最低$400(

AWS利用総額の

10%

'最低$15K(

Page 76: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Q & A

Copyright © 2011 Amazon Web Services

Page 77: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

Webセミナー

ほぼ週刊AWSマイスターシリーズ'全10回( 10/26 第5回 ELB, AutoScaling & CloudWatch

11/1 第6回 CloudFormation

11/9 第7回 VPC

11/16 第8回 RDS

11/22 第9回 EMR

11/30 第10回 SES

http://aws.amazon.com/jp/event_schedule/ 申し込みサイト

Page 78: ELB & Auto Scaling & CloudWatch 詳細 -ほぼ週刊AWSマイスターシリーズ第5回-

ご参加ありがとう ございました

Copyright © 2011 Amazon Web Services