Advertisement

More Related Content

Slideshows for you(20)

Viewers also liked(20)

Advertisement

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

More from Amazon Web Services Japan(20)

Advertisement

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

  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. まとめ • クラウドの運用監視は今までの監視とそれほど 変わらない • AWSのサービスをうまく活用することで監視を シンプルにすることができる • コストを監視することで運用コストを削減でき るのもクラウド運用のポイント • セキュリティ・コンプライアンス監視も CloudTrailを利用することで対応可能 91
  92. Q&A AWS Summit Tokyo 2015 参加登録受付中! http://www.awssummit.tokyo/ 92
  93. ESP(Ecosystem Solution Pattern)カタログ 無料配布 2015年度版 AWS対応ソフトウェア/SaaSガイド 93
  94. 参照リンク • 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/ 94
  95. AWSをより深く理解したい方向けに クラスルームトレーニングを提供しています。 詳細: aws.amazon.com/training 認定資格試験 95
  96. 公式Twitter/Facebook AWSの最新情報をお届けします @awscloud_jp 検索 最新技術情報、イベント情報、お役立ち情報、 お得なキャンペーン情報などを日々更新しています! もしくは http://on.fb.me/1vR8yWm 96
  97. AWS初心者向けWebinar 2015 • AWSをこれからご使用になる方向け、ソリューションカットのオ ンラインセミナー • 今後の配信予定 – 5/19(火) AWS 料金の見積り方法 • 申し込みサイト http://aws.amazon.com/jp/about-aws/events/ 97
  98. 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/ 98
  99. 99
Advertisement