こんにちは、インフラチームのまっつんです。
普段はLinuxベースの業務が多いインフラチームですが、AWS Workspacesを使う業務で久しぶりにWindowsを触る機会がありました。
複数のAWS Workspacesのインスタンスを立てたときに、各インスタンスのWindowsが生成したログ(イベントビューア)を1台に集約する必要がありました。
今回はWindowsの標準機能の「サブスクリプション」を使って集約させたいと思います。
目次
- ログを飛ばす側(クライアント)の設定
- ログを溜める側(サーバ)の設定
- あとがき
ログを飛ばす側(クライアント)の設定
今回は複数のクライアントが必要なため、Active Directory(AD)上でグループポリシーを使って設定することになります。
バージョンによって設定値の名前等が違う可能性がありますが、ご容赦ください。
ログを飛ばす側の設定はざっくりと下記の4つの設定が必要です。
- ログを読み込むためのユーザの設定変更
- WinRM(Windows Remote Management)サービスの定義
- WinRM(Windows Remote Management)の有効化
- WindowsのFirewall
ログを読み込むためのユーザの設定変更
・グループポリシー設定箇所
「コンピューターの構成 (有効)」-「ポリシー」-「Windows の設定」-「セキュリティの設定」-「制限されたグループ」
・設定値
グループ名:Event Log Readers
メンバー:aws-ws-logs
メンバーとして「aws-ws-logs」という値を入れてますが、デフォルトで用意されているユーザではありません。
利用するユーザを用意するか、新しくユーザを作成してメンバーの中に入れてください。
WinRM(Windows Remote Management)サービスの定義
・グループポリシー設定箇所
「コンピューターの構成 (有効)」-「基本設定」-「コントロール パネルの設定」-「サービス」
・設定値
サービス名:WinRM
操作:サービスの開始
スタートアップの種類:自動 (遅延開始)
サービスがロックされている場合のタイムアウトまでの待ち時間:30 秒
サービス アカウント:
サービスにログオンするアカウント名:変更なし
回復:
最初のエラー:サービスを再開する
次のエラー:サービスを再開する
その後のエラー:変更なし
エラー カウントのリセット:0 日
サービスの再開:5 分
WinRM(Windows Remote Management)の有効化
・グループポリシー設定箇所
「コンピューターの構成 (有効)」-「ポリシー」-「管理用テンプレート」-「Windows コンポーネント」-「Windows リモート管理 (WinRM)」-「WinRM サービス」-「WinRMによるリモートサーバ管理を許可する」
・設定値
設定:有効
IPv4フィルター:192.168.1.0/24
WindowsのFirewall
・グループポリシー設定箇所
「コンピューターの構成 (有効)」-「ポリシー」-「Windows の設定」-「セキュリティの設定」-「セキュリティが強化された Windows ファイアウォール」-「セキュリティが強化された Windows ファイアウォール」-「受信の規則」
・設定値
名前:Windows リモート管理 (HTTP 受信)
グループ:Windows リモート管理
プロファイル:ドメイン, プライベート
有効:はい
操作:許可
優先:いいえ
プログラム:System
ローカル アドレス:任意
リモート アドレス:任意
プロトコル:TCP
ローカル ポート:5985
リモート ポート:任意
承認されているユーザー:任意
承認されているコンピューター:任意
承認されたローカル プリンシパル:任意
ローカル ユーザー オーナー:任意
アプリケーション パッケージ:任意
ログを溜める側(サーバ)の設定
ログを溜める側の設定は主にイベントビューアのサブスクリプションの設定値を作る作業です。
一度設定したら基本的に修正や再設定の作業はしないので、設定はイベントビューアのGUIで行いました。
なので説明も画像ベースになります。
必要な作業は下記の3つです。
- サブスクリプションのプロパティとコンピューターの登録
- 収集するイベントの設定
- 収集方法の設定
まずはイベントビューアでサブスクリプションを新規作成します。
サブスクリプションのプロパティとコンピューターの登録
サブスクリプション名:Workspaces-All-Event
宛先ログ:ForwardedEvents(デフォルト)
コレクターによる開始:チェック
操作:「コンピューターの選択」をクリック
操作:「ドメインコンピューターの追加」をクリック
必要なコンピューターを入力してクライアントを追加
収集するイベントの設定
ここでは特定のアクションはログなど収集対象を設定できます。
今回は、「Application」「セキュリティ」「システム」のすべてのログを収集する設定を入れます。
操作:「イベントの選択」をクリック
ログの日付:指定なし(デフォルト)
イベントレベル:重大、警告、詳細、エラー、情報
ログごと:チェック
イベントログ:Application、セキュリティ、システム
操作:「OK」をクリック
収集方法の設定
ここでは、収集するユーザや収集方法を設定します。
「aws-ws-logs」というユーザをAD側で設定したので、「aws-ws-logs」を使って収集します。
操作:「詳細設定」をクリック
特定のユーザー:チェック
ユーザーとパスワードをクリック
サブスクリプション ソースの資格情報
ユーザー名:domain\aws-ws-logs
パスワード:パスワード
操作:「OK」をクリック
操作:「OK」をクリック
これですべての設定が完了です。
あとがき
Windowsの設定やログのことを考えることがなかったのですが独特の操作性も相まって設定が完了するまで苦戦しました。
AWSのインフラとはいえ、Workspacesを使うとWindowsの知識が必要になるので参考にしてもらえればと思います。
\\『真のユーザーファーストでマーケットを創造する』仲間を募集中です!! //