🔎
Azure Monitor Private Link Scope+Azure Monitor Agentでプライベートなログ収集を行う
モチベ
- Azureのログ収集を閉域で行うにはどうすればいいのか知りたい
- ぼんやりAMPLSなるものの存在を認知していて所謂PaaSのPrivate Linkとは違うんだろうなと思っていたのでそのあたりを触ってみたい
- Log Analytics AgentからAzure Monitor Agentに移行されていくのでAzure Monitor Agentでどうやるか知っておきたい
イメージ
これに尽きる
参考
このへん
作成したリソース
若干ハマったポイントがあったので注意
VM
- ログのソースになるVM
- Private Link感(VNET内外でのAzurePortal上での見え方の違い)を試したかったためRDPできるWindowsで作成
VNET
- VMと一緒に作成
Log Analyticsワークスペース
- Azure MonitorのログストアになるLog Analyticsワークスペース
- AMPLSの背後に配置する
Azure Monitor Private Link スコープ(AMPLS)
- 耳慣れない単語
- こんなやつ
Private Endpoint
- AMPLSの[設定]から作成
- 作成方法はDocs
Azure Monitor: データ収集ルール(DCR)
- Azure Monitor Agentを利用する場合は、Log Analyticsワークスペース上ではなくDCRを作成してデータソースおよびターゲットを指定
- [Azure Monitor] -> [データ収集ルール]で作成
- Peformance Counterは既定ではAzure Monitor Metricに保存されるため、必要に応じてAzure Monitor Logsへの保存を選択⇒Log AnalyticsのPerfテーブルに収集される
Azure Monitor: データ収集エンドポイント(DCE)
- Azure Monitorのデータ収集に利用するエンドポイントを明示的に用意するリソース
- DCRをフェッチするための構成アクセスエンドポイント、Log Analyticsワークスペースへのログ取り込みに利用するログインジェストエンドポイント等から成る
- DCEもAMPLSと接続して利用する
- Docsに記載がないので注意
- DCE自体はAMPLSシナリオ以外ではカスタムログAPI(Preview)で利用するエンドポイント
リソース設定
AMPLSから関連リソースの接続
- Log AnalyticsワークスペースとDCEを追加
AMPLSからPrivate Endpointを作成
- 作成者が同じであれば自動承認、必要に応じてPrivate Linkセンター確認
データ収集ルールの作成
- 作成すると対象のリソース上にAzure Monitor Agentがインストールされる
- VMのマネージドIDが有効化される
データ収集エンドポイントの作成+割り当て
- 既出
- [データ収集ルール]->[リソース]から割り当て可能
- [ネットワーク分離]からパブリックネットワークからのアクセスを拒否
Log Analyticsワークスペースのネットワーク分離
- AMPLSのPrivate Endpointに到達できないネットワークからのアクセスを拒否する設定
- ジャンプサーバに接続しないとログ確認ができなくなる
自PC上での[ログ]ブレードの見え方
ログ確認
Log Analytics
- DCEを割り当ててしばらく待つとLog Analyticsワークスペースへログがインジェストされ始めた
- 再度DCEを解除+再起動するとログのインジェストが止まった
- 再起動しないとインジェストされ続けた
Heartbeat
Event
おしまい
どこの設定がどこに影響しているのか確認するのに反映待ちの時間を考慮すると結構疲れるのでこの辺で。まだ検証できてないところもありますがそこはおいおい。
Discussion