次の方法で共有


Application Insights の接続文字列

接続文字列には、インストルメント化されたアプリケーションからテレメトリ データを送信する必要がある Application Insights リソースを指定します。 接続文字列は複数の設定で構成されます。各設定はキーと値のペアとして表され、セミコロンで区切られます。 このように構成方法が統合されているため、複数のプロキシ設定が不要になり、セットアップ プロセスが簡単になります。

重要

接続文字列には、ikey と ApplicationId が含まれています。

ikey は、テレメトリを特定の Application Insights リソースに関連付けるためにインジェスト サービスによって使用される一意の識別子です。 Ikey の一意識別子はセキュリティ トークンやセキュリティ キーではなく、シークレットとは見なされません。 接続文字列は、ApplicationId 値を追加することで強化されます。 この更新プログラムは、Open Telemetry SDK を使用するシナリオの自動インストルメンテーションをサポートする新機能です。 Application Insights リソースを不正使用から保護する場合、インジェスト エンドポイントには、Microsoft Entra ID に基づく認証付きのテレメトリ インジェスト オプションが用意されています。

ノート

インストルメンテーション キーのインジェストのサポートは、2025 年 3 月 31 日に終了します。 インストルメンテーション キーのインジェストは引き続き機能しますが、この機能の更新プログラムやサポートは提供されなくなります。 接続文字列に移行することで、新機能をご利用いただけます。

接続文字列の機能性

  • 信頼性: 接続文字列は、グローバルインジェストエンドポイントへの依存を取り除くことで、テレメトリーのインジェストの信頼性を高めます。
  • セキュリティ: 接続文字列は、Application Insights の Microsoft Entra 認証を使用して、認証されたテレメトリをインジェストすることを可能にします。
  • カスタマイズされたエンドポイント (ソブリンまたはハイブリッド クラウド環境): エンドポイント設定を使用すると、特定の Azure Government リージョンにデータを送信できます。 (次の例を参照してください。)
  • プライバシー (リージョンのエンドポイント): 接続文字列では、データはリージョンのエンドポイントに送信され、地理的リージョンの外に流出しないので、プライバシーに関する懸念が軽減されます。

接続文字列を見つける

接続文字列は、Application Insights リソースの [概要] セクションに表示されます。

Application Insights の概要と接続文字列を示すスクリーンショット。

スキーマ

スキーマ要素については、以下のセクションで説明します。

最大長

接続でサポートされている最大長は 4096 文字です。

キーと値のペア

接続文字列は、キーと値のペアがセミコロンで区切られた設定のリストで構成されます: key1=value1;key2=value2;key3=value3

ヒント

このドキュメントでは、構成可能なキーと値のペアについて説明します。 一部のキーと値のペアは構成できないため、 ApplicationIdなど、自動的に設定されます。 これらのペアは、環境内で観察された場合は無視しても問題ありません。

構文

  • InstrumentationKey (例: 00000000-0000-0000-0000-000000000000)。 InstrumentationKey は "必須" フィールドです。

  • Authorization (例: ikey)。 現時点では ikey 認証のみがサポートされているため、この設定は省略可能です。

  • EndpointSuffix (例: applicationinsights.azure.cn)。 エンドポイント サフィックスを設定すると、SDK に接続先の Azure クラウドが指定されます。 SDK により、個々のサービスに対して残りのエンドポイントが構成されます。

  • 明示的なエンドポイント。 どのサービスも、接続文字列内で明示的にオーバーライドできます:

    • IngestionEndpoint (例: https://dc.applicationinsights.azure.com)
    • LiveEndpoint (例: https://live.applicationinsights.azure.com)
    • ProfilerEndpoint (例: https://profiler.monitor.azure.com)
    • SnapshotEndpoint (例: https://snapshot.monitor.azure.com)

エンドポイント スキーマ

<prefix>.<suffix>

  • プレフィックス: サービスを定義します。
  • サフィックス: 共通ドメイン名を定義します。

有効なサフィックス

  • applicationinsights.azure.cn
  • applicationinsights.us

詳細については、「エンドポイントの変更が必要なリージョン」を参照してください。

有効なプレフィックス

接続文字列の例

さまざまな接続文字列の例を次に示します。

エンドポイント サフィックスが付いた接続文字列

InstrumentationKey=00000000-0000-0000-0000-000000000000;EndpointSuffix=ai.contoso.com;

この例では、接続文字列でエンドポイント サフィックスが指定され、SDK によってサービス エンドポイントが構成されます。

  • 認証方式の既定値は "ikey" です
  • インストルメンテーション キー: 00000000-0000-0000-0000-000000000000
  • リージョン サービスの Uniform Resource Identifier (URI) は、提供されたエンドポイントのサフィックスに基づいてます。
    • インジェスト: https://dc.ai.contoso.com
    • ライブ メトリック: https://live.ai.contoso.com
    • .NETのプロファイラー: https://profiler.ai.contoso.com
    • デバッガー: https://snapshot.ai.contoso.com

明示的なエンドポイント オーバーライドを含む接続文字列

InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://custom.com:111/;LiveEndpoint=https://custom.com:222/;ProfilerEndpoint=https://custom.com:333/;SnapshotEndpoint=https://custom.com:444/;

この例では、この接続文字列によって、すべてのサービスに明示的なオーバーライドが指定されています。 SDK により、提供された正確なエンドポイントがそのまま使用されます。

  • 認証方式の既定値は "ikey" です
  • インストルメンテーション キー: 00000000-0000-0000-0000-000000000000
  • リージョン サービスの URI は、明示的なオーバーライド値に基づきます。
    • インジェスト: https://custom.com:111/
    • ライブ メトリック: https://custom.com:222/
    • .NETのプロファイラー: https://custom.com:333/
    • デバッガー: https://custom.com:444/

明示的なリージョンを含む接続文字列

InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://southcentralus.in.applicationinsights.azure.com/

この例では、接続文字列によって米国中南部リージョンが指定されています。

  • 認証方式の既定値は "ikey" です
  • インストルメンテーション キー: 00000000-0000-0000-0000-000000000000
  • リージョン サービスの URI は、明示的なオーバーライド値に基づきます。
    • インジェスト: https://southcentralus.in.applicationinsights.azure.com/

使用できるリージョンを一覧表示するには、Azure CLI で次のコマンドを実行します。

az account list-locations -o table

接続文字列を設定する

すべての OpenTelemetry オファリングと次の SDK バージョン以降では、接続文字列がサポートされています。

  • .NET v2.12.0
  • JavaScript v2.3.0
  • NodeJS v1.5.0
  • Python v1.0.0
  • Java v3.1.1

接続文字列を設定するには、コードを使用するか、環境変数または構成ファイルを使用します。

環境変数

接続文字列: APPLICATIONINSIGHTS_CONNECTION_STRING

コード サンプル

言語 クラシックAPI OpenTelemetry
ASP.NET Core Application Insights SDK AzMon OTel Distro
.NET Framework Application Insights SDK AzMon Exporter
ジャワ N/A Java エージェント
JavaScript JavaScript (Web) SDK ローダー スクリプト N/A
Node.js Application Insights SDK AzMon OTel Distro
Python(プログラミング言語) OpenCensus Python SDK AzMon OTel Distro

よく寄せられる質問

このセクションでは、一般的な質問への回答を示します。

新しい Azure リージョンでは、接続文字列を使用する必要がありますか。

新しい Azure リージョンでは、インストルメンテーション キーの代わりに接続文字列を使用する必要があります。 接続文字列により、テレメトリ データと関連付けるリソースが識別されます。 また、リソースでテレメトリの宛先として使用するエンドポイントを変更することもできます。 接続文字列をコピーし、アプリケーションのコードまたは環境変数に追加してください。

接続文字列またはインストルメンテーション キーを使用する必要はありますか?

インストルメンテーション キーの代わりに、接続文字列を使用することをお勧めします。

環境変数を設定する必要がある場合

システムによって自動的に提供されないすべてのシナリオで、 APPLICATIONINSIGHTS_CONNECTION_STRING を手動で設定します。 これらのシナリオには、ローカル開発と、ASP.NET Core 統合を使用した .NET Isolated Functions が含まれますが、これらに限定されません。 このような場合、環境変数により、OpenTelemetry パイプラインから Application Insights にテレメトリを送信できるようになります。 環境変数を使用して接続文字列を構成する方法の詳細については、「 Application Insights での OpenTelemetry の構成」を参照してください。

FAQ: リージョンのデータ コンプライアンス要件を満たすためにグローバル Web アプリケーションをインストルメント化する方法

リージョンのデータ コンプライアンス要件を満たすには、グローバル エンドポイントではなく、リージョンの Application Insights エンドポイントを使用します。 グローバル エンドポイントでは、データが特定のリージョン内に留まるようには保証されません。 リージョン エンドポイントは、規制対象地域のユーザーからのテレメトリが、それらのリージョンのデータ センターにのみ送信されるようにするのに役立ちます。

リージョンコンプライアンス用にグローバル Web アプリケーションを構成するには:

  • 欧州連合や米国などの厳密なコンプライアンス要件を持つリージョンごとに 1 つの Application Insights リソースを作成します。
  • 他のすべてのリージョンのユーザー用に別の Application Insights リソースを作成します。
  • 各ユーザーのリージョンに基づいて適切な Application Insights リソースにテレメトリを送信するようにアプリケーションを構成します。 IP アドレス、アカウント メタデータ、場所の設定などのシグナルを使用してリージョンを決定します。
  • リージョン間で統一されたクエリ エクスペリエンスが必要な場合は、すべての Application Insights リソースを Log Analytics ワークスペースに接続します。

例えば次が挙げられます。

  • リージョン A の接続文字列を使用して、リージョン A ユーザーから Application Insights リソースにデータを送信します。
  • リージョン B の接続文字列を使用して、リージョン B ユーザーからリージョン B Application Insights リソースにデータを送信します。
  • 他のすべてのユーザー データを、別の接続文字列を使用して汎用 Application Insights リソースに送信します。

重要

グローバル エンドポイントを使用しても、リージョンのコンプライアンスは保証されません。 データ所在地の要件を満たすには、常にリージョン固有のエンドポイントを使用し、ユーザーのリージョンに基づいてテレメトリをルーティングします。

次の図は、グローバル Web アプリケーションのセットアップ例を示しています。

特定の App Insights リソースへのリージョンに基づくルーティングを示す図。

次のステップ

実行時に開始する:

開発の際に始めるには次を行ってください: