Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 •...

56
Monitoring on AWS Tomoaki Sakatoku Solutions Architect Amazon Web Service Japan

Transcript of Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 •...

Page 1: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Monitoring on AWS

Tomoaki SakatokuSolutions Architect

Amazon Web Service Japan

Page 2: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Who I am…

酒徳 知明 (Tomoaki Sakatoku)

Partner Solutions Architect

• Ecosystem

• DevSecOps

Page 3: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

アジェンダ

• Cloud Monitoring の考え方

• Cloud Monitoring を支えるサービス インテグレーション

• Cloud (AWS) ならではの

Monitoringの考慮点

• AWSサービス 単体の説明

お話すること お話しないこと

Page 4: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWSにおけるクラウド運用プロセス

クラウド運用

• 標準化• テンプレート

• 監視• ログ管理

• 構成管理• 変更管理

• API管理

• コスト最適化

• Well Architected

Page 5: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

運用監視系AWSサービス 単体の説明

https://d0.awsstatic.com/events/jp/2017/summit/slide/D4T3-5.pdf

https://d0.awsstatic.com/events/jp/2017/summit/slide/D4T3-6.pdf

https://d0.awsstatic.com/events/jp/2017/summit/slide/D3T1-1.pdf

Page 6: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

こんなことが起きないように、”モニタリング”

Page 7: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

異常値・閾値のベースライン定義

• Metrics-Based• 静的/スタティック (閾値ベー

スライン)• 動的/ダイナミック (異常検知)

• Event-Based• イベント ドリブン

• Rule-Based• セキュリティ• コンプライアンス

Metrics-Based

Event-Based Rule-Based

Page 8: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Monitoring on AWS- Metrics-Based -

- Event-Based -

Page 9: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

• CloudWatch• AWS上で稼働するシステム監視サービス

死活監視 / 性能監視 / キャパシティ監視

• CloudWatch Logs• ログ管理プラットフォーム サービス

EC2上のOS, APPのログ AWSマネジドサービスのログ

• CloudWatch Events• AWS上リソースの状態監視サービス• AWSリソースに対するイベントをトリ

ガーにアクションを実行する機能

Amazon Cloudwacth

CloudWatch

Page 10: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Cloudwatch を使ったモニタリング

AutoScaling

EC2 Action

モニタリング

CPUUtilization

DiskReadBytes / DiskReadOps

DiskWriteBytes / DiskWriteOps

NetworkIn / NetworkOutNetworkPacketsIn / NetworkPacketsOut

StatusCheckFailedStatusCheckFailed_Instance

StatusCheckFailed_System

EC2 CloudWatch

Custom MetricMemory Free / Filesystem Free

アクション

Notificationアラーム

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html

Page 11: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

CloudwatchがサポートするAWSサービス

http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/supported_services.html

AWS サービス 名前空間

Amazon API Gateway AWS/ApiGateway

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

AWS Database Migration Service AWS/DMS

Amazon DynamoDB AWS/DynamoDB

Amazon EC2 AWS/EC2

Amazon EC2 Container Service AWS/ECS

AWS Elastic Beanstalk AWS/ElasticBeanstalk

Amazon Elastic Block Store AWS/EBS

Amazon Elastic File System AWS/EFS

Elastic Load Balancing AWS/ELB (Classic Load Balancers)

Elastic Load BalancingAWS/ApplicationELB (Application Load Balancers)

Amazon Elastic Transcoder AWS/ElasticTranscoder

Amazon ElastiCache AWS/ElastiCache

Amazon Elasticsearch Service AWS/ES

AWS サービス 名前空間

Amazon EMR AWS/ElasticMapReduce

AWS IoT AWS/IoT

AWS Key Management Service AWS/KMS

Amazon Kinesis Analytics AWS/KinesisAnalytics

Amazon Kinesis Firehose AWS/Firehose

Amazon Kinesis Streams AWS/Kinesis

AWS Lambda AWS/Lambda

Amazon Machine Learning AWS/ML

AWS OpsWorks AWS/OpsWorks

Amazon Polly AWS/Polly

Amazon Redshift AWS/Redshift

Amazon Relational Database Service AWS/RDS

Amazon Route 53 AWS/Route53

AWS Shield Advanced AWS/DDoSProtection

Amazon Simple Email Service AWS/SES

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

AS OF 2017/06

Page 12: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

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

Page 13: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

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

Actions

CloudWatch Logs

CloudWatch Events

Rules

Filtering

Event Rule

CloudWatch

Page 14: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

CloudWatch Update - Data Retention -

• CloudWatchのメトリックス保存期間が大幅拡張 今まで14日だったCloudWatchメトリックスの保存期間

が、最大15ヶ月まで拡張 拡張に関する追加費用はなし(無料) すでに3ヶ月前のメトリックスが利用可能 データ取得間隔により、保持期間が異なるので注意

• 1分間隔ので取得されたデータ: 15日間分利用可能

• 5分間隔ので取得されたデータ: 63日間分利用可能

• 1時間隔ので取得されたデータ: 455日間分利用可能

https://aws.amazon.com/about-aws/whats-new/2016/11/cloudwatch-extends-metrics-retention-and-new-user-interface/

Page 15: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

CloudWatch Update - Network Monitoring

• Direct Connect 監視メトリックスが追加

• ConnectionState

• ConnectionBpsEgress/ConnectionBpsIngress

• ConnectionPpsEgress/ConnectionPpsIngresshttp://docs.aws.amazon.com/ja_jp/directconnect/latest/UserGuide/monitoring-cloudwatch.html

• VPN Tunnel 監視メトリックスが追加

• TunnelState: VPNトンネルの状態。0はDOWN, 1はUP

• TunnelDataIn: VPNトンネル経由のIn-Packetデータ量(単位: Byte)

*データ量は暗号化後のサイズ

• TunnelDataOut: VPNトンネル経由のOut-Packetデータ量(単位: Byte)

*データ量は暗号化前のサイズ

http://docs.aws.amazon.com/directconnect/latest/UserGuide/monitoring-cloudwatch.html

http://docs.aws.amazon.com/solutions/latest/vpn-monitor/cloudwatch.html

Page 16: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

CloudWatch Dashboard - UI Experience -

Page 17: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS CloudTrail

• AWSユーザの操作をロギングするサービス

• ルートアカウント/IAMユーザのオペレーションをトラッキング

• ロギングデータはS3に保存される• CloudTrail ログファイルは暗号化され、

gz形式でS3に保存(SSE)• KMSを使った暗号化もサポート

• CloudTrail 自体は無料• Amazon S3/SNSの使用料金が必要

CloudTrail

Page 18: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

CloudTrail API lookup

APIコールはAWSマネジメント コンソールから確認可能

※ AWSマネジメントコンソールから確認できるのは直近の7日間のログのみ

Page 19: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

CloudTrail API サンプル (RunInstance)

AMI ID

セキュリティグループ

Instance ID キーペアー

サブネット

ENI ID

VPC ID

Page 20: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

CloudWatch Dashboard - Log Integration -

Page 21: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

CloudWatch Dashboard - Log Integration -

詳細は、JSONから確認可能

Page 22: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

ベースライン閾値の設定プラクティス

展開されるフィルタリング・ルール

• アカウント ルート ログインの監視• 認証失敗の監視• 特定インスタンスタイプのEC2が作成

されたかの監視• セキュリティグループ変更の監視• 大きめのインスタンス起動の監視• IAM ポリシーの変更の監視

http://aws.typepad.com/aws_japan/2015/03/cloudtrail-integration-with-cloudwatch-in-four-more-regions.html

CloudTrail CloudWatch Logs

Page 23: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

ユースケース: CloudTrail Data Events for S3

あるプライベート バケットにアップされたS3オブジェクトは公開 (Make Public) させない

1. ユーザがオブジェクトをS3にput-object

2. CloudTrail がオブジェクトの追加を検知し、Lambda FunctionをInvoke

3. Lambdaがオブジェクト属性を確認し、必要に応じて修正

S3 CloudWatchEvents

LambdaCloudTrail

Page 24: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Code Highlight - CloudTrail Data Events for S3

① JSON の展開

② オブジェクト属性の取得

③ オブジェクト属性の変更

Page 25: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

ユースケース: CloudTrail + CloudWatch Events

CloudTrailOFF

CloudWatch Events

Lambda CloudTrailON

Notification Loggingdevday-cloudtrailuser

User

IAM Role/Policy

Userhttp://github.com/awslabs/aws-security-automation

Page 26: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Monitoring on AWS- Rule-Based -

Page 27: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

• AWSリソースのレポジトリ情報から、リソースの変更履歴、構成変更を管理• 構成情報は定期的にスナップショットとして

S3に保存• 必要に応じSNSを使った通知も可能

• 構成情報を元に、現在のシステムがあるべき状態になっているかを評価• 評価基準にはAWSが適用するルール、もし

くは独自のルールを適用

AWS Config / Config Rules

AWS ConfigAWS Config Rules

Page 28: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS Config Rulesによるポリシー適合の評価

AWS Managed Rules• AWS により定義・提供される

• AWS により運用される• 必要最低限のベーシック・ルール

Custom Rules• 自分でAWS Lambdaをベースにルールを作成可能• 管理自体は作成者 (自分) で実施

Page 29: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS Config Managed Rules

AS OF 2017/07

approved-amis-by-idapproved-amis-by-tagdesired-instance-tenancydesired-instance-typeebs-optimized-instanceec2-instance-detailed-monitoring-enabledec2-instances-in-vpcec2-managedinstance-applications-blacklistedec2-managedinstance-applications-requiredec2-managedinstance-inventory-blacklistedec2-managedinstance-platform-checkec2-volume-inuse-checkeip-attachedencrypted-volumesrestricted-common-portsrestricted-ssh

db-instance-backup-enableddynamodb-throughput-limit-checkrds-multi-az-supportrds-storage-encryptedredshift-cluster-configuration-checkredshift-cluster-maintenancesettings-check

cloudtrail-enabledcloudformation-stack-notification-checkcloudwatch-alarm-action-checkcloudwatch-alarm-resource-checkcloudwatch-alarm-settings-checkrequired-tags

acm-certificate-expiration-checkiam-password-policyiam-user-group-membership-checkiam-user-no-policies-checkroot-account-mfa-enabled

コンピュート データベース マネージメント ツール

セキュリティ&コンプライアンスストレージs3-bucket-logging-enableds3-bucket-ssl-requests-onlys3-bucket-versioning-enabled

Page 30: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS Config Customer Rules

https://github.com/awslabs/aws-config-rules/blob/master/RULES.md

• ルールをカスタマイズし、環境にあったベースラインを作成

• AWS Lambda ベース

• AWS Config Rules Repository• GitHub(awslabs/aws-config-rules)

• IAMポリシー関連

• IAM鍵のローテーション

• MFAの有効化

• ルートアカウントの無効化

• VPC Flow Logの有効化

• タグフォーマットの制御

Page 31: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS Config – Management Console

Page 32: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能
Page 33: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能
Page 34: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能
Page 35: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Trusted Advisorの活用

ご利用実績を元に、自動的にコスト最適化提案をするツール

• 使用率の低いEC2, 利用頻度の低いEBS, 関連付けれれていないEIPなどを指摘

• ご利用にはAWSサポート(ビジネス)が必要

Page 36: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Trusted Advisorで確認できる項目 - 概要

カテゴリ ヘルスチェックチェックする内容 例

コスト最適化 コスト最適化の可能性がある項目に対する推奨事項

使用率の低いEC2インスタンス利用頻度の低いEBSボリューム

など

セキュリティ お客様のシステムのセキュリティ弱体化につながる恐れのある設定

セキュリティグループ(無制限アクセス)、MFA設定 など

耐障害性 お客様システムのアプリケーションの可用性や冗長性を高めるためのベストプラクティスからの推奨事項

RDSのマルチAZ構成、EBSスナップショット、ELBのクロスゾーン設定 など

パフォーマンスの向上 アプリケーションの拡張性や応答性の改善、過剰なキャパシティのチェックなどパフォーマンス最適化のための推奨事項

サービス制限、高負荷なEC2インスタンス、CloudFrontのキャッシュヒット率チェック など

Page 37: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Trusted Advisorで確認できる項目 - 詳細コスト削減 セキュリティ 耐障害性 パフォーマンス

• 使用率の低いAmazon EC2 Instances• アイドル状態の Load Balancer• 利用頻度の低いAmazon EBSボリューム• 関連付けられていない Elastic IP Address• Amazon RDSアイドル状態のDBインスタ

ンス• Amazon Route 53 レイテンシーリソー

スレコードセット• EC2 リザーブドインスタンスの最適化• Amazon EC2 リザーブドインスタンスの

リース有効期限切れ• 使用率の低い Amazon Redshift クラス

ター

• セキュリティグループ- 無制限アクセス※• IAM アクセスキーローテーション• セキュリティグループ - 開かれたポート• IAM パスワードポリシー• ELB リスナーのセキュリティ• ELB セキュリティグループ• IAM の使用※• Amazon S3バケット許可• ルートアカウントのMFA※• Amazon RDS セキュリティグループのア

クセスリスク• Amazon Route 53 MX リソースレコード

セットと Sender Policy Framework• AWS CloudTrail ロギング• IAM 証明書ストアの CloudFront 独自

SSL 証明書• オリジンサーバーの CloudFront SSL 証

明書• 公開されたアクセスキー

• Amazon EBS スナップショット• Amazon EC2 アベイラビリティゾーンの

バランス• Amazon RDS バックアップ• Load Balancerの最適化• VPNトンネルの冗長化• Amazon RDS Multi-AZ• Auto Scaling Group ヘルスチェック• Amazon S3 バケット ロギング• Amazon Route 53 ネームサーバ権限委

譲• Amazon Route 53 高 TTL リソースレ

コードセット• ELB クロスゾーン負荷分散• ELB Connection Draining• Amazon S3 バケットバージョニング• AWS Direct Connect 仮想インターフェ

イスの冗長性• Auto Scaling グループ リソース• Amazon Route 53 フェイルオーバーリ

ソースレコードセット• Amazon Route 53 削除されたヘルス

チェック• AWS Direct Connect 接続の冗長性• AWS Direct Connect ロケーションの冗

長性• Amazon Aurora DB インスタンスアクセ

シビリティ• EC2 Windows インスタンスの PV ドライ

バーバージョン• EC2 Windows インスタンス用の

EC2Config サービス

• Amazon Route 53 エイリアスリソースレコードセット

• 使用率の高いAmazon EC2インスタンス• サービス制限※• Amazon EBS プロビジョンド IOPS ボ

リューム アタッチ設定• EC2 セキュリティグループルールの増大• EC2 インスタンスセキュリティグループ

ルールの増大• 利用率が高すぎる Amazon EBS マグネ

ティックボリューム• コンテンツ配信の最適化 (CloudFront)• CloudFront ヘッダー転送とキャッシュ

ヒット率• Amazon EC2 から EBS スループット最

適化• CloudFront 代替ドメイン名

※赤字のものはすべてのお客様が利用可能。それ以外のチェック項目はビジネスサポート以上のご契約が必要。

Page 38: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Trusted Advisor - S3 Bucket Permission

Page 39: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

活用できるベースライン設定

AWS Trusted Advisor

AWS Config Managed

Rules

AWS Config Custom

Rules with remediation

CloudWatch Events with

Lambda rules

Lambda code with various triggers

カスタマイズAWSから提供

Page 40: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWSならではの

モニタリング

Page 41: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Billing Monitoring• 課金状況をCloudWatchで監視

• 一定金額を超えるとアラームメール通知が可能

Page 42: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Event Monitoring (メンテナンス イベント)

Page 43: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS のステータス - Service Health Dashboard

http://status.aws.amazon.com/

サービスのステータスを以下のアイコンで表現

• 提供機能• サービス(Region)単位でステータス表示• RSSを利用して更新をチェックすることも可

能• 過去の稼働情報も提供

• 注意点• 必ずしも更新はリアルタイムではない• 発生した障害の影響範囲によっては必ずしも

ステータスが更新されない

Page 44: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Personal Health Dashboardでメンテナンスを知る

• アカウント固有のリソースに対するメンテナンス情報や影響を受ける可能性のあるAWSの大規模障害の情報を提供

• CloudWatch Eventsと連携してイベントに対するアクションを自動実行することも可能

Page 45: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS Health API でプログラムからアクセスする

• Personal Health Dashboard に表示される通知を機械的に取得するAPI

~$ aws health describe-event-details --event-arns “arn:aws:health:us-east-2::event/AWS_EC2_OPERATIONAL_ISSUE_1493167712”<= イベント(≒通知)毎にARNが割り振られる

{"failedSet": [],"successfulSet": [ {

"event": {"lastUpdatedTime": 1493170667.273,"service": "EC2","eventTypeCode": "AWS_EC2_OPERATIONAL_ISSUE","startTime": 1493167712.0,"eventTypeCategory": "issue","endTime": 1493170596.0,"region": "us-east-2","arn": "arn:aws:health:us-east-2::event/AWS_EC2_OPERATIONAL_ISSUE_1493167712","statusCode": "closed"

},"eventDescription": {

“latestDescription”: “[RESOLVED] EBS Volume (省略)The issue has been resolved and the service is operating normally."}

} ]

Page 46: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS Health API の活用 - AWS Health Tools リポジトリ

• AWS Health (Personal Health Dashboard)を活用して通知対応などを自動化するためのコミュニティベースのツールレポジトリ

• 利用可能なサンプル (2017/5)• SMS Notifier

• SNS Topic Publisher

• Slack Notifier

• Instance Store Degraded Drive

• Disable AWS CodePipeline Stage Transition

https://github.com/aws/aws-health-tools

Page 47: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS Health Slack Notifier

• AWS Healthが生成するCloudWatch Eventsを利用してLambdaを実行し

• SlackのWebHookに情報をパブリッシュ

• メンテナンスイベントの取りこぼし防止に役立つ

AWS Health CloudWatchEvents

LambdaFunction

https://github.com/aws/aws-health-tools/tree/master/slack-notifier

Slack

Page 48: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

AWS Limit Monitor

https://aws.amazon.com/jp/answers/account-management/limit-monitor/

Trusted Advisor や各サービスが提供するAPIを使用してLimitの設定値と現在の消費状況を自動的に監視し、必要に応じて通知するソリューションをCloudFormationのテンプレートとして提供

Page 49: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

異常値・閾値の設定

• Metrics-Based• 静的/スタティック (閾値ベー

スライン)• 動的/ダイナミック (異常検知)

• Event-Based• イベント ドリブン

• Rule-Based• セキュリティ• コンプライアンス

Metrics-Based

Event-Based Rule-Based

Page 50: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

活用できるベースライン設定

AWS Trusted Advisor

AWS Config Managed

Rules

AWS Config Custom

Rules with remediation

CloudWatch Events with

Lambda rules

Lambda code with various triggers

カスタマイズAWSから提供

Page 51: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

Multi-Account Strategy

Page 52: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

運用

構成変更時の影響範囲を小さくし、他の組織を気にすることなく自身固有の環境を利用したい

複数のAWSアカウントを用いる理由は?

AWSアカウントを分割して運用するようになる主な理由:

組織

リソースの操作権限を特定の業務ユニット(LOB)に委譲し、その中でより自由にAWSプラットフォームを活用したい

ガバナンス 課金

課金に関する可視性、責任、及びアカウントごとのコントロールを行いたい例)LOBごとに課金を明確に分けたいなど

セキュリティ及びガバナンス上の理由から開発環境、テスト環境、本番環境でアカウントを分割したい例)PCI準拠のワークロードなど

Page 53: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

セキュリティオペレーション用アカウント

• 他のアカウントからの書き込みアクセスのみを許可する、集中管理型のアカウント

• 他のAWSアカウントからのSIEM(Security Information and Event Management)ロギング (例えばCloudTrail、AWS Configなど)

• 他のアカウント全体のログのセキュリティ分析や必要なリスク対応を担う

• ログ暗号化のためのKMSキー管理

• セキュリティ調査、監査業務のためのクロスアカウントアクセス

セキュリティ用IAMロール

CloudTrail& Config

セキュリティ用IAMロール

CloudTrail& Config

セキュリティ用アカウント

CloudTrailは全リージョンで有効化

Page 54: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

VPC Flow Logs を集約管理 - Multi-Account -

• 複数のAWS アカウントのVPC Flow Logsをセントラルアカウントに統合

• マルチ アカウントでのログ管理

https://aws.amazon.com/jp/blogs/security/how-to-facilitate-data-analysis-and-fulfill-security-requirements-by-using-centralized-flow-log-data/

aws logs put-subscription-filter ¥--log-group-name ”BlackBelt" ¥--filter-name “AllTraffic" ¥--filter-pattern "" ¥--destination-arn "arn:aws:kinesis:us-east-1:123456789012:stream/--role-arn "arn:aws:iam::123456789012:role/CWLtoKinesisRole

Page 55: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能

ベースライン デプロイメント - Multi-Account-

https://aws.amazon.com/jp/blogs/devops/aws-service-catalog-sync-code/

https://aws.amazon.com/jp/blogs/devops/aws-building-a-secure-cross-account-continuous-delivery-pipeline/

Page 56: Monitoring on AWS · 2017-10-11 · リソースの変更履歴、構成変更を管理 • 構成情報は定期的にスナップショットとして s3に保存 • 必要に応じsnsを使った通知も可能