【AWS Black Belt Online Seminar】 Amazon CloudWatch アマゾンウェブサービスジャパン株式会社 パートナー ソリューション アーキテクト 酒徳 知明 2016.07.06
【AWS Black Belt Online Seminar】Amazon CloudWatch
アマゾンウェブサービスジャパン株式会社
パートナー ソリューション アーキテクト 酒徳 知明
2016.07.06
2
本資料では2016年7月6日時点のサービス内容および価格についてご説明しています。最新の情報はAWS公式ウェブサイト(http://aws.amazon.com)にてご確認ください。
資料作成には十分注意しておりますが、資料内の価格とAWS公式ウェブサイト記載の価格に相違があった場合、AWS公式ウェブサイトの価格を優先とさせていただきます。
内容についての注意点
AWS does not offer binding price quotes. AWS pricing is publicly available and is subject to change in accordance with the AWS Customer Agreement available at http://aws.amazon.com/agreement/. Any pricing information included in this document is provided only as an estimate of usage charges for AWS services based on certain information that you have provided. Monthly charges will be based on your actual use of AWS services, and may vary from the estimates provided.
価格は税抜表記となっています。日本居住者のお客様が東京リージョンを使用する場合、別途消費税をご請求させていただきます。
3
自己紹介
酒徳 知明(さかとく ともあき)エコシステム ソリューション部
パートナー ソリューション アーキテクト
• エンタープライズ SIパートナー様のご支援
• ISVパートナー様のご支援
• 好きなAWSサービス
• AWS運用系サービス
4
クラウド運用
• 標準化• テンプレート
• 監視• ログ管理
• 構成管理、変更管理• コンプライアンス強化
• API管理• 監査
• コスト最適化
• Well Architected
AWSのクラウド運用
5
• CloudWatch• AWS上で稼働するシステム監視サービス
死活監視 / 性能監視 / キャパシティ監視
• CloudWatch Logs• ログ管理プラットフォーム サービス
EC2上のOS, APPのログ AWSマネージド サービスのログ
• CloudWatch Events• AWS上リソースの状態監視サービス• AWSリソースに対するイベントをトリ
ガーにアクションを実行する機能
Amazon CloudWacth
CloudWatch
6
• CloudWatch• AWS上で稼働するシステム監視サービス
死活監視 / 性能監視 / キャパシティ監視
• CloudWatch Logs• ログ管理プラットフォーム サービス
EC2上のOS, APPのログ AWSマネジドサービスのログ
• CloudWatch Events• AWS上リソースの状態監視サービス• AWSリソースに対するイベントをトリ
ガーにアクションを実行する機能
Amazon CloudWacth
CloudWatch
7
Amazon CloudWatchとは
• AWSの各種リソースを監視するマネージドサービス– AWSリソースの死活、性能、キャパシティ
– 取得メトリックスのグラフ化 (可視化)
– 各メトリックスをベースとしたアラーム(通知)、アクションの設定が可能
• 多くのAWSサービスの監視が可能– Amazon EC2
– Amazon EBS
– Amazon RDS
– Elastic Load Balancing など
http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/supported_services.html
Amazon CloudWatch
Amazon CloudWatch
Metrics Name(CPUUtiliization)
Metrics Name(HealthyHostCount)
Metrics
Amazon CloudWatch
Metrics Name(CPUUtiliization)
Metrics Name(HealthyHostCount)
Name Space(AWS/EC2)
Name Space(AWS/RDS)
Name Space(AWS/ELB)
Metrics Name(CPUUtiliization)
Metrics
Namespace
Amazon CloudWatch
Metrics Name(CPUUtiliization)
Metrics Name(HealthyHostCount)
Name Space(AWS/EC2)
Name Space(AWS/RDS)
Name Space(AWS/ELB)
Metrics Name(CPUUtiliization)
Dimension(InstanaceId)
Dimension(InstanaceId)
Dimension(InstanaceId)
Metrics
Namespace
Dimension
Amazon CloudWatch
Metrics Name(CPUUtiliization)
Metrics Name(HealthyHostCount)
Name Space(AWS/EC2)
Name Space(AWS/RDS)
Name Space(AWS/ELB)
Metrics Name(CPUUtiliization)
Dimension(InstanaceId)
Dimension(InstanaceId)
Dimension(InstanaceId)
Sum
Max
Min
Average
StatisticMetrics
Namespace
Dimension
Simple Count
13
CloudWatchに対応するAWSサービスAWS サービス 名前空間
Auto Scaling AWS/AutoScaling
AWS Billing AWS/Billing
Amazon CloudFront AWS/CloudFront
Amazon CloudSearch AWS/CloudSearch
Amazon CloudWatch Events AWS/Events
Amazon CloudWatch Logs AWS/Logs
Amazon DynamoDB AWS/DynamoDB
Amazon EC2 Container Service AWS/ECS
Amazon ElastiCache AWS/ElastiCache
Amazon Elastic Block Store AWS/EBS
Amazon Elastic Compute Cloud AWS/EC2
Amazon EC2 Spot AWS/EC2Spot
Elastic Load Balancing AWS/ELB
Amazon Elastic MapReduce AWS/ElasticMapReduce
Amazon Elasticsearch Service AWS/ES
AWS の製品 名前空間
Amazon Kinesis Streams AWS/Kinesis
Amazon Kinesis Firehose AWS/Firehose
AWS Lambda AWS/Lambda
Amazon Machine Learning AWS/ML
AWS OpsWorks AWS/OpsWorks
Amazon Redshift AWS/Redshift
Amazon Relational Database Service AWS/RDS
Amazon Route 53 AWS/Route53
Amazon Simple Notification Service AWS/SNS
Amazon Simple Queue Service AWS/SQS
Amazon Simple Storage Service AWS/S3
Amazon Simple Workflow Service AWS/SWF
AWS Storage Gateway AWS/StorageGateway
AWS WAF AWS/WAF
Amazon WorkSpaces AWS/WorkSpaces
http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/supported_services.html
14
CloudWatch利用イメージ 標準メトリックス監視
標準メトリックス一覧
対象インスタンス検索ウィンドウ
グラフ表示期間設定
ディメンション
統計情報(単位)
15
CloudWatchのメトリックス
標準メトリックス (EC2) カスタムメトリックス
CPUUtilization
CPUCreditBalance
CPUCreditUsage
DiskReadBytes
DiskWriteBytes
DiskWriteOps
NetworkOut
NetworkIn
StatusCheckFailed_Instance
StatusCheckFailed
StatusCheckFailed_System
標準メトリックスでは収集できないメトリックス
16
CloudWatch カスタムメトリックス
• 標準メトリックス以外の独自メトリックスも監視可能– AWS CLIの”put-metric-data”、API Toolsの”mon-put-data”、もしく
は”PutMetricData” APIでデータを登録– サイズ制限として、HTTP GETは8KB、HTTP POSTは40KB、1つの
PutMetricDataリクエストに20データ
• APIコールにスロットリングあり– カスタムメトリックスの頻繁な登録や頻度の高いデータ取得には注意
$ aws cloudwatch put-metric-data –metric-name RequestLatency¥--namespace "GetStarted“¥--timestamp 2014-10-28T12:30:00Z¥--value 87 ¥--unit Milliseconds¥
$ aws cloudwatch put-metric-data --metric-name RequestLatency¥ --namespace "GetStarted“¥--timestamp 2014-10-28T12:30:00Z¥--statistic-value Sum=60,Minimum=15,Maximum=105,SampleCount=5
←単一値の登録
←統計セットの登録
17
CloudWatch のメトリックス値
• CloudWatchで取得される情報は統計情報– メトリックスデータを指定した期間で集約したもの– それぞれのメトリックスについて適切な統計情報を見る必要がある
• メトリックスデータの保管は2週間まで– 2週間以上保存する場合は、get-metric-statisticsでデータを取得し別の場所に保管しておく
• データ保管粒度は最短で1分間隔– 多くのサービスで1分間隔、5分間隔のものもある
http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html
18
Amazon EC2 のモニタリングタイプ
基本モニタリング 詳細モニタリング
無料
データは5分間隔のものを
閲覧可能
追加料金が必要
データは1分間隔のものを
閲覧可能
19
Amazon CloudWatch を使ったアラーム設定
OK不足
(INSUFFICIENT)アラーム
(Alarm)
定義された閾値を下回っている(正常値)
定義された閾値を上回っている(異常値)
データが不足のため、状態を判定できない
(判定不能)
CloudWatch特有のステータス
20
• CloudWatchはデータポイントを基準にステータスを判断– データポイントとはCloudWatchに送信される値(CPU値など)
– OK / アラーム時は入力されたデータポイントを基準に状態評価
– INSUFFIENT時はCloudWatchにテータポイントの入力が無い状態
→ “INSUFFICIENT”は必ずしも障害を表すステータスではない
INSUFFICIENT_DATA の考え方
EC2 CloudWatch
データポイント
EC2 CloudWatch
データポイント自体が存在しない
OK / ALARM INSUFFICIENT
21
Amazon CloudWatch のアクション機能
AutoScaling
EC2 Action
モニタリング
CPUUtilization
DiskReadBytes / DiskReadOps
DiskWriteBytes / DiskWriteOps
NetworkIn / NetworkOut
StatusCheckFailed_Instance
StatusCheckFailed_System
EC2 CloudWatch
Custom MetricMemory Free / Filesystem Free
アクション
Notification
23
Amazon CloudWatch アラーム・通知の設定
• CPU使用率を監視対象• CPU使用率80%以上が3期間(ここでは1期間=5分)以上
24
Amazon EC2 Auto Recovery• EC2の自動復旧
– EC2インスタンスが稼働しているAWSシステムに障害が発生した場合に、自動的にEC2インスタンス復旧する機能。• ネットワーク接続喪失• システム電源喪失• 物理ホストの障害
• 対応するインスタンスタイプ– C3, C4, M3, R3, T2インスタンス
• VPC内のインスタンス– EC2クラシックは未対応– ハードウェア専有インスタンスは未対応
• EBS-Backedインスタンスのみ
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-recover.html
25
Auto Recovery の注意事項①
• IAMアカウントを使用してアラームを作成または変更する場合、次の Amazon EC2 のアクセス権限が必要です
– ec2:DescribeInstanceStatus と ec2:DescribeInstances。Amazon EC2 インスタンスステータスメトリックスに対するすべてのアラーム用。
– ec2:StopInstances。停止アクションを含むアラーム用。
– ec2:TerminateInstances。終了アクションを含むアラーム用。
– ec2:DescribeInstanceRecoveryAttribute と ec2:RecoverInstances。復旧アクションを含むアラーム用。
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-recover.html
26
Auto Recovery の注意事項②
• AWS Security Token Service (AWS STS) を用いて許可された一時的な認証情報を使用している場合は、アラームアクションを用いて Amazon EC2 インスタンスを停止または終了することはできません
• 暗号化ボリュームは未サポートCurrently, the recover action is not supported on:
• EC2-Classic instances
• Dedicated tenancy instances
• Instances running on dedicated hosts
• Instances with encrypted EBS volumes
• Instances that use any instance store volumes, including instances launched with block device mappings for instance store volumes
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-recover.html(* 言語は英語でご確認ください)
27
Metrics Monitoring (CloudWatch Dashboard)
28
CloudWatchの料金
• 初期費用無しの従量課金• 標準の監視は無料
– EC2インスタンスの標準監視(5分間隔)– EBS、ELB、RDSは1分間隔が無料
• アラームやカスタムメトリックスは一定数まで無料– 10メトリックス、10 アラーム、および100万APIリクエスト– 1 か月あたり5GBのデータの取り込みおよび5GBのアーカイブされたストレージ
• 課金対象及び料金(2015年7月現在 Tokyoリージョン)– EC2詳細モニタリング1インスタンスにつき$3.50/月– カスタムメトリックス1つにつき$0.50/月– アラーム1つにつき$0.10/月– APIリクエスト1000回につき$0.01(Get, List, Putごとに)
http://aws.amazon.com/jp/cloudwatch/pricing/
29
クラウドならではの監視
https://vulcanpost.com/575341/servishero-survey-big-data/
30
CloudWatchによるコストの監視
• Billingアラーム設定• 課金状況をCloudWatch監視
• 一定金額を超えるとアラームメール通知が可能
• アラームの設定はVirginiaリージョンから設定
31
メンテナンスイベントの監視
• AWSが予定するメンテナンス情報は事前にお客様にご連絡させて頂きます。
マネジメントコンソールへの通知 メールでの通知
http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/monitoring-instances-status-check_sched.html
32
APIを使ったメンテナンスイベントの監視
aws ec2 describe-instance-status
33
サード パーティ監視ツールの必要性
• 監視対象の制限
– ハイブリッド環境の監視
• データ保存期間(2週間の保存)
• データ保管粒度は最短で1分間隔
• アラートの制限
– 複合アラートの設定
– 重要度の設定
• アクション機能
34
サード パーティ監視ツールとの連携
• サードパーティ監視ツールの確認ポイント AWSに対応しているか
CloudWatchとの連携機能の有無
その他、AWSサービス連携の有無
CloudWatchカスタムメトリックスに対応しているか
EC2インスタンス自動検出・自動削除が可能か
http://aws.typepad.com/aws_partner_sa/2015/06/aws-ops.html
https://aws.amazon.com/jp/solutions/partner-central/esp-catalog/
35
• CloudWatch• AWS上で稼働するシステム監視サービス
死活監視 / 性能監視 / キャパシティ監視
• CloudWatch Logs• ログ管理プラットフォーム サービス
EC2上のOS, APPのログ AWSマネジドサービスのログ
• CloudWatch Events• AWS上リソースの状態監視サービス• AWSリソースに対するイベントをトリ
ガーにアクションを実行する機能
Amazon CloudWacth
CloudWatch
AWS プラットフォームのログ活用
CloudWatch Logs
S3
CloudTrail
S3 Access Logs
ELB
VPC Flow Log
OS / APP
Kinesis
Lambda
チャット
電話
通知
アラート
アクション
Config Cloudfront
Detailed Billing
Redshift
DMSRDS
他ツール連携
エクスポート
API Gateway
可視化
※一部サービスを抜粋
37
CloudWatch Logs
Amazon Linux Ubuntu
Windows Red Hat Linux
CloudWatch Logs
通知:
CloudWatch Alarm
Log Agent Log Agent
Log Agent Log Agent
VPC Flow Log
可視化:
Amazon Elasticsearh Service(Kibana)
エクスポート:
Amazon Kinesis Firehose
CloudTrail Lambda RDS
38
CloudWatch Logsのログ管理
Web Serverweb001.ap-northeast-1
Log Group Log Stream Log Event
web002.ap-northeast-1
web003.ap-northeast-1
39
ログの保存期間
• CloudWatch Logsはログの保存期間を設定可能
40
ログモニタリングイメージ
• ログ内容はタイムスタンプとログメッセージ(UTF-8)で構成
41
CloudWatch Logs Metric Filter(1/3)• ログイベントから特定の文字列のフィルタリングが可能
42
CloudWatch Logs Metric Filter(2/3)
• 特定文字列のエントリ頻度によりアラーム作成が可能
→ コンソールへのログインが失敗するとアラーム警告
43
CloudWatch Logs Metric Filter(3/3)
• Metric Filterからアラーム作成、SNS連携が可能
Metric FilterをトリガーにしたCloudWatchアラームの作成が可能
44
RDS 拡張モニタリング
• CPU、メモリ、ファイルシステムやディスクI/Oなどの50を超えるメトリクスが取得可能
• 拡張モニタリング データはJSON形式でCloudWatch Logsに蓄積
• 対応しているDB(db.t1.micro と db.m1.small を除く)
– Amazon Aurora
– MariaDB
– Microsoft SQL Server
– MySQL (バージョン 5.5 以降)
– Oracle
– PostgreSQL
CloudWatch LogsRDS
46
VPC Flow Log
47
Amazon Elasticsearch Service との連携
• Elasticsearchクラスタを数分間で起動できるマネージドサービス
• Kibanaが組み込まれており、即座にデータのビジュアライズに着手できる
• すでに東京リージョンでも利用可能
• CloudWatch Logs インテグレーションがとても簡単
CloudWatch Logs Elasticsearch Service
48
CloudWatch Logs と Elasticsearch Service の連携設定
① CloudWatch Logsに蓄積されたログを簡単にAmazon Elasticsearch Service (AES) にインポート
49
CloudWatch Logs と Elasticsearch Service の連携設定
② ログを転送するElasticsearch Service Clusterとログフォーマットを設定
事前に作成されたクラスタから選択
必要に応じフィルターパターンを変更
50
Kibana Dashboard
51
ログのエクスポート• ロググループ単位でCWLに蓄積されたログをS3にエクスポート
$ aws logs create-export-task --task-name "myexport-06152016" --log-group-name ”LOGGROUP NAME" --from 1465484400 --to 1465570800 --destination "cwl-export-logs"
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/S3ExportTasks.html
52
CloudWatch Logs Subscription
• CloudWatch Logsに収集されたログをリアルタイムにKinesisに転送可能– Kinesis Applicationでログに対してロジックを記述
– CloudWatch Logsには指定した保管期間ログが保管される
– 設定はAWS CLIから実装
CloudWatch Logs KinesisKinesis
Application
Log Agent
EC2
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/Subscriptions.html
53
awslogs (https://github.com/jorgebastida/awslogs)
https://github.com/jorgebastida/awslogs
Log Group Log Stream Log Record
54
CloudWatch Logs料金体系
5GB
5GB
$0.76 / GB
$0.033 GB / 月
無料枠
(1カ月あたり)従量課金
http://aws.amazon.com/jp/cloudwatch/pricing/
10メトリックス、10アラーム、および100万の API リクエストの無料利用枠を準備
インジェクション
アーカイブ
55
• CloudWatch• AWS上で稼働するシステム監視サービス
死活監視 / 性能監視 / キャパシティ監視
• CloudWatch Logs• ログ管理プラットフォーム サービス
EC2上のOS, APPのログ AWSマネジドサービスのログ
• CloudWatch Events• AWS上リソースの状態監視サービス• AWSリソースに対するイベントをトリ
ガーにアクションを実行する機能
Amazon CloudWacth
CloudWatch
AWS上に構築された多くのシステムがPollingモデルで動作- DescribeInstances- DescribeVolumes- ListQueues
57
CloudWatch Events コンポーネント
イベントソース• 対象となるリソースの指定• 処理が実行されるタイミング
選択(状態)
ターゲット• 実行する処理を決定• 処理内容を事前定義(AWS
Lambda) or Bullet-inの利用
ルール• 定義したイベントソースと
ルールの組み合わせ
58
イベントソースの選択
• EC2 Instance states change notification– Pending/Running/Shutting down/Stopped/Stopping/Terminated
• Schedule– 間隔:分(Minites)/時間(Hours)/日(Days)– クーロン表記
• AWS API call– AWS CloudTrailにより発行されたイベント
• AWS console sign-in• Auto Scaling
– Launch Successful/Launch Unsuccessful/Terminate Successful/Terminate Unsuccessful
59
ターゲットの選択
• Lambda Function
• SNS Topic
• Kinesis Stream
• Built-in target– EBSボリュームのスナップショット作成
– EC2インスタンスの再起動
– EC2インスタンスの削除
– EC2インスタンスの停止
60
CloudWatch Event を利用する準備
• User accounts– IAMユーザに “events:*”,
“iam:PassRole” のパーミッションが必要
• AWS CloudTrail logging– AWS API callをイベントソースに指定す
る場合は事前にCloudTrailを有効にする必要あり
• AWS Security Token Service– リージョンのエンドポイントが有効に
なっているかの確認(デフォルトでは有効)。
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"events:*",
"iam:PassRole"
],
"Effect": "Allow",
"Resource": "*"
}
]
}
61
CloudWatch Events の第一歩
• CloudWatch Eventの出力ログの理解– ルールの実行ログ(AWS Lambda)はCloudWath Logsに出力される
Lambda Functionサンプル
・インスタンスIDの取得console.log(event.detail['instance-id']);
→ i-4f181ea
・インスタンス状態の取得console.log(event.detail.state);
→ running
・インスタンス状態の取得console.log(event.region);
→ ap-northeast-1
62
CloudWatch Events の利用例* サンプルコードあり
http://blogs.aws.amazon.com/security/post/Tx150Z810KS4ZEC/How-to-Automatically-Tag-Amazon-EC2-Resources-in-Response-to-API-Events
② 特定のタグを付与する ③ 特定のタグの付与がないEC2は起動させない
① 定期的なスケジュール実行
https://speakerdeck.com/tmorinaga/opsjaws-number-4-cloudwatch-events-hands-on
https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/with-scheduled-events.html
63
価格
• 100万カスタムイベントあたり$1.00
ペイロード 64 KB (切り上げ) につき 1 つのカスタムイベントとして請求されます。例えば、ペイロードが 256 KB である 1 つのカスタムイベントは、4 つのカスタムイベントとして請求されます。また、ペイロードが 65 KB である 1 つのカスタムイベントは、2 つのカスタムイベントとして請求されます。
https://aws.amazon.com/cloudwatch/pricing/?nc1=h_ls
Amazon CloudWatch
Metrics Name(CPUUtiliization)
Metrics Name(HealthyHostCount)
Name Space(AWS/EC2)
Name Space(AWS/RDS)
Name Space(AWS/ELB)
Metrics Name(CPUUtiliization)
Dimension(InstanaceId)
Dimension(InstanaceId)
Dimension(InstanaceId)
Sum
Max
Min
Average
Statistic
Metrics Namespace Dimension
Simple Count
Dashboard
CloudWatch Logs
CloudWatch Events
Rules
Filtering
Event Rule
Alert
Action
65
• CloudWatch• AWS上で稼働するシステム監視サービス
死活監視 / 性能監視 / キャパシティ監視
• CloudWatch Logs• ログ管理プラットフォーム サービス
EC2上のOS, APPのログ AWSマネージド サービスのログ
• CloudWatch Events• AWS上リソースの状態監視サービス• AWSリソースに対するイベントをトリ
ガーにアクションを実行する機能
Amazon CloudWacth
CloudWatch
66
クラウド運用
• 標準化• テンプレート
• 監視• ログ管理
• 構成管理、変更管理• コンプライアンス強化
• API管理• 監査
• コスト最適化
• Well Architected
AWSのクラウド運用
AWS運用コミュニティ(OpsJAWS)~クラウドによる、クラウドのための、クラウド運用管理~
AWS上に構築されたシステムの運用管理のベストプラクティスを集約!
@OpsJAWShttps://opsjaws.doorkeeper.jp/http://aws.typepad.com/aws_partner_sa/2015/06/aws-ops.html
68
オンラインセミナー資料の配置場所
• AWS クラウドサービス活用資料集– http://aws.amazon.com/jp/aws-jp-introduction/
• AWS Solutions Architect ブログ– 最新の情報、セミナー中のQ&A等が掲載されています
– http://aws.typepad.com/sajp/
69
公式Twitter/FacebookAWSの最新情報をお届けします
@awscloud_jp
検索
最新技術情報、イベント情報、お役立ち情報、お得なキャンペーン情報などを日々更新しています!
もしくはhttp://on.fb.me/1vR8yWm
70
AWSの導入、お問い合わせのご相談
• AWSクラウド導入に関するご質問、お見積り、資料請求をご希望のお客様は、以下のリンクよりお気軽にご相談くださいhttps://aws.amazon.com/jp/contact-us/aws-sales/
※「AWS 問い合わせ」で検索してください