ターゲット リソースが別の Azure リージョンに移動されるときに警告ルールまたは警告処理ルールを更新する
この記事では、他の Azure リソースをリージョン間で移動するときに、既存のアラート ルールとアラート処理ルールが影響を受ける可能性がある理由と、それらの問題を特定して解決する方法について説明します。 主要なリソースの移動に関するドキュメントを参照して、リージョン間のリソースの移動が有用な場合と、移動プロセスを設計する際のチェックリストに関する追加情報を確認してください。
問題が存在する理由
アラート ルールとアラート処理ルールでは、他の Azure リソースが参照されます。 例としては、Azure VM、Azure SQL、および Azure Storage があります。 これらのルールで参照されているリソースを移動すると、ルールは、参照しているリソースを見つけることができないため、正常に動作しなくなる可能性があります。
ターゲット リソースの移動後にルールが動作を停止する主な理由は 2 つあります。
- ルールのスコープが、明示的に古いリソースを参照している。
- アラート ルールがメトリックに基づいている。
ルールのスコープによって、古いリソースが明示的に参照されている
リソースを移動すると、ほとんどの場合、そのリソース ID は変更されます。 バックグラウンドでは、リソースは古いリージョンから削除される前に、システムによって新しいリージョンにレプリケートされます。 このプロセスでは、2 つのリソース (つまり、2 つの異なるリソース ID) がわずかな期間、同時に存在する必要があります。 リソース ID は一意でなければならないため、このプロセス中に新しい ID を作成する必要があります。
リソースの移動により、既存のルールにはどのような影響があるか
アラート ルールとアラート処理ルールには、適用されるリソースのスコープがあります。 スコープは、サブスクリプション全体、リソース グループ、または 1 つ以上の特定のリソースの場合があります。 たとえば、次に示すのは、2 つのリソース (2 つの仮想マシン) があるスコープのルールです。
ルールのスコープでリソースが明示的に示されていて、そのリソースが移動され、そのリソース ID が変更された場合、そのルールは、間違った、または存在しないリソースを検索するため、失敗します。
問題を解決する方法
影響を受けたルールを、新しいリソースを指すように更新または再作成します。 スコープを更新するプロセスについては、この記事の後半で説明します。
この問題は、これらのルールの種類に適用されます。
- アクティビティ ログ アラート ルール
- アラート処理ルール
- メトリック アラート – 詳細については、次のセクション「メトリックに基づくアラート ルール」を参照してください。
Note
ログ検索のアラート ルールと Smart Detector のアラートルールは、スコープがワークスペースまたは Application Insights のいずれかであるため、影響を受けません。 これらのいずれのスコープでも、現在、リージョンの移動はサポートされていません。
メトリックに基づくアラート ルール
Azure リソースによって出力されるメトリックはリージョン別です。 リソースは、新しいリージョンに移動するたびに、その新しいリージョンでメトリックの出力を開始します。 その結果、メトリックに基づくアラート ルールはすべて、正しいリージョンの現在のメトリック ストリームを指すように更新または再作成する必要があります。
この説明は、メトリック アラート ルールと可用性テスト アラート ルールの両方に適用されます。
スコープ内のすべてのリソースが移動された場合は、ルールを再作成する必要はありません。 単に、アラート ルールの説明などのアラート ルールのフィールドを更新して保存できます。 スコープ内のリソースの一部だけが移動された場合は、移動されたリソースを既存のルールから削除し、移動されたリソースだけを対象とする新しいルールを作成する必要があります。
問題を解決する手順
移動されたリソースに関連付けられているルールを Azure portal から特定する
- アラート ルールの場合 - [アラート] > [アラート ルールの管理] に移動し、従属するサブスクリプションと移動されたリソースを条件にフィルターを適用します。
Note
アクティビティ ログ アラート ルールでは、このプロセスはサポートされていません。 アクティビティ ログ アラート ルールのスコープを更新して、別のサブスクリプションのリソースを参照させることはできません。 代わりに、古いものを置き換える新しいルールを作成できます。
- アラート処理ルールの場合 - [アラート] > [アラート処理ルール (プレビュー)] に移動し、従属するサブスクリプションと移動されたリソースを条件にフィルターを適用します。
ルールのスコープを Azure portal から変更する
- 前の手順で特定したルールをクリックして開きます。
- [リソース] の下で [編集] をクリックし、必要に応じてスコープを調整します。
- 必要に応じて、ルールのその他のプロパティを調整します。
- [保存] をクリックします。
Azure Resource Manager テンプレートを使用してルールのスコープを変更する
- ルールの Azure Resource Manager テンプレートを取得します。 Azure portal からルールのテンプレートをエクスポートするには、次のようにします。
- ポータルの [リソース グループ] セクションに移動し、ルールが含まれているリソース グループを開きます。
- [概要] セクションで、 [Show hidden type](非表示の種類を表示する) チェックボックスをオンにして、ルールの関連する種類でフィルター処理します。
- 関連するルールを選択して、その詳細を表示します。
- [設定] で、 [テンプレートのエクスポート] を選択します。
- テンプレートを変更します。 必要に応じて、2 つのルールに分割します (前述のようなメトリック アラートの一部のケースに関連します)。
- テンプレートを再デプロイします。
REST API を使用してルールのスコープを変更する
- 既存のルールを取得します (メトリック アラート、アクティビティ ログ アラート)
- スコープを変更します (アクティビティ ログ アラート)
- ルールを再デプロイします (メトリック アラート、アクティビティ ログ アラート)
PowerShell を使用してルールのスコープを変更する
- 既存のルールを取得します (メトリック アラート、アクティビティ ログ アラート、アラート処理ルール)。
- スコープを変更します。 必要に応じて、2 つのルールに分割します (前述のようなメトリック アラートの一部のケースに関連します)。
- ルールを再デプロイします (メトリック アラート、アクティビティ ログ アラート、アラート処理ルール)。
Azure CLI を使用してルールのスコープを変更する
- 既存のルールを取得します (メトリック アラート、アクティビティ ログ アラート)。
- ルールのスコープを直接更新します (メトリック アラート、アクティビティ ログ アラート)
- 必要に応じて、2 つのルールに分割します (前述のようなメトリック アラートの一部のケースに関連します)。
次のステップ
アラート通知、メトリック アラート、ログ検索アラートに関するその他の問題の解決方法について学習します。