Your SlideShare is downloading. ×
AWS 初心者向けWebinar 基本から理解する、AWS運用監視
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

AWS 初心者向けWebinar 基本から理解する、AWS運用監視

269

Published on

2015/05/12 …

2015/05/12
AWS初心者向けWebinar

Published in: Technology
0 Comments
12 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
269
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
11
Comments
0
Likes
12
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 基本から理解する、AWS運用監視 初心者向けWebinarシリーズ アマゾン データ サービスジャパン株式会社 パートナー ソリューション アーキテクト 酒徳 知明 2015.05.12 1
  • 2. ご質問を受け付け致します! 質問を投稿することができます! • Adobe Connectのチャット機能を使って、質問を書き込んでく ださい。(書き込んだ質問は、主催者にしか見えません) • Webinarの最後に、可能な限り回答させていただきます。 • 終了時刻となった際は、割愛させていただく場合がございます。 ①画面右下のチャッ トボックスに質問を 書き込んでください ②吹き出しマークで 送信してください 2
  • 3. 初心者向けWebinarのご紹介 • AWSについてこれから学ぶ方向けのWebinarです。 • 過去のWebinar資料 – AWSクラウドサービス活用資料集ページにて公開 http://aws.amazon.com/jp/aws-jp-introduction/ • イベントの告知 – 国内のイベント・セミナースケジュールページにて告知 http://aws.amazon.com/jp/about-aws/events/ (オンラインセミナー枠) 3
  • 4. Introduction • 今回のAWS初心者向けWebinarでは、AWS上に 構築されたシステムの運用監視についてご紹介 します。 • 運用監視に必要となるAWSサービスを中心に基 本設定方法含めみていきます。 4
  • 5. AWSの運用監視 • 今までのシステム監視とそれほど変わらない – オンプレミス時の運用ノウハウを最大限活用 – 多くの監視ツールがAWSに対応 • クラウドならではの監視 – AWSサービスをうまく活用したシンプルな監視 – コスト監視 – コンプライアンス 5
  • 6. 基本となる運用監視 オンプレミスでもクラウドでも基本的には同じ 性能監視 キャパシティ 監視 状態監視 死活監視 6
  • 7. Amazon CloudWatch 7
  • 8. Amazon CloudWatchとは • AWSの各種リソースを監視するサービス – AWSリソースの状態・死活、性能、ログ監視 (監視) – 取得メトリックスのグラフ化 (可視化) – 各メトリックスをベースとしたアラーム(通知)、アクションの設定が可能 • 多くのAWSサービスの監視が可能 – Amazon EC2(クラウド内の仮想サーバ) – Amazon EBS(EC2用ブロックストレージ) – Amazon RDS(マネージド リレーショナルデータベース) – Elastic Load Balancing(マネージド ロードバランサー)など http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/supported_services.html 8
  • 9. ログインが成功すると以下のサービスの一覧画面が表示される 9
  • 10. CloudWatch利用イメージ 標準メトリックス監視 標準メトリックス一覧 対象インスタンス検索ウィンドウ グラフ表示期間設定 10
  • 11. Amazon CloudWatchのメトリックス(EC2) 標準メトリックス カスタムメトリックス CPUUtilization CPUCreditBalance CPUCreditUsage DiskReadBytes DiskWriteBytes DiskWriteOps NetworkOut NetworkIn StatusCheckFailed_Instance StatusCheckFailed StatusCheckFailed_System 標準メトリックスでは 取得できないメトリックス ・メモリの空き容量 ・ファイスシステム容量など 11 http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html
  • 12. Amazon CloudWatch カスタムメトリックス • 標準メトリックス以外の独自メトリックスも監視可能 – AWS CLIの”put-metric-data”を使いデータを登録 – サイズ制限として、HTTP GETは8KB、HTTP POSTは40KB、1つ のPutMetricDataリクエストに20データ $ 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 12 http://aws.amazon.com/jp/cli/
  • 13. Amazon EC2のモニタリングタイプ 基本モニタリング 詳細モニタリング 無料 データは 5分間隔で 自動的に取得 追加料金が必要 データは 1 分間隔で 取得 13
  • 14. Amazon CloudWatchのメトリックス値 • CloudWatchで取得される情報は統計情報 – メトリックスデータを指定した期間で集約したもの http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/cloudwatch_concepts.html 14 統計 説明 Minimum 指定された期間に認められた最小値です。この値を用いて、アプリケーションの低ボリュームのアクティビ ティを判断できます。 Maximum 指定された期間に認められた最大値です。この値を用いて、アプリケーションの高ボリュームのアクティビ ティを判断できます。 Sum 該当するメトリックスで加算されたすべての合計値です。この統計は、メトリックスの合計ボリュームを判断 するのに役立ちます。 Average 指定した期間の Sum/SampleCount の値です。この統計を Minimum および Maximum と比較することで、メト リックスの全容、および平均使用量がどれくらい Minimum と Maximum に近いかを判断できます。この比較は、 必要に応じていつリソースを増減させるべきかを知るのに役立ちます。 SampleCount 統計計算で使用するデータポイントのカウント(数)です。
  • 15. Amazon CloudWatchの料金 • 初期費用無しの従量課金 • 標準の監視は無料 – EC2インスタンスの標準監視(5分間隔) – Amazon EBS、ELB、Amazon RDSは1分間隔が無料 • アラームやカスタムメトリックスは一定数まで無料 – 10メトリックス、10 アラーム、および100万APIリクエスト – 1 か月あたり5GBのデータの取り込みおよび5GBのアーカイブされたストレージ • 課金対象及び料金(2015年5月現在 Tokyoリージョン) – Amazon EC2詳細モニタリング1インスタンスにつき$3.50/月 – カスタムメトリックス1つにつき$0.50/月 – アラーム1つにつき$0.10/月 – APIリクエスト1000回につき$0.01(Get, List, Putごとに) http://aws.amazon.com/jp/cloudwatch/pricing/ 15
  • 16. Amazon CloudWatchを使った性能監視 • AWSサービスの性能監視 – Amazon EC2の性能監視 • CPUUtilization/CPUCreditBalance/CPUCreditUsage(バースト性能監視) • DiskReadBytes/DiskWriteBytes/DiskWriteOps • NetworkOut/NetworkIn – Amazon EBSの性能監視 • VolumeReadBytes/VolumeWriteBytes • VolumeReadOps/VolumeWriteOps • VolumeTotalReadTime/VolumeTotalWriteTime • VolumeIdleTime • VolumeQueueLength • VolumeThroughputPercentage • VolumeConsumedReadWriteOps https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/ebs-metricscollected.html 16
  • 17. 補足:Amazon EC2 T2インスタンス Type vCPUs ベースライン 性能 RAM(GiB) 初期Credit 1時間当りの Credit 最大Credit T2.micro 1 10% 1.0 30 6 144 T2.small 1 20% 2.0 30 12 288 T2.medium 2 40% 4.0 60 24 576 • ベースライン性能 – インスタンスに割り当てられたベースとなる物理CPUのシングルコアの性能の割合を示しています。 • CPUクレジット – インスタンスがCPUのベースラインの割当を使用していない場合蓄積し、インスタンスがアクティブなときに消 費されます。 CPUクレジット使い切ると、性能は徐々にベースラインレベルに戻ります。 • vCPUの利用時間に応じてクレジットを消費。1vCPU/1minで1クレジットが 消費される。 • ベースライン性能以下の使用率だった場合は、クレジットが蓄積。最大で24 時間分のクレジットを蓄積。 17
  • 18. 補足:Amazon EC2 T2インスタンス T2.medium CPUクレジット (576) T2.small CPUクレジット (288) T2.micro CPUクレジット (144) CPU使用率 18
  • 19. 補足:Amazon EBS(3つのボリュームタイプ) Volume Type General Purpose(SSD) Provisioned IOPS(SSD) Magnetic ユースケース • 起動ボリューム • 仮想デスクトップ環境用のディス ク • 開発およびテスト環境用のディス ク • 中小規模のデータベース • 3000IOPSよりも高いI/Oパフォーマ ンスを要求するミッションクリ ティカルなアプリケーション • 大規模なデータベース 各種NoSQL 各種RDB • アクセス頻度の低いデータ • コストを最重要視する場合 ボリュームサイズ • 1GBから16TBまで 4GiBから16TBまで 1GiBから1TiBまで IOPS • 1GBあたり3IOPSのベースパフォー マンス。最大値は10,000IOPS • 1,000GB以下のボリュームでは、 3,000IOPSまでバーストが可能 • 1,000GB以上のボリュームではバー ストの概念はなく、常にベースパ フォーマンスを発揮する • プロビジョニングしたIOPS値のパ フォーマンスを発揮する • 最大IOPSは20,000IOPS • 容量とIOPS値の比率に制限があり、 容量の30倍のIOPS値が上限 平均100IOPS。数百IOPSまでバー スト可能。 スループット • 160MB/s • 320MB/s • 40~90MB/s 料金 (東京リージョン) • 1GBあたり1ヶ月0.12ドル • 1GBあたり1ヶ月0.142ドル • プロビジョニングしたIOPS値に応 じて1IOPSあたり1ヶ月0.114ドル • 1GBあたり1ヶ月0.08ドル • 100万I/Oリクエストあたり 0.08ドル http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EBSVolumeTypes.html 19
  • 20. 補足:General Purpose(SSD)ボリューム ボリュームあたりのスループットは160MB/s ベースパフォーマンス 1,000GB以下のボリュームでは最大3,000IOPS までバースト性能を発揮する 容量が3,334GBを超えると、 常時10,000IOPSを発揮する 20
  • 21. AWSでの状態・死活監視 • AWS Service Health Dashboard – AWSサービス全体の利用可能確認 – 各リージョン毎、サービス毎にサービス提供状態 – RSSフィードを使ったモニタリング http://status.aws.amazon.com/ 21
  • 22. Amazon CloudWatchを使った状態・死活監視 • Amazon EC2 Auto Recovery – 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 22
  • 23. Amazon CloudWatchを使った状態・死活監視 • EC2の状態・死活監視 – CloudWatch標準メトリックスを利用可能 • StatusCheckFailed_System – ネットワーク接続の喪失 – システム電源の喪失 – 物理ホストのハードウェアの問題 • StatusCheckFailed_Instance – 失敗したシステムステータスチェック – 誤って設定されたネットワークまたは起動設定 – メモリの枯渇 – 破損したファイルシステム – 互換性のないカーネル • StatusCheckFailed – StatusCheckFailed_Instance と StatusCheckFailed_System の組み合わ せで評価を行い、どちらかのステータスチェックが失敗したら報告 23
  • 24. Amazon CloudWatchを使ったキャパシティ監視 • 各AWSサービスのキャパシティ監視 – Amazon EC2のキャパシティ容量監視 • 標準メトリックスとしては準備が無いため、カスタムスクリプトを利用すると簡単に データを取得可能 • カスタムスクリプトで取得できるメトリックス(Linux) – メモリ情報:MemoryUtilization/MemoryUsed/MemoryAvailable – スワップ情報:SwapUtilization/SwapUsed – ディスク情報:DiskSpaceUtilization/DiskSpaceUsed/DiskSpaceAvailable • Windowsの場合、EC2Configを使い取得 – CloudWatchで対応しているマネージドサービスも多々あり • Elastic Load Balancing(ELB) • Amazon RDS https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/mon-scripts-perl.html 24
  • 25. Amazon CloudWatchを使ったマネージドサービスの 監視 • AWSマネージドサービスの監視 Amazon RDS ELB • Latency • BackendConnectionErrors • HealthyHostCount • UnHealthyHostCount • RequestCount • HTTPCode_ELB_5XX • HTTPCode_Backend_4XX • CPUUtilization • FreeableMemory • SwapUsage • FreeStorageSpace • DiskQueueDepth • ReadIOPS • ReadThroughput • ReadLatency • NetworkReceiveThroughput • NetworkTransmitThroughput • WriteIOPS • WriteThroughput • WriteLatency • DatabaseConnections • BinLogDiskUsage http://docs.aws.amazon.com/ja_jp/ElasticLoadBalancing/latest/DeveloperGuide/US_MonitoringLoadBalancerWithCW.html http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/rds-metricscollected.html 25
  • 26. • ELB自体は負荷増減に応じて自動でスケールする (キャパシティが自動で増加する) – ELBへの接続・リクエストが瞬間的に急増し、ELBのスケーリン グが間に合わない場合はHTTP 503を返す – ELBがスケールするときには、ELBのIPアドレスが変化 • ELBへアクセスするときには必ずDNS名で登録 • 独自ドメインに割り当てる際はCNAMEにて ELBは負荷に応じて自動スケール 26
  • 27. Amazon CloudWatchを使ったELB監視 監視 • 各種メトリックスを60秒間隔で監視 • 正常なバックエンドのホスト数 (HealthyHostCount) • 異常なバックエンドのホスト数 (UnHealthyHostCount) • リクエスト数 (RequestCount) • 遅延時間 (Lantency) • ELBが返した4xx,5xxのレスポンス数 (HTTPCode_ELB_4xx) • バックエンドが返した2xx,3xx,4xx,5xxレスポンス数 (HTTPCode_Backend_2xxx) • バックエンドへの接続エラー回数 (BackendConnectionError) • バックエンドへの送信保留中の件数 (SurgeQueueLength) • キュー溢れのため拒否した件数 (SpilloverCount) など 27 http://docs.aws.amazon.com/ja_jp/ElasticLoadBalancing/latest/DeveloperGuide/US_MonitoringLoadBalancerWithCW.html
  • 28. Amazon CloudWatchを使ったRDS監視 • 各種メトリクスを60秒間隔で取得・確認可能 – データベース インスタンスレイヤーの監視 – DBエンジン・データベースレイヤーの監視は別途実装が必要 http://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/DeveloperGuide/rds-metricscollected.html • CPUUtilization • FreeableMemory • SwapUsage • FreeStorageSpace • DiskQueueDepth • ReadIOPS • ReadThroughput • ReadLatency • NetworkReceiveThroughput • NetworkTransmitThroughput • WriteIOPS • WriteThroughput • WriteLatency • DatabaseConnections • BinLogDiskUsage 28
  • 29. Amazon CloudWatchアラームの状態 OK 不足 (INSUFFICIENT) アラーム (Alarm) 定義された閾値を 下回っている (正常値) 定義された閾値を 上回っている (異常値) データが不足のため、 状態を判定できない (判定不能) CloudWatch特有のステータス 29
  • 30. • CloudWatchはデータポイントを基準にステータスを判断 – データポイントとはCloudWatchに送信される値(CPU値など) – OK / アラーム時は入力されたデータポイントを基準に状態評価 – INSUFFIENT時はCloudWatchにテータポイントの入力が無い状態 → “INSUFFICIENT”は必ずしも障害を表すステータスではない INSUFFICIENT_DATAの考え方 EC2 CloudWatch データポイント EC2 CloudWatch データポイント 自体が存在しない OK / ALARM INSUFFICIENT 30
  • 31. CloudWatch利用イメージ 標準メトリックス監視 31
  • 32. Amazon CloudWatchのアクション機能 AutoScaling EC2 Action モニタリング CPUUtilization DiskReadBytes / DiskReadOps DiskWriteBytes / DiskWriteOps NetworkIn / NetworkOut StatusCheckFailed_Instance StatusCheckFailed_System EC2 CloudWatch Custom Metric Memory Free / Filesystem Free アクション Notification 32
  • 33. Amazon CloudWatchのアクション機能 • 各アラーム状態に対してアクションを定義可能 – 通知(Notification) • Amazon Simple Notification Service(SNS)を使って通知 • メール送信やHTTP(S)送信、Amazon Simple Queue Service (SQS)への送信が可能 – EC2アクション • EC2インスタンスの復旧、停止および終了が実行可能 – Auto Scalingアクション • Auto Scaling GroupのScaling Policyを指定し、インスタンスの スケールアウト/インが可能 33
  • 34. Amazon CloudWatchアクション機能の設定 34
  • 35. Amazon CloudWatchアラームの設定 • CPU使用率を監視対象 • CPU使用率80%以上が3期間(ここでは1期間=5分)以上 35
  • 36. Amazon Simple Notification Service • 柔軟で高速なフルマネージドメッセージングサービス • マルチプロトコルで簡単にメッセージを通知 • 安価な従量課金制 Amazon SNS HTTP(S) EMAIL SQS Mobile Push 36
  • 37. Auto Scaling • トリガーを受けてEC2の数を自動的に増減させる仕組み Amazon EC2 Amazon EC2 Amazon EC2 AutoScaling Group CloudWatch ①性能監視 Alarm ②閾値の監視 ③ASアクションを起動 ④新規にサーバがデプロイ 37
  • 38. Amazon CloudWatchによるリソース管理 • AutoScaling連携したリソース監視 • メトリックス = 監視項目(例:CPU使用率) • CPU使用率が80%が5分間続いたらサーバを2台増やす • CPU使用率が30%が15分間続いたらサーバを1台減らす Amazon EC2 Amazon EC2 Amazon EC2 Amazon EC2 Amazon EC2 Amazon EC2 AutoScaling Group AutoScaling Group 38
  • 39. Auto Scalingの利用ケース • 負荷分散ELB配下のWebサーバ • SQSからジョブを取ってバッチ実行するワーカー WebサーバのAuto Scaling Group CPU使用率やELBのRequest数などを トリガーにする ワーカ(バッチ)のAuto Scaling Group SQSのキューに溜まっているメッセージ数などを トリガーにする AutoScaling Group AutoScaling Group 39
  • 40. Amazon CloudWatchによるコストの監視 • Billingアラーム設定 • 課金状況をCloudWatch監視 • 一定金額を超えるとアラームメール通知が可能 40
  • 41. 監視ツール連携の必要性 • 監視対象の制限 – ハイブリッド環境の監視 – マルチクラウド環境の監視 – プロセス監視 • データ保存期間(2週間の保存) • データ保管粒度は最短で1分間隔 • アラートの制限 – 複合アラートの設定 – メンテナンス ウィンドウの設定 – 重要度の設定 • アクション機能 • 通知フォーマット 41
  • 42. 監視システムとのAmazon CloudWatch連携 監視システムでのCloudWatch活用イメージ サードパーティ監視ツールの確認 ポイント • AWSに対応しているか • CloudWatchとの連携機能の有無 • CloudWatchカスタムメトリックスに対 応しているか • Auto Scaling対応しているか • EC2インスタンス自動検出・自動削除が 可能か http://aws.amazon.com/jp/solutions/case-studies/shiseido/ 42
  • 43. ・ ・ ・ Push方式 Amazon CloudWatchと連携した統合監視 • 監視対象インスタンスの自動登録 Search方式 監視サーバ Amazon Machine Image(AMI) ・ ・ ・ 監視サーバ Amazon Machine Image(AMI) 43
  • 44. Amazon CloudWatchを使ったログ監視 • CloudWatch Logsを使ったログ監視 • OS、アプリケーション等のテキストログをモニタリング • エージェント経由でログメッセージをCloudWatchエンドポ イントに転送 • ログデータの保存期間は設定可能(※永久保存も選択可能) 44
  • 45. CloudWatch Logs利用イメージ Amazon Linux Ubuntu Server Windows Red Hat Enterprise Linux CloudWatch Logs api call to endpoint アラーム SNS 45
  • 46. CloudWatch Logで使う用語 • Log Group – 同じプロパティー、ポリシーやアクセスコントロールを共有するロググループです。(Apache Log Group、/var/log/messages) • Log Stream – データ送信元(特定のアプリケーションが動作するインスタンスやリソース)からのイベントシーケンスが集約される グループです。(ホスト名、Instance-id、任意の名前) • Log Event – モニターされるアプリケーションやリソースが記録したアクティビティ、イベントです。 – タイムスタンプとUTF-8でフォーマットされたメッセージで構成されます。 • Log Agent – ログエントリーを送信したいインスタンスにインストールし、Log Eventを送信するエージェントです。 • Metric Filters – イベントを監視し、Simple Notification Service(SNS)と連携するために使うメトリックスです。 • Retention Policies – イベントの保持期間に関する定義をします(1day – Never Expired) – Log Groupに関連づけられ、グループ内の全てのLog Streamに適用されます。 46
  • 47. CloudWatch Logsのディレクトリ階層 Web Server web001.ap-northeast-1 Log Group Log Stream Log Event web002.ap-northeast-1 web003.ap-northeast-1 47
  • 48. ログの保存期間 • CloudWatch Logsはログを永久保存可能 48
  • 49. CloudWatch Logs 料金体系 5GB 5GB $0.50 / GB $0.03 GB / 月 無料枠 (1カ月あたり) 従量課金 http://aws.amazon.com/jp/cloudwatch/pricing/ 10 メトリックス、10 アラーム、および 100 万の API リクエストの無料利用枠を準備 インジェクション アーカイブ 49
  • 50. CloudWatch Logsの利用 EC2Configを利用 Linux用Agentの インストール 50
  • 51. EC2Config Service • Amazon Windows AMI にプリインストール されているWindows用サービス • Amazon EC2 でインスタンスを起動時時に一 般的な自動設定タスク、スクリプトを実行 • カスタムAMI作成時のSysprepでも利用 • CloudWatch Logsへのログ転送もEC2Config サービスが実施する 51
  • 52. Cloudwatch Logs Agentの設定 • Agentをインストールする際の設定項目 Item Description AWS Access Key ID AWSアクセスキーIDの入力。IAMロール利用の場合はスキップ。 AWS Secret Access Key AWSシークレットアクセスキーの入力。IAMロール利用の場合はスキップ。 Default region name リージョンの選択。現在はus-east-1, us-west-2, or eu-west-1のいづれかを選択。 デフォルト(スキップ)の場合はus-east-1が選択されます。 Default output format スキップ(ブランクのままでOK)。 Path of log file to upload 転送したいログファイルパスの入力。 Destination Log Group name ログ グループの入力。 Destination Log Stream name ログ ストリームの入力。デフォルトの場合はホスト名が選択されます。 Timestamp format タイムスタンプ フォーマットの入力。 Initial position ログデータのアップロード方式の選択。”start_of_file”、もしくは ”end_of_file” 52
  • 53. CloudWatch Logsの設定(Windows)(2/3) 2. EC2Configの起動 チェックを入れるだけで利用可能 1. ロールの設定 アクションの指定 特定リソースへのアクセスを許可 CloudWatchLogs-role http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/QuickStartEC2Instance.html 53
  • 54. CloudWatch Logsの設定(Windows) • CWL Agent JSON設定ファイルを編集することで、監視す るメトリックスを設定  “C:Program FilesAmazonEc2ConfigServiceSettings” に配置されて いる “AWS.EC2.Windows.CloudWatch.json“ ファイルを編集  収集するログを設定 • Windowsイベントログ • Event Tracing for Windows • テキストベース ログ • IISログ • パフォーマンスカウンタ 54
  • 55. AWS.EC2.Windows.CloudWatch.json • JSONで設定する項目  PollInterval: Agentがクエリする頻度の定義  Components: 監視対象の定義 • Id: Component を識別するためのユニークID。任意の文字列を設定 • FullName: Component のタイプ(DLLのClass name)。既定の文字 列を指定 • Parameters: Component ごとに定義するパラメータ。Component ごとに異なる  Flows: Components の関係性の定義 55
  • 56. AWS.EC2.Windows.CloudWatch.json • PollInterval: Agentがクエリする頻度の定義  デフォルト値15秒以上を推奨  AWS.EC2.Windows.CloudWatch.jsonの内容 { "EngineConfiguration": { "PollInterval": "00:00:15", "Components": [ { "Id": "ApplicationEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windo ws.CloudWatch", "Parameters": { "LogName": "Application", "Levels": "1" 56
  • 57. AWS.EC2.Windows.CloudWatch.json • Components: 監視対象ログファイルの定義  AWS.EC2.Windows.CloudWatch.jsonの内容 { “Components”: [ { "Id": "SystemEventLog", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "System", "Levels": "7" } }, { "Id": "ETW", "FullName": "AWS.EC2.Windows.CloudWatch.EventLog.EventLogInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "LogName": "Microsoft-Windows-WinINet/Analytic", "Levels": "7 57
  • 58. AWS.EC2.Windows.CloudWatch.json • Flows: Components の関係性の定義  AWS.EC2.Windows.CloudWatch.jsonの内容 { "Flows": { "Flows": [ "(ApplicationEventLog,SystemEventLog),CloudWatchLogs", "CustomLogs,CloudWatchLogsSQL" ] }" 58
  • 59. AWS.EC2.Windows.CloudWatch.json • パフォーマンスカウンター情報もJSONに設定可能 • CloudWatchにカスタムメトリックスとして登録 { "Id": "PerformanceCounter1", "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputCompone nt,AWS.EC2.Windows.CloudWatch", "Parameters": { "CategoryName": "Memory", "CounterName": "Available MBytes", "InstanceName": "", "MetricName": "Memory", "Unit": "Megabytes", "DimensionName": "", "DimensionValue": "" } } 59
  • 60. カスタムメトリックスの確認 カスタムメトリックス 60
  • 61. [ec2-user@ip-10-0-10-104 ~]$ wget https://s3.amazonaws.com/aws-cloudwatch/downloads/awslogs-agent- setup-v1.0.py [ec2-user@ip-10-0-10-104 ~]$ sudo python ./awslogs-agent-setup-v1.0.py --region us-east-1 Launching interactive setup of CloudWatch Logs agent ... Step 1 of 5: Installing pip ...DONE Step 2 of 5: Downloading the latest CloudWatch Logs agent bits ... DONE Step 3 of 5: Configuring AWS CLI ... AWS Access Key ID [****************WLGA]: AWS Secret Access Key [****************qVIu]: Default region name [None]: Default output format [None]: Step 4 of 5: Configuring the CloudWatch Logs Agent ... Path of log file to upload [/var/log/messages]: Destination Log Group name [Linux Syslog Group]: CloudWatch Logsの設定(Linux)(1/3) • Linuxの設定は、Pythonスクリプトで設定 ①Pythonスクリプトのダウンロード・実行 ②Access Key/Secret Access Keyの入力 ※IAMロールの利用も可能 ③Regionの入力 ④ファイルフォーマットの選択 ⑤モニタリングするログファイルパスの入力 ⑥Log Groupの入力 61
  • 62. CloudWatch Logsの設定(Linux)(2/3) Choose Log Stream name: 1. Use EC2 instance id. 2. Use hostname. 3. Custom. Enter choice [1]: Choose Log Event timestamp format: 1. %b %d %H:%M:%S (Dec 31 23:59:59) 2. %d/%b/%Y:%H:%M:%S (10/Oct/2000:13:55:36) 3. %Y-%m-%d %H:%M:%S (2008-09-08 11:52:54) 4. Custom Enter choice [1]: 3 Choose initial position of upload: 1. From start of file. 2. From end of file. Enter choice [1]: 1 More log files to configure? [Y]: n Step 5 of 5: Setting up agent as a daemon ...DONE ⑦表示されるインスタンスの選択 ・インスタンスIDの利用 ・ホスト名の利用 ・カスタム入力 ⑧タイムスタンプの表示形式設定 ⑨ログの転送位置の設定 ・ログファイルの初めから転送 ・次回発生するログから転送 62
  • 63. ログモニタリングイメージ • ログ内容はタイムスタンプとログメッセージ(UTF-8)で構成 63
  • 64. CloudWatch logs Metric Filter(1/3) • ログイベントから特定の文字列のフィルタリングが可能 64
  • 65. CloudWatch Logs Metric Filter(2/3) • 特定文字列の出現回数によりアラーム作成が可能 → “error”という文字列が3回以上出現するとアラーム上げる “error”という文字列を監視 “error”という文字列の出現 回数 65
  • 66. CloudWatch Logs Metric Filter(3/3) • Metric Filterからアラーム作成、SNS連携が可能 Metric FilterをトリガーにしたCloudWatch アラームの作成が可能 66
  • 67. Amazon CloudWatchのまとめ • 基本的な性能、状態・死活、キャパシティの監 視をすることが可能 • コストの監視にもCloudWatchを利用 • 必要に応じて統合監視サーバとの連携もAPI経 由で実装できます • CloudWatch Logsを活用することでログの監視 だけでなく、文字列フィルタリング、アラート 通知まで設定可能 67
  • 68. AWSならではの監視 AWS CloudTrail 68
  • 69. AWS CloudTrailの概要 • 概要 • AWSアカウントの操作をロギングするサービス • 管理コンソール、コマンドライン、3rd party等APIコールされるイベント が対象 • S3にロギングデータを保存 • ユースケース • コンプライアンス準拠 • セキュリティ面の分析 • AWS Identity and Access Management (IAM)を使ったユーザログイン情報の 管理 • リソースのライフサイクル管理 • 運用上のトラブルシューティング 69
  • 70. CloudTrailの特徴 • もちろん東京リージョンでも利用可能 • サポートリージョン・サービス数拡大 • CloudTrail 自体は無料です ※Amazon S3 / SNSの使用料金が必要 Amazon S3 Amazon SNS API call の発生状況 API call の発生状況 SNS設定の有無 70
  • 71. CloudTrail対応サービスの確認 2015年4月現在CloudTrailは下記のサービスをサポートしています。十分なサービスがサポートされてい るか確認をしてください。S3等サポートされていない機能に関してはアクセスログの有効化など必要な 代替コントロールを利用する必要があります。 対応サービス: • Amazon EC2 • Amazon VPC • Auto Scaling • ELB • Amazon EBS • AWS Storage Gateway • Amazon Glacier • Amazon CloudFront • Amazon RDS • Amazon Redshift • Amazon Elasticache • AWS DirectConnect • Amazon Kinesis • EMR • AWS Data Pipeline • AWS IAM • AWS STS • AWS Key Management Service • AWS CloudHSM • AWS CloudTrail • AWS CloudFormation • AWS OpsWorks • AWS CodeDeploy • AWS Elastic Beanstalk • Amazon CloudWatch • Amazon SQS • Amazon SNS • Amazon Simple Workflow • Amazon Cloudsearch • Amazon Elastic Transcoder • Amazon WorkDocs • AWS Config • Amazon EC2 Container Service • AWS Lambda 71
  • 72. AWS Identity and Access Management (IAM) • AWS操作をよりセキュアに行うための認証・認可の 仕組み • AWSリソースにはIAMを使ったアクセスが推奨 • AWS利用者の認証と、アクセスポリシーを管理  AWS操作のためのグループ・ユーザー・ロールの作成が可能  グループ、ユーザーごとに、実行出来る操作を規定できる  ユーザーごとに認証情報の設定が可能 開発チーム 運用チーム 72
  • 73. IAMの動作イメージ APIやマネジメントコンソールからの アクセスに対して、権限をチェック 全操作可能 S3はすべて 操作可能 S3参照だけ 73
  • 74. AWS CloudTrailの設定方法 74
  • 75. CloudTrailを有効にすることを推奨 AWSサポートにお問い合わせ頂く際も、早期問題解決に役立ちます 75
  • 76. AWS CloudTrailの設定 S3バケット名の入力 グローバルサービス(IAM、STSなど)のログ取得設定 SNS通知の設定 ロググループの設定 IAMロールの設定 76
  • 77. ログファイルの保存先 • CloudTrail ログは命名規則の元ある特定のパスで保存される • gz形式で圧縮され保存 • APIの呼び出しから15分以内にイベント送信を実施 77
  • 78. AWS CloudTrailによりロギングされるイベント API call Event Non-API call Event • サポート サービスから発行されるAPI  StartInstances  CreateKeyPair • ユーザのサインイン アクティビテイ  AWS マネジメント コンソール  AWS ディスカッション フォー ラム 78
  • 79. JSON形式での出力 79
  • 80. 誰がAPIコールを発行したのか① IAMユーザ “Bob”のユーザ情報 "userIdentity“: { "accessKeyId":"AKEXAMPLE123EJVA", "accountId":“123456789012", "arn":"arn:aws:iam::123456789012:user/Bob", "principalId":"AIEXAMPLE987ZKLALD3HS", "type":"IAMUser", "userName":“Bob" } 80
  • 81. いつAPIコールが発行されたのか ISO8601フォーマットでの記載 "eventTime":"2014-11-29T05:58:13Z“ 81
  • 82. どのAPIコールが発行されたのか APIコールの名前とターゲット情報を記載 "eventSource":"signin.amazonaws.com" "eventName":"ConsoleLogin" 82
  • 83. どのAWSリソースから発行されたのか リクエスターのIPアドレス、APIが発行されたリージョン の情報を記載 "awsRegion":"us-east-1", "sourceIPAddress":"ec2.amazonaws.com" 83
  • 84. CloudTrailを使ったロギング • AWS CLIを使ったAPIイベントの取得 aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances --region us-east-1 84
  • 85. CloudTrail API lookup – マネジメントコンソール 85
  • 86. CloudTrailにて監視すべきイベント例 Event 想定ケース AttachInternetGateway AssociateRouteTable CreateRoute DeleteCustomerGateway DeleteInternetGateway DeleteRoute DeleteRouteTable DeleteDhcpOptions DisassociateRouteTable • 意図せぬネットワーク構成の変更 • 未承認のインターネットゲートウェイの作成 • ルーティングの変更による未承認の経路の作成 CreateNetworkAcl CreateNetworkAclEntry DeleteNetworkAcl DeleteNetworkAclEntry ReplaceNetworkAclEntry ReplaceNetworkAclAssociation • 意図せぬNetworkACLの変更 • 許されないポートの解放 RunInstances CreateInstances LaunchInstances TerminateInstances • 未承認のEC2の作成 • 意図せぬEC2のTerminate CloudTrailではサポートしているAWSサービスの操作のために使われた全てのAPIログを取得しますが、ど のようなログを監視するかについては監視要件に依存します。下記は代表的な重要イベントの例です。 86
  • 87. CloudTrailにて監視すべきイベント例 Event 想定ケース AuthorizeSecurityGroupIngress AuthorizeSecurityGroupEgress RevokeSecurityGroupIngress RevokeSecurityGroupEgress CreateSecurityGroup DeleteSecurityGroup • 意図せぬSecurity Groupの変更 • 許されないポートの解放 StopLogging DeleteTrail UpdateTrail • CloudTrailの停止 • CloudTrailの削除 • CloudTrailの設定変更 DeleteGroupPolicy DeleteRole DeleteRolePolicy DeleteUserPolicy PutGroupPolicy PutRolePolicy PutUserPolicy • 許可されていないIAMポリシーの削除 • 許可されていないIAMポリシーの付与 Unauthorized* errorCode AccessDenied Failed authentication • 許可されない操作の試行 • エラー "type":"Root" • AWSルートアカウントでのログイン 87
  • 88. CloudTrailのCloudWatch Logsとの連携 • CloudTrailのログをCloudWatch Logsに転送できるよう になりました CloudWatch LogsのLog Groupを入力 CloudTrail CloudWatch Logs ログ連携 88
  • 89. CloudTrail JSONを統合管理 89
  • 90. CloudTrailのCloudWatch Logsとの連携 CloudTrail CloudWatch Logs ログ連携 アラーム SNS http://aws.typepad.com/aws_japan/2015/03/cloudtrail-integration-with-cloudwatch-in-four-more-regions.html 90 CloudTrailによるAPIコールのログ (操作ログ)の集約 どのようなログを監視するか、閾 値をどうするか等の設定が可能 ・ネットワーク ・SG、NACL ・インターネットゲートウェイ ・サイズの大きいEC2インスタン スの作成、削除、および更新 ・CloudTrail自体の変更 ・IAMポリシー ・認証の失敗 ・管理コンソールへのログイン
  • 91. CloudTrailパートナーソリューション 91
  • 92. Global Field Enablement - Copyright © 2014 Splunk, Inc. セキュリティ&コンプラアンス AWS課金&利用状況 AWS CloudTrailとの連携 AWS使用量の可視化 AWSアカウントのクリティカルなセキュリ ティ関連アクティビティへの洞察 リソースアロケーション最適化 そのためのダッシュボート&レポート インスタンス利用状況への洞察 Splunk Apps for AWS http://aws.typepad.com/aws_partner_sa/2015/04/esp-for-aws-splunk-enterprise.html
  • 93. Copyright(C) 2014 Infoscience Corporation. All Rights Reserved. Logstorage for AWS 全体像 Logstorage for AWS Collector LogDB AWS CloudTrail - Logstorage for AWSに含まれるもの AWSのログ収集/検索/分析に必要な全てのモジュールを備えるオプションパッケージ AWS CloudWatch Logs AWSサービス 操作履歴 Amazon S3 ECインスタンス 操作履歴 S3 アクセスログ ELB通信ログ Amazon EC2 レポートテンプレート ログフォーマット定義 Log Agent お客様オフィス AWS Config リソース変更ログ 4 http://aws.typepad.com/aws_partner_sa/2015/04/esp-for-aws-infoscience-logstorage-for-aws-config.html
  • 94. まとめ • クラウドの運用監視は今までの監視とそれほど 変わらない • AWSのサービスをうまく活用することで監視を シンプルにすることができる • コストを監視することで運用コストを削減でき るのもクラウド運用のポイント • セキュリティ・コンプライアンス監視も CloudTrailを利用することで対応可能 94
  • 95. Q&A 今後のWebinarコンテンツのご参考とさせて頂きたいと思いますので、 アンケートにご協力お願い致します。 http://svy.mk/1Ht0QeO AWS Summit Tokyo 2015 参加登録受付中! http://www.awssummit.tokyo/ 95
  • 96. ESP(Ecosystem Solution Pattern)カタログ 無料配布 2015年度版 AWS対応ソフトウェア/SaaSガイド 96
  • 97. 参照リンク • AWSアカウント作成の流れ – http://aws.amazon.com/jp/register-flow/ • AWS コンプライアンス – http://aws.amazon.com/jp/compliance/ • AWSセキュリティ – http://aws.amazon.com/jp/security/ • AWSクラウド活用資料集 – http://aws.amazon.com/jp/aws-jp-introduction/ • 国内のお客様のAWS活用事例 – http://aws.amazon.com/jp/solutions/case-studies-jp/ 97
  • 98. AWSをより深く理解したい方向けに クラスルームトレーニングを提供しています。 詳細: aws.amazon.com/training 認定資格試験 98
  • 99. 公式Twitter/Facebook AWSの最新情報をお届けします @awscloud_jp 検索 最新技術情報、イベント情報、お役立ち情報、 お得なキャンペーン情報などを日々更新しています! もしくは http://on.fb.me/1vR8yWm 99
  • 100. AWS初心者向けWebinar 2015 • AWSをこれからご使用になる方向け、ソリューションカットのオ ンラインセミナー • 今後の配信予定 – 5/19(火) AWS 料金の見積り方法 • 申し込みサイト http://aws.amazon.com/jp/about-aws/events/ 100
  • 101. AWS Black Belt Tech Webinar 2015 • AWS中上級者向け、サービスカット • 今後の配信予定 – 5/13(水) Elastic Load Balancing (ELB) – 5/20(水) Amazon Elastic Compute Cloud Windowsインスタンス – 5/27(水) Amazon Relational Database Service(Amazon RDS) • 申し込みサイト http://aws.amazon.com/jp/about-aws/events/ 101
  • 102. 102

×