Azure App Service で .NET アプリでスナップショット デバッガーを有効にする
Note
プレビュー版の .NET Core を使用している場合、またはアプリケーションで、(依存アセンブリを介して直接または間接的に) Application Insights SDK が参照されている場合は、他の環境用のスナップショット デバッガーを有効にするための手順に従って、Microsoft.ApplicationInsights.SnapshotCollector
NuGet パッケージをアプリケーションに含めます。
スナップショット デバッガーでは、現在、Windows サービス プランの Azure App Service で実行されている ASP.NET と ASP.NET Core アプリがサポートされています。
スナップショット デバッガーを使用する場合は、Basic サービス レベル以上でアプリケーションを実行することをお勧めします。 大部分のアプリケーションでは:
- Free と Shared サービス レベルには、スナップショットを保存するための十分なメモリまたはディスク領域がありません。
- 現在、従量課金レベルはスナップショット デバッガーには利用できません。
スナップショット デバッガーは App Services ランタイムの一部としてプレインストールされますが、App Service アプリのスナップショットを取得するには、それを有効にする必要があります。 スナップショット デバッガーのコードレス インストールには、.NET Core のサポート ポリシーが適用されます。
.NET App Services Web アプリをデプロイした後:
Azure portal で App Service に移動します。
左側のメニューで、[設定]>[Application Insights] を選びます。
[Application Insights をオンにする] を選択します。
- 既存の Application Insights リソースを使う方がよい場合は、[リソースの変更] でそのオプションを選びます。
[アプリケーションのインストルメンテーション] で、[.NET] タブを選びます。
スナップショット デバッガーの両方のトグルを [オン] に切り替えます。
これでスナップショット デバッガーが有効になります。
スナップショット デバッガーを無効にする
App Services リソースのスナップショット デバッガーを無効にするには:
- Azure portal で App Service に移動します。
- 左側のメニューで、[設定]>[Application Insights] を選びます。
- スナップショット デバッガーのトグルを [オフ] に切り替えます。
例外をトリガーできるアプリケーションへのトラフィックを生成します。 その後、Application Insights インスタンスにスナップショットが送信がされるまで 10 ~ 15 分待機します。
他のクラウド リージョンでスナップショット デバッガーを有効にする
現在、エンドポイントの変更が必要なリージョンは Azure Government と 21Vianet によって運営される Microsoft Azure のみであり、Application Insights の接続文字列が利用されます。
接続文字列プロパティ | 米国政府のクラウド | China Cloud |
---|---|---|
SnapshotEndpoint | https://snapshot.monitor.azure.us |
https://snapshot.monitor.azure.cn |
その他の接続のオーバーライドの詳細については、Application Insights のドキュメントを参照してください。
スナップショット デバッガーを構成する
スナップショット インジェストに対して Microsoft Entra 認証を有効にする
スナップショット デバッガーでは、スナップショットのインジェストに対して Microsoft Entra 認証がサポートされています。 アプリケーションのすべてのスナップショットを取り込むには、アプリケーションは認証されて、必要なアプリケーション設定をスナップショット デバッガー エージェントに提供する必要があります。
本日より、スナップショット デバッガーが Microsoft Entra 認証をサポートするのは、アプリケーションで Application Insights SDK を使用して、Microsoft Entra ID を参照および構成するときのみです。
App Services リソースでスナップショット インジェストの Microsoft Entra ID を有効にするには:
Application Insights リソースに対して認証を行うマネージド ID を App Service に追加します。 次のいずれかを作成できます。
Application Insights リソースで Microsoft Entra ID を構成してオンにします。 詳しくは、次のドキュメントをご覧ください。
次のアプリケーション設定を追加します。 この設定は、使用するマネージド ID をスナップショット デバッガー エージェントに伝えます。
システム割り当て ID の場合:
アプリ設定 | 値 |
---|---|
APPLICATIONINSIGHTS_AUTHENTICATION_STRING | Authorization=AD |
ユーザー割り当て ID の場合:
アプリ設定 | 値 |
---|---|
APPLICATIONINSIGHTS_AUTHENTICATION_STRING | Authorization=AD;ClientID={ユーザー割り当て ID のクライアント ID} |
サポートされていないシナリオ
Snapshot Collector がサポートされていないシナリオを以下に示します。
シナリオ | 副作用 | 推奨事項 |
---|---|---|
アプリケーションで Snapshot Collector SDK を直接使っていて (.csproj)、詳細オプション "Interop" を有効にした。 | ローカル環境の Application Insights SDK (Snapshot Collector テレメトリを含む) は失われ、スナップショットは使用できません。 起動時にアプリケーションが System.ArgumentException: telemetryProcessorTypedoes not implement ITelemetryProcessor. でクラッシュする可能性があります。 Application Insights 機能 "Interop" に関する詳細を確認してください。 |
詳細オプション "Interop" を使用している場合、コードレス Snapshot Collector インジェクション (Azure portal から有効にする) を使用します。 |
次のステップ
- Azure portal でスナップショットを表示する。
- スナップショット デバッガーの問題のトラブルシューティング。