Ayumu Inaba
Cloud Solution Architect
Microsoft Japan
Microsoft Azure
監視と通知
1
監視の目的
障害は発生させないことが理想だが、発生してしまったら迅速
に対応することが重要
検
出
診
断
修
復
検
出
診
断
修
復
クラウドサービスの監視
プラットフォームの障害もアプリケーションの障害も、一元管理
できる仕組みが重要
3
Agenda
Azure Monitor Overview
プラットフォームとしての正常性評価 - Service Health
リソース個別の正常性評価 - Resource Health
その他のアクティビティログの活用 - Activity Log
問題の早期発見と通知 - Resource Metric
各種リソースイベントの高度な分析 - Resource Log
様々なログから洞察を得る - Azure Monitor for XXX
ゲスト OS の監視 - Log Analytics / Dependency Agent / Diagnostics Ext
カスタムアプリケーションの監視 – Application Insights
その他の監視ソリューション
CSPM と CWPP - Azure Security Center
クラウドコンサルタント - Azure Advisor
クラウド利用のガバナンス - Azure Policy
4
5
Azure Monitor の全体像
メトリック
ログ
アプリケーション
コンテナ VM Monitoring
Solutions
Insights
ダッシュボード Views Power BI Workbooks
Visualize
Metrics Explorer Log Analytics
Analyze
Alerts Autoscal
e
Respond
Event
Hubs
Ingest &
Export APIs
Logic
Apps
Integrate
Azure Monitor
カスタム ソース
アプリケーション
オペレーティングシステム
Azure リソース
Azure サブスクリプション
Azure テナント
監視対象データソース
7
ソース 内容 収集方法
アプリケーション アプリケーションで発生する各種イベント、テレメトリ、例外等 Application Insight SDK を使用したインストル
メンテーション
Application Insight Agent による自動収集
オペレーティングシステム Azure 仮想マシンのメトリックおよびログ Azure Diagnostics 拡張機能
任意の環境で動作するサーバーのメトリックおよびログ Log Analytics Agent
プロセスの依存関係やネットワーク呼び出しのメトリック Dependency Agent (VM Insights)
Azure リソース リソースログ(診断ログ)と各種メトリック 診断設定
Azure サブスクリプション アクティビティログ(サービス操作の監査、サービスやリソースの正
常性、計画メンテナンスなど)
診断設定
Azure AD テナント サインインアクティビティ履歴、変更の監査証跡
カスタムソース 外部のログ データコレクター API
外部のメトリック カスタムメトリック API
その他 Azure Security Center
Azure Sentinel
2 種類のデータ形式
メトリック
一定の間隔で収集される時系列の数値データで、特
定時刻における対象リソースの特性を表現する
Azure リソースからは構成不要で収集されメトリックエ
クスプローラで可視化・分析ができる
データとしては軽量のため、ほぼリアルタイムでのア
ラートをサポートする
ログ
対象リソースで発生したイベントを記録する文字データ
で、不定期に発生する
Log Analytics や Storage に明示的に送信すること
でクエリや保管が可能になる
クエリ条件を元にしたアラートも可能だが、遅延は大き
くリアルタイム監視には不向き
8
※ VM や アプリのメトリックについては構成や設定等が必要になる
※ 93日間を超えて保存・分析する場合へエクスポート設定が必要
※ プラットフォームが出力するアクティビティログは自動で保存されるが
ログの活用の観点からは Log Analytics 等への送信がほぼ必須
※ 保存期間は送信先のストレージに依存する
収集したデータの活用
9
Integrate
:連携
Analyze : 分析
Visualize : 可視化
Insights : 洞察
Respond : 対応
Azure プラットフォームの正常性評価
10
アクティビティログ
Azure プラットフォームが出力する各種イベントの記録
システムによって自動生成され、変更や削除ができず、90日間保存される
Azure ポータルの各リソースの画面で確認できる
11
カテゴリ 内容 主な用途
Administrative Azure Resource Manager に対して行われ
た各種操作が記録される
監査証跡
ServiceHealth Azure 全体や各種サービスレベルでのインシ
デントが記録される
大規模障害の検知や更新履歴
ResourceHealth ユーザーがデプロイした特定の Azure リソー
スの正常性の状態変化と理由が記録される
利用するサービス障害や自動
シャットダウン等の検知
Alert 実際に発砲されたアラートが記録される アラート履歴や傾向分析
Autoscale オートスケールが動作履歴が記録される コストやキャパシティの最適化
Recommendation Azure Advisor によって提示された推奨事項 推奨事項や対象変化の追跡
Security Azure Security Center によって検知された
警告
セキュリティインシデントの確認
Policy Azure Policy による評価とアクションの履歴 ガバナンス適用状況の追跡
Service Health
ServiceHealth カテゴリ専用の画面が
用意されている
現在の問題だけでなく、過去の履歴、将来のメンテナンス予定
なども表示される
何かおかしいと思ったらまずココを開く
12
アラートも設定可能
サービス正常性の通知
サービス正常性アラートで
受信したメールのサンプル
2021年3月に発生した Azure AD 障害
の RCA が通知されている例
先はメール通知の例だが、SMS や
Webhook への通知も可能
ログが記録されるのは障害
だけでなく一連の経緯
アラートとして必要なイベントが何かを精
査する
13
User
再起動を伴う計画メンテナンスを検知する
障害だけでなく、仮想マシンの再起動を伴うメンテナンスも
Service Health で確認できる
既定ではサブスクリプションの管理者と共同管理者にメンテナンスが通知される
アクティビティログのアラートを仕掛けることで通知先を追加できる
14
※ 再起動を伴わないメンテナンスは含まれない
セルフサービス期間
(通常は35日間)
予定メンテナンス期間
通知
Azure Platform
各リージョンでメンテ
ナンスが予定される
再デプロイ
再起動
Scheduled
Events
セルフサービス
で実施する場合
プラットフォーム
に任せる(放置)
or
10~15分
通知先の管理
通知の宛先はアクショングループとして管理する
アクショングループには運用体制に合わせて複数の通知の宛先やアクション対象を登録して
おくことができる
Service Health に限らず各通知ルールは通知先を個別に持つのではなく、共通のアクショ
ングループを指定する
15
電子メール、SMS、Azure アプリ、
電話(音声)などを登録
Azure Automation, Logic App, Function,
ITSM, Webhook などを登録
Alert Rule
Alert Rule
Alert Rule
Service
Health
Log
Query
Metric
[補足] Azure の状態
Azure ポータルにアクセスでき
ない場合は「Azure の状態」を
確認する
https://status.azure.com/
Service Health とは異なり、Azure 全サービス
とリージョンのインシデントが記録される(=必ずし
も影響を受けているとは限らない)
外出先や自宅では Azure AD 認証が通らない
などの制約があると、サービス正常性画面が開け
ないのでこちらも確認
RSS フィードが取得できるためこちらもサブスク
ライブしておくと良い
16
Azure リソースの正常性評価
17
アクティビティログ
Azure プラットフォームが出力する各種イベントの記録
システムによって自動生成され、変更や削除ができず、90日間保存される
Azure ポータルのほぼすべての画面で確認できる
18
カテゴリ 内容 主な用途
Administrative Azure Resource Manager に対して行われ
た各種操作が記録される
監査証跡
Service Health Azure 全体や各種サービスレベルでのインシ
デントが記録される
大規模障害の検知や更新履歴
Resource Health ユーザーがデプロイした特定の Azure リソー
スの正常性の状態変化と理由が記録される
利用するサービス障害や自動
シャットダウン等の検知
Alert 実際に発砲されたアラートが記録される アラート履歴や傾向分析
Autoscale オートスケールが動作履歴が記録される コストやキャパシティの最適化
Recommendation Azure Advisor によって提示された推奨事項 推奨事項や対象変化の追跡
Security Azure Security Center によって検知された
警告
セキュリティインシデントの確認
Policy Azure Policy による評価とアクションの履歴 ガバナンス適用状況の追跡
Resource Health
Resource Health は各リソース毎に
確認できる
報告されるステータスは3つ(使用可能、使用不可、不明)
チェック内容はリソース種別によって異なる
19
個々のリソースの
画面から確認
リソース正常性の監視
異常が検知されると・・・
20
リソース正常性の監視
リソース正常性アラートで受
信したメールのサンプル
Spot VM が容量不足で強制的に割り当
て解除されたことが報告されている
VM の停止なので Resource Health
からアラート通知されている
これ自体は想定された挙動なので実際に
は障害ではない
21
複数リソースの正常性を横断的に取得
サービス正常性の画面でリソース種類ごとに一覧表示可能
特定サービスの大規模障害が
起こっている状況において
影響を受けているリソースを特定
システム単位などで複数リソース
種類を横断的に確認したい場合は
REST API を利用するとよい
Azure リソース正常性 REST API
REST API をオンプレミスや
他社クラウドから呼び出すことで
外部監視とすることも可能
22
リソース正常性の監視 - サブスクリプション一括
Azure CLI の az rest コマンド
az rest --method get --url
https://management.azure.com/subscriptions/${SubscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2018-07-01
23
リソース正常性の監視 - サブスクリプション一括
Azure PowerShell の Invoke-AzRest コマンド
$path = “/subscriptions/${SubscriptionId}/providers/Microsoft.ResourceHealth/availabilityStatuses?api-version=2018-07-01”
$res = Invoke-AzRestMethod -Method GET –Path $path
($res.Content | ConvertFrom-Json).value | foreach {…}
24
アクティビティログの活用
25
アクティビティログの活用
正常性以外のカテゴリにも重要なイベントが記録されている
26
カテゴリ 内容 主な用途
Administrative Azure Resource Manager に対して行われ
た各種操作が記録される
監査証跡
Service Health Azure 全体や各種サービスレベルでのインシ
デントが記録される
大規模障害の検知や更新履歴
Resource Health ユーザーがデプロイした特定の Azure リソー
スの正常性の状態変化と理由が記録される
利用するサービス障害や自動
シャットダウン等の検知
Alert 実際に発砲されたアラートが記録される アラート履歴や傾向分析
Autoscale オートスケールが動作履歴が記録される コストやキャパシティの最適化
Recommendation Azure Advisor によって提示された推奨事項 推奨事項や対象変化の追跡
Security Azure Security Center によって検知された
警告
セキュリティインシデントの確認
Policy Azure Policy による評価とアクションの履歴 ガバナンス適用状況の追跡
アクティビティログアラート
アクティビティログは既定で保存されており、それを元にしたア
ラート発報が可能
27
前述の ServiceHealth の通知も
アクティビティログアラートの1種
アクティビティログの活用
アクティビティログは診断設定をして別サービスに送信するとよい
アクティビティログ自体は 90 日しか保存されず、クエリなどによる活用が難しい
複数の診断設定をすることが可能(インフラ運用分析 + セキュリティ監査用途など)
送信先サービスによる料金が別途発生することに注意
28
その他の監視データとの関連付け
複雑な条件によるアラート発報
長期データの横断的な分析
監査証跡としての長期保存
ローカル端末にダウンロードした分析
3rd Party ソリューションとの連携
SIEMやログ分析ソリューションなど
アクティビティログのクエリ
アクティビティログを Log Analytics に送信することで複数
のイベントを横断した解析が可能になる
29
問題の早期発見と通知
30
Azure Monitor メトリック
リソースレベルのメトリック設定不要で分析・可視化が可能
Azure ポータルで各サービスの概要画面にグラフが表示されるものが多い
詳細な分析を行いたい場合はメトリックエクスプローラを使用する
ほぼリアルタイムのシナリオに対応するため問題の通知や迅速な検出に有用
31
多次元メトリックデータを
活用したフィルタと分割
メトリックアラートとその対応
観測されたメトリックに対して静的/動的な条件によってア
ラートを発報することができる
静的 : 前述のリソース制限などをベースに閾値が固定できるもの
動的 : 閾値を固定せず過去データの機械学習を元に判定するもの
32
- 対人通知
- E-mail 、SMS、電話音声、
Azure モバイルアプリ
- 自動対応
- Automation Runbook、
Logic Apps、Functions
- 外部連携
- WebHook、ITSM Azure Monitor を使用してメトリック アラートを
作成、表示、管理する
メトリックデータの長期保管
既定では93日間保存されるが、さらに長期的な分析を行い
たい場合は診断設定によって外部にエクスポート可能
ただし一部のメトリックは非対応、単一ディメンジョンにフラット化されてしまうことに注意
リアルタイム性も劣化するため、タイムリーな検知にはメトリックアラートを使用した方が良い
33
各種
リソース
エラーの予兆と発生を検知
各リソース制限に抵触するとエラーの発生や性能劣化につな
がるため、まずは制限値に対するメトリックに着目するとよい
Azure サブスクリプションの制限とクォータ
Azure Monitor でサポートされているメトリック (リソースの種類別)
34
エラー
性能劣化
警告
保守対応 障害対応
Web Appsのメトリック監視の例
35
リソース Standard Premium (v1 から v3)
プランあたりのアプリ数 無制限 無制限
App Service プラン
リソース グループあたり
100
リソース グループあたり 100
スケール アウト (最大インスタ
ンス)
10 専用インスタンス
20 専用インスタンス (v1,v2)、
30 専用インスタンス (v3)。
ストレージ 50 GB 250 GB
CPU 時間 無制限 無制限
メモリ制限 該当なし 該当なし
帯域幅 無制限 無制限
アプリケーションのアーキテク
チャ
32 ビット/64 ビット 32 ビット/64 ビット
インスタンスごとの Web ソケッ
ト数
無制限 無制限
インスタンスあたりの送信 IP
接続数
インスタンス サイズに
よって異なる
インスタンス サイズによって異な
る
サブスクリプションあたりの
App Service 証明書数
10 10
アプリケーションごとのカスタム
ドメイン数
500 500
Hybrid Connections (ハイ
ブリッド接続)
プランあたり 25 アプリあたり 200
メトリック表示名 Unit
CPU Percentage Percent
Memory Percentage Percent
Disk Queue Length Count
Http Queue Length Count
Socket Outbound All Count
Microsoft.Web/serverfarms 名前空間のメトリック(一部抜粋)
メトリック表示名 Unit
Response Time Seconds
Requests Count
Http Server Error Count
Microsoft .Web/sites 名前空間
SQL Database のメトリック監視の例
単一データベースで懸念されるエラーの検知と対応策の例
36
Microsoft.Sql/servers/databases 名前空間のメトリック(一部抜粋)
メトリック表示名 ユニット
Data space used percent Percent
Data space used Bytes
Data space allocated Bytes
Data IO percentage Percent
Workers percentage Percent
Successful Connections Count
Failed Connections Count
Deadlocks Count
監視とパフォーマンスのチューニング - Azure SQL Database
メトリック表示名 ユニット
Used capacity Bytes
Transactions Count
Ingress Bytes
Egress Bytes
Success E2E
Latency
Millisecounds
Success Server
Latency
Millisecounds
Storage Account のメトリック監視の例
ストレージで懸念されるエラーの検知と対応策の例
37
リソース 制限
サブスクリプションあたりの各リージョンのスト
レージ アカウント数
250
ストレージ アカウントの最大容量 5 PiB
1
ストレージ アカウントあたりの BLOB コンテ
ナー、BLOB、ファイル共有、テーブル、キュー、エ
ンティティ、メッセージの最大数
制限なし
ストレージ アカウントあたりの最大要求レート
1
1 秒あたり 20,000 要求
ストレージ アカウントあたりの最大イングレス
1
(米国、ヨーロッパ リージョン)
10 Gbps
ストレージ アカウントあたりの最大イングレス
1
(米国とヨーロッパ以外のリージョン)
RA-GRS/GRS が有効な
場合は 5 Gbps、LRS /
ZRS の場合は 10 Gbps
汎用 v2 および BLOB ストレージ アカウントの
最大送信速度 (すべてのリージョン)
50 Gbps
ストレージアカウントごとの仮想ネットワーク規則
の最大数
200
ストレージアカウントごとの IP アドレス規則の最
大数
200
Microsoft.Storage/storageAccounts 名前空間のメトリック(一部抜粋)
自動スケール
一部のサービスはメトリックや時間に応じた水平方向の自動
スケールに対応している
エラーの予兆検知に対して人的な判断を
介在させずに緩和することができるため、
システムの信頼性品質を安定させる上で
非常に有用
スケールアウトとスケールインの両方を
組み込むことでコストの最適化にも寄与
非対応サービスの自動スケールを実現
したい場合はアラートと Automation を
組み合わせて実装すると良い
41
Microsoft Azure の自動スケール - Azure Monitor | Microsoft Docs
App Service, VM Scale Sets, API Management, Data Explorer, など
各種イベントの高度な分析
42
Azure リソースログの収集
各種リソースで発生したイベント記録は既定で保存されない
ログを元にした分析や可視化のためには、まず診断設定をして送信してやる必要がある
Log Analytics : Kusto によるクエリと可視化(オススメ)
Storage : 長期保管と JSON 形式の生データに対する独自の分析
EventHub : 外部サービスへの送信
43
Log Analytics によるリソースログの分析
診断設定で Log Analytics に送信されたデータは
AzureDiagnostics テーブルに格納される
格納されるデータはサービス固有部分が多いため、Azure リソース ログでサポートされてい
るサービスとスキーマ を参考にすると良い
44
各種
リソース
Kusto クエリ言語
Azure Monitor で
のログ クエリ
実装済みの監視ソリューションの活用
一部のサービスでは収集したリソースログやメトリックに対する実装
済みの解析ソリューションをインストールすることができる
ログやメトリックのスキーマを把握して独自のソリューションを構築するには時間と経験も必要
まずは実装済みのソリューションを活用ないしは参考にすると良い
45
Azure Monitor での監視ソリューション - Azure Monitor | Microsoft Docs
ログアラート
クエリを定期実行し結果を元にア
ラートを発報することもできる
時系列データに対して一定頻度でクエリが評価され
るため、各クエリが対象とするデータ範囲に留意
46
各種
リソース
洞察を得る
47
Azure Monitor for XXX
(全てではないが)いくつかのサービス種別に対しては一般
的に必要となる分析が提供されている
48
機能 監視対象
Azure Monitor for Containers Azure Kubernetes Service, Azure Container Instances, Azure Stack/オン
プレにホストされたK8Sクラスタ, Azure Arcに接続されたK8Sクラスタ, Azure Red
Hat OpenShift
Azure Monitor for Cosmos DB Azure Cosmos DB
Azure Monitor for Networks Azure Networks
Azure Monitor for Resource Groups リソースグループ
Azure Monitor for Storage Azure Storage
Azure Monitor for VMs 仮想マシン, VM Scale Set, Azure Arcに接続された仮想マシン, オンプレミス/他
クラウド上の仮想マシン
Azure Monitor for Key Vault Azure Key Vault
Azure Monitor for Azure Cache for Redis (プレ
ビュー)
Azure Cache for Redis
Azure Monitor for XXX
Azure Monitor の画面からリソー
ス種別ごとの分析情報を選択する
個々のリソース画面から分析情報
を選択する
49
Azure Monitor for XXX
前述の各分析情報では Workbook として定義・保存された
可視化情報が表示されている
この Workbook の内容をカスタマイズすることでより詳細な分析を行うことが可能
50
Azure Monitor Workbook (ブック)
ブックを使用することで各種データソースを基にした分析と可
視化を定型化し、Azure Portal に表示することが出来る
前述の Azure Monitor for XXX は主にメトリックやログのデータを基にしていた
Resource Graph や Resource Health などの情報を対象にすることも可能
可視化したい内容が決まってきたら
“ブック” として定型化するとよい
ブック自体も ARM リソースとしてデプロイ可能
開発・テスト段階から運用開始ノウハウを蓄積して
他のサービスと同様に本番環境にデプロイするとよい
51
Azure Monitor ブックの概要 - Azure Monitor | Microsoft Docs
ゲスト OS の監視
52
Azure
Monitor
ゲスト OS
ゲスト OS レイヤでのデータ収集と可視化
仮想マシン内部の情報を収集するためには、ゲスト OS 上で
動作する“エージェント” プログラムを動作させる必要がある
クラウド共同責任モデルにおいて OS 以上のレイヤーの管理はユーザー責務
仮想マシン内部で発生するデータの活用には明示的にユーザーの Opt-In が必要
53
ホスト
アプリケーション
データ
エージェント
Azure Monitor エージェント
Azure Monitor に情報を提供するためのエージェントには複
数種類がある
歴史的な経緯もありきわめてわかりにくい状況になってしまっているが、どのような分析を行
いたいか? を基準に1つまたは複数を組み合わせて利用するとよい
54
Log Analytics エージェント
主として パフォーマンス、イベントログ、syslog などを Azure
Monitor ログに転送する
アクティビティログやリソースログと同様にイベントログや Syslog に対して Kusto クエリを
使用した分析が可能になる
Dependency Agent だけでなく Update Management や Security Center などが
Log Analytics エージェントに依存するため、監視とは無関係に必要になる場合も多い
55
Log Analytics
レポジトリ クエリー検索
ダッシュボード
アラート
CSV
Power BI
Microsoft Azure
Windows または Linux
(物理または仮想)
System Center
Operations Manager
Log Analytics エージェントは他社クラウドやオンプレミス
環境で動作するマシンでも利用可能(インターネット経由の
HTTPS で Azure Monitor に到達可能であれば良い)
Azure Diagnostics (診断)拡張機能
Azure Monitor メトリックや Storage/Event Hubs への
データ送信が必要な場合に使用する
56
Azure Resource から収集されたメトリック
+
VM 内部で取得できるパフォーマンスモニタ
Azure Resource から収集されたリソースログ
+
VM 内部で取得できるイベントログやSyslog
カスタムアプリケーションの監視
57
テレメトリデータの収集と活用
アプリケーション内部で発生するイベント情報(テレメトリ)を
収集して活用する
収集したデータは Azure Logs や Metrics と同様に利用することができる
58
インストルメンテーションによるコードベースの監視
アプリコード内のログ出力コードから、Application Insights API
にテレメトリを送信する
対応する各種プログラミング言語の向けの SDK を活用してアプリケーションコードに組み込む
既定で収集されないテレメトリはログ出力コードを明示的に記載することで収集できる
59
# ASP.NET Core アプリケーションでテレメトリを有効化する例
# 要求、依存関係、例外、パフォーマンス カウンター、ハートビート、ログが収集される
public void ConfigureServices(IServiceCollection services)
{
services.AddApplicationInsightsTelemetry();
services.AddMvc();
}
# 自動で収集されない情報は TelemetryClient を使用して明示的に送信する
private TelemetryClient telemetry;
public IActionResult Index()
{
this.telemetry.TrackEvent("HomePageRequested");
return View();
}
#ILogger を使用する方法も提供されている
C#
# OpenCensus Azure Monitor エクスポーターをインストール
# python -m pip install opencensus-ext-azure
import logging
from opencensus.ext.azure.log_exporter import AzureLogHandler
# Logger を Application Insightsに接続
logger = logging.getLogger(__name__)
logger.addHandler(AzureLogHandler(
connection_string='InstrumentationKey=your-instrumentation-key')
)
# ユーザー入力をテレメトリ情報として Application Insights に送信する
def main():
while True:
line = input("Enter a value: ")
logger.warning(line)
if __name__ == "__main__":
main()
Python
自動インストルメンテーション(コードなしアタッチ)
コードの変更をしなくてもアプリケーションのテレメトリ収集と
監視が有効にできる場合もある
60
可用性の監視
定期的にインターネット上の Web アプリ URL にリクエストを
送信し、死活及び応答性を評価する
過去の統計データの分析や、異常時のアラート発砲が可能
61
Application Insights のその他の機能
62
63
Azure Security Center
64
Azure Security Center
Cloud Security Posture
Management
セキュリティスコア
ポリシーとコンプライアンス
自動化された修復
Cloud Workload Protection
Platform
脆弱性の管理
高度なクラウド防御
脅威検知と対処
65
CSPM としての Security Center
セキュリティ設定の “監視”で設定ミスや抜け漏れを防止する
66
Azure Security Center
コンプライアンス評価
運用監視
DevSecOps との統合
リスク特定
ポリシー強制
脅威からの保護
Free !!
CSPM : セキュアスコア
組織全体のセキュリティの状態を可視化するための数値指標
個々の項目に、重要度やセキュリティベストプラクティスから、マイクロソフトによる点数が設定
されている
67
CSPM : 規制コンプライアンスダッシュボード
Azure 環境の継続的評価に基づき、コンプライアンス体制について
の分析情報をダッシュボードに表示
Azure CIS, PCI DSS 3.2, ISO 27001, SOC TSPなどのそれぞれの標準に応じて、推奨事項を
表示
コンプライアンス標準に基づいて、セキュリティ構成管理をしたい際に利用を推奨
68
CSPM : インベントリ
すべての監視対象リソースをシングルビューで表示
69
CWPP としての Security Center
IaaS, PaaS, コンテナーなどのワークロードの種類に合わせ
た保護や脅威検知を提供
仮想マシンとコンテナーに関する脆弱性スキャンにより、
ワークロードに合わせて脆弱性管理を提供
ファイル改ざん検知やアプリケーション制御、適応型
ネットワーク強化など、サーバーのハーデニングに
必要な機能群を提供
EDR によりサーバーに対するふるまい検知を提供
各種の Azure PaaS Service に対して、不正アクセス
や不正な操作などの脅威を検知
SQL Database
Azure Storage,
Azure Kubernetes Service
App Service など
70
SQL VMs Containers
Apps IoT Network
CWPP : Azure Defender for XXX
Azure Defender を有効化することで利用可能
リソース種別ごとに個別に オン/オフが可能(最初の30日は無償)
71
有償
CWPP : セキュリティ警告
サーバー、App Service、ストレージ、データベースなどで発
生したアラートをダッシュボードで一元的に表示
72
VM から見た Security Center の例
73
このリソースの
セキュリティ設定に
問題はないか?
このリソースは
攻撃を受けていないか?
アクティビティログからの抽出
Security Center から報告されたアラートもアクティビティロ
グに記録される
Log Analytics に送信しておけば Kusto クエリを使って記録を遡ることもできる
74
Azure Advisor
75
Azure Advisor
Well-Architected Framework の観点からリソースの構成
と利用状況を分析、改善案を提案するコンサルタント
76
76
コスト
最適化
運用の
卓越性
性能
効率
信頼性
セキュリティ
アセスメ
ント
ドキュメン
ト
リファレンス
アーキテク
チャ
設計原
則
ガイド
Azure
Advisor
パートナー &
サービス オ
ファー
76
Advisor スコア
ベストプラクティスの推奨事項に対するチェック結果をスコア
化することで、継続的な改善活動に役立てる
77
推奨事項の例 : Reliability
アプリケーション ゲートウェイのフォールト トレランスを確保する
誤って削除されないように、仮想マシンのデータを保護する
必要な時に Azure の専門家を利用できるようにする
Azure の問題による影響を受けるときに通知される Azure
Service Health アラートを作成する
接続の回復性を高めるために VPN ゲートウェイをアクティブ/アク
ティブに構成する
無効なログ アラート ルールを修復する
仮想マシンのレプリケーションを有効にする
可用性セットのフォールト トレランスを確保する
Etc…
78
Advisor によるアプリケーションの信頼性の向上 - Azure Advisor | Microsoft Docs
推奨事項の例 : Security
Azure Advisor でも Security Center と同内容の推奨事項が
表示される
Key Vault シークレットには有効期限が必要
仮想マシンに Endpoint Protection ソリューションをインストールする
仮想マシンでディスクの暗号化を適用する必要があります
Azure Container Registry イメージの脆弱性を修復する必要があります
SQL Server に対して Azure Active Directory の管理者をプロビジョニングする必要があります
関数アプリ用に Python を最新バージョンに更新する必要がある
管理証明書の代わりにサブスクリプションを保護するために、サービス プリンシパルを使用する必要
があります
ストレージアカウントは、仮想ネットワーク規則を使用してネットワーク アクセスを制限する必要がある
Etc...
79
Azure Advisor を使用してリソースのセキュリティを向上させる - Azure Advisor | Microsoft Docs
推奨事項の例 : Performance
信頼性とパフォーマンスを向上させるために、ストレージ クライアント ライブラリ
を最新バージョンにアップグレードする
App Service のパフォーマンスと信頼性の向上
マネージド ディスクを使用してディスク I/O スロットリングを防ぐ
読み込み時の待機時間を最小限に抑えるために、ストレージ アカウントを同じ
リージョン内に配置する
Azure Database for MySQL または Azure Database for PostgreSQL
の読み取りレプリカを使用して、読み取りの負荷が高いワークロードの読み取り
をスケールアウトする
キャッシュやアプリケーションのパフォーマンスを向上させるためにキャッシュを
別のサイズまたは SKU にスケーリングする
トラフィックが存在するリージョンを Azure Cosmos DB アカウントに追加する
Etc…
80
Advisor を使用して Azure アプリのパフォーマンスを向上させる - Azure Advisor | Microsoft Docs
推奨事項の例 : Cost Optimization
使用率が低いインスタンスをサイズ変更またはシャットダウンして仮想マ
シンの支出を最適化する
適切なサイズ変更により MariaDB、MySQL、PostgreSQL サーバー
のコストを最適化する
アイドル状態の仮想ネットワーク ゲートウェイを削除または再構成してコ
ストを削減する
従量課金のコストより費用を節約するために、予約された仮想マシン イ
ンスタンスを購入する
関連付けられていないパブリック IP アドレスのコスト節約のための削除
障害が発生している Azure Data Factory パイプラインを削除する
Etc…
81
Azure Advisor を使用してサービス コストを削減する - Azure Advisor | Microsoft Docs
推奨事項の例 : Operational Excellence
Azure の問題による影響を受けるときに通知される Azure
Service Health アラートを作成する
サブスクリプションの上限に到達しないようにストレージ アカ
ウントを設計する
必要な時に Azure クラウドの専門家を利用できるようにする
無効なログ アラート ルールを修復する
Azure Policy の推奨事項を使用する
Etc…
82
Advisor を使用してオペレーショナル エクセレンスを向上させる - Azure Advisor | Microsoft Docs
Azure Policy
83
Azure Policy
クラウド利用におけるコンプライアンスへの適合を評価・検証・
強制するための仕組み
例 : ルールで許可されたリージョンを使用しなければならない
例 : リソースタグでコスト支払い部門を明確にしなければならない
84
組み込みのポリシー定義の一覧 - Azure Policy | Microsoft Docs
Append : プロパティ設定を追加する
Audit : 警告イベントを表示
AuditIfNotExists : 警告イベントを表示
Deny : デプロイを失敗させる
DeployIfNotExists : デプロイを強制する
ポリシーの定義
ポリシーは条件と効果が JSON で定義されている
組織固有のルールをポリシー定義言語を用いて実装する(=カスタムポリシー)こともできる
85
"properties": {
"displayName": "Allowed VM Skus",
"description": “Specifies a set of VM SKUs that your org can deploy.“ },
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Compute/virtualMachines“
},
{
"not": {
"field":"Microsoft.Compute/virtualMachines/sku.name",
"in": ["Basic_A0”,”Basic_A1”,”Basic_A2”,”Basic_A3”,”Basic_A4”]
}
}
]
},
"then": {
"effect": "Deny“
}
}
リソース種別が仮想マシンである
SKU が Basic である
デプロイを拒否する
ポリシーの割り当て
定義したポリシーは対象となるスコープに対して割り当てるこ
とで効果を発揮する
管理グループ、サブスクリプション、リソースグループレベルで割り当てることが可能
上位スコープで割り当てたポリシーは下位のスコープにも適用される
86
スコープ内の全リソースが評価
イニシアチブ
複数のポリシーをまとめたイニシアチブを適用することで、コン
プライアンスや組織固有ルールへの準拠を評価
Security Center による構成チェックも実際にはポリシーで実装されている
87
イニシアチブ
ポリシー ポリシー
ポリシー ポリシー
組織ルール
コンプライア
ンス
セキュリティ
[補足] RBAC と Policy
Role Based Access Control
ユーザーやアプリの操作に対して評価する、いわ
ゆる権限管理のための機能
デフォルトは拒否(権限を割り当てない限り権限
は与えられない)
Policy
既存あるいはデプロイ済みのリソースのプロパ
ティに対して評価を行う
デフォルトは許可(明示的なポリシーの割り当てに
応じて監査や拒否が行われる)
88
RBAC では誰が、何をして良いかを許可する Policy はリソースが適切な状態になっているか評価
89
まとめ
Azure Monitor を使用することで Azure プラットフォームそ
のものやアプリケーションの正常性を監視する
基本的に監視要件に応じてと利用するリソースや各種設定が必要になることに注意
Security Center や Advisor などのターンキー型のソリューションも活用すると良い
組織ルールやコンプライアンスへの準拠を強制・監視するためには Policy を活用する
90
メトリック
ログ
アプリケーショ
ン
コンテナ VM M onitori
ng
Solution
s
Insights
ダッシュボード
Views Power
BI
W orkbook
s
Visualize
M etrics
Explorer
Log
Analytics
Analyze
Alerts Autosc
ale
Respond
Event
Hubs
I ng est &
Export
API s
Log ic
Apps
Integrat
e
Azure M onitor
カスタム ソース
アプリケーション
オペレーティングシステム
Azure リソース
Azure サブスクリプション
Azure テナント
Microsoft Confidential
◼ 本資料は情報提供のみを目的としており、本資料に記載されている情報は、本資料作成時点でのマイクロソフトの見解を示したものです。状況等の変化により、内容は変更される場合があります。本資料
に特別条件等が提示されている場合、かかる条件等は、貴社との有効な契約を通じて決定されます。それまでは、正式に確定するものではありません。従って、本資料の記載内容とは異なる場合がありま
す。また、本資料に記載されている価格はいずれも、別段の表記がない限り、参考価格となります。貴社の最終的な購入価格は、貴社のリセラー様により決定されます。マイクロソフトは、本資料の情報に対
して明示的、黙示的または法的な、いかなる保証も行いません。
© 2020 Microsoft Corporation. All rights reserved.
Microsoft, Windows, その他本文中に登場した各製品名は、Microsoft Corporation の米国およびその他の国における登録商標または商標です。
その他、記載されている会社名および製品名は、一般に各社の商標です。
91

Azure monitoring and alert v0.2.21.0707