Windows on EC2でトラブルが起きたらAWS Diagnosticsを使いましょう
はじめに
こんにちは植木和樹@上越妙高オフィスです。AWSより、EC2でWindowsを使っている方向けにトラブルシューティング用途としてAWS Diagnostics for Microsoft Windows Serverというツールが提供されています。
AWS Diagnostics for Microsoft Windows Server は、Amazon EC2 Windows Server インスタンス上で動作し、潜在的な問題の診断とトラブルシューティングを行うことができる使いやすいツールです。
とのことですが、いったいどのようなツールなのか試してみました。
動作条件とインストール
動作条件
AWS Diagnosticsでは診断時に、そのEC2に割り当てられているセキュリティグループ等を調査します。そのため下記2つの条件が必要です。
- EC2にPublicIPまたはElasticIPが割り当てられ、インターネットに接続できること
- AWS API実行に必要な権限を持っていること(ReadOnlyAccessポリシーを持っておくのが簡単です)
インストール
インストールは簡単です。まずは上記日本語ページから辿れるリンクより英語版ページへ移ります。
画面右上にある「Get AWS Diagnostics」のリンクをクリックをクリックするとAWSDiagnostics.zipというファイルがダウンロードできるので、これを適当なフォルダに展開します。インストールはこれだけです。
実行してみる
早速使ってみます。ZIPファイルを展開したフォルダにあるEC2WindowsDiagnostics.exeが実行ファイルです。これをダブルクリックで起動します。実行すると警告ウィンドウが出るかもしれませんが、そのまま実行してください。
初回実行時にはライセンスに同意するか確認がありますので「I Agree」をクリックします。
下記が AWS Diagnostics の画面です。実行しているWindowsサーバーに対して診断を行う場合は、特に設定を変更する必要はありません。画面右下にある「Begin」をクリックしてください。
するとAWSのクレデンシャルを聞いてきます。指定方法はEC2に紐付いているIAM Role, クレデンシャルファイル、環境変数の3種類があります。ただ私の環境(Windows Server 2008 R2)だとクレデンシャルファイルや、環境変数で指定すると実行時エラーがでて正しく動作しませんでした。まだベータ版なので不具合があるようですね。
EC2にIAM Roleが割り当てられていれば「OK」をクリックすると診断が始まります。
診断は30秒程度で完了します。完了するとEC2WindowsDiagnostics.exeと同じフォルダにDataCollectedというフォルダが作成され、さらにその下には診断実行毎にサブフォルダが作成されます。このフォルダにAWS Diagnosticsが収集した各種情報がファイルとして保存されます。
AWS Diagnosticsのウィンドウで「Open Report」ボタンをクリックすると診断結果の概要をみることができます。
取得できる情報
AWS Diagnosticsで収集できる情報は下記の通りです。これらのファイルは実行時にZIPファイルとして先のDataCollectedフォルダに作成されています。AWSサポートにケースで問い合わせをする際にはこのZIPファイルを添付しましょう。
- Application.evtx
- アプリケーション イベントログ
- DiskInfo.xml
- ディスク情報(総容量や使用量など)
- DriverDetails.xml
- デバイスドライバー情報
- EC2ConfigPaths.txt
- EC2Configのインストールパスなどの情報
- Ec2ConfigLog.txt
- EC2Configのログファイル
- Firewall.xml
- Windowsファイアウォールの情報
- IPInfo.xml
- ネットワークアダプタやネットワーク設定に関する情報
- InstallUpdates_0.txt
- EC2Configの設定情報
- InstallUpdates_1.txt
- EC2Configによるパッケージアップデート情報
- InstanceInfo.xml
- インスタンスタイプやインスタンスIDなどの情報
- KMSSettings.xml
- Windowsライセンスサーバー情報
- LocalTime.xml
- 診断を実行した日時
- LocaleMetaData
- Manifest.xml
- 取得した情報に関する一覧
- MemoryInfo.xml
- メモリー情報(搭載メモリーや使用中のメモリー量など)
- PageFileInfo.xml
- ページファイル情報
- RouteTable.xml
- ルーティングテーブル情報
- SecurityGroups.xml
- EC2に割り当てられたセキュリティグループの情報
- ServerInfo.xml
- ホスト名やWindowsドメインに関する情報
- Services.xml
- サービスに関する情報
- System.evtx
- システム イベントログ
- TimeZone.xml
- タイムゾーン設定
まとめ
本日はAWS Diagnosticsをご紹介しました。本ツールについてさらに詳しいことはFAQに程よくまとまっていますので参照してください。
AWS Diagnosticsツールは、EC2でWindowsを利用している方が障害原因を調査するためのツールです。同時にAWSサポートへサーバーの状況を効率的に伝えるためのツールでもあります。
EC2でWindowsを利用される場合には、まずAWS Diagnosticsをインストールされることをオススメします。