Azure Resource Managerで.NETエージェントをインストール
本項では、Azure Resource Manager(ARM)テンプレートとAzureを使用した自動化によって、.NET Frameworkおよび .NET CoreアプリケーションにContrastエージェントを組み込む最も一般的な方法について説明します。
サイト拡張機能を設定するには、ARMポリシーを使用してAzure Portalから直接行うか、AzureのREST APIを使用して行うかのどちらかのみで可能です。本項で説明する方法はすべて、このいずれかを使用します。自動デプロイは、REST APIとAzure ARMのポリシーのみで可能です。
開始する前に
.NET Frameworkや.NET Coreエージェントに対して、利用するOSやランタイムスタックが Contrastでサポートされていることを確認してください。
Contrastにログインできることを確認してください。
Contrastのサイト拡張は、バックエンドのHTTPサービスのみで設定し、WebJobやApp Serviceでは設定しないでください。
本項で説明する方法は、Dockerを使用してApp Serviceをデプロイする場合には機能しません。
手順 1:Contrastエージェントの設定ファイルをダウンロード
Contrastからエージェントの設定ファイルをダウンロードします。
Contrast Webインターフェイスで、新規登録を選択します。
「アプリケーション」のカードを選択します。
使用するエージェントを選択し、表示されている手順に従って、YAML設定ファイルをダウンロードします。
ARMテンプレートをより完全に自動化するには、ダウンロードした
contrast_security.yml
ファイルまたはContrast Webインターフェイス(ユーザメニューより組織の設定 > エージェント)からContrast APIの認証情報を取得します。認証情報は、以下のとおりです。エージェントの設定キー
Contrastでの表示名
CONTRAST__API__API_KEY
APIキー
CONTRAST__API__URL
ContrastエージェントURL
CONTRAST__API__USER_NAME
エージェントユーザ名
CONTRAST__API__SERVICE_KEY
エージエントサービスキー
手順 2:ARMテンプレートを編集
以下の例のように、強調表示されているContrastの設定値をARMテンプレートに追加します。
.NET Coreエージェント用の設定および.NET Frameworkエージェント用の設定で、その他の設定情報をご覧になれます。
.NET Core
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "sites_name": { "defaultValue": "APP_NAME", "type": "String" } }, "variables": { }, "resources": [ { "type": "Microsoft.Web/sites", "apiVersion": "2018-11-01", "name": "[parameters('sites_name')]", "location": "East US", "kind": "app", "properties": { "siteConfig": { "appSettings": [ { "name": "CONTRAST__API__API_KEY", "value": "<CONTRAST__API__API_KEY>", "slotSetting": false }, { "name": "CONTRAST__API__SERVICE_KEY", "value": "<CONTRAST__API__SERVICE_KEY>", "slotSetting": false }, { "name": "CONTRAST__API__URL", "value": "<CONTRAST__API__URL>", "slotSetting": false }, { "name": "CONTRAST__API__USER_NAME", "value": "<CONTRAST__API__USER_NAME>", "slotSetting": false }, { "name": "CORECLR_ENABLE_PROFILING", "value": "1", "slotSetting": false }, { "name": "CORECLR_PROFILER", "value": "{8B2CE134-0948-48CA-A4B2-80DDAD9F5791}", "slotSetting": false }, { "name": "CORECLR_PROFILER_PATH_32", "value": D:\\home\\SiteExtensions\\Contrast.NetCore.Azure.SiteExtension\\ContrastNetCoreAppService\\contrast\\runtimes\\win-x86\\native\\ContrastProfiler.dll", "slotSetting": false }, { "name": "CORECLR_PROFILER_PATH_64", "value": D:\\home\\SiteExtensions\\Contrast.NetCore.Azure.SiteExtension\\ContrastNetCoreAppService\\\contrast\\runtimes\\win-x64\\native\\ContrastProfiler.dll", "slotSetting": false } ] } }, "resources": [ { "name": "Contrast.NetCore.Azure.SiteExtension", "type": "siteextensions", "apiVersion": "2018-02-01", "dependsOn": [ "[resourceId('Microsoft.Web/Sites', parameters('sites_name'))]" ] } ] } ] }
.NET Framework
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "sites_name": { "defaultValue": "APP_NAME", "type": "String" } }, "variables": { }, "resources": [ { "type": "Microsoft.Web/sites", "apiVersion": "2018-11-01", "name": "[parameters('sites_name')]", "location": "East US", "kind": "app", "properties": { "siteConfig": { "appSettings": [ { "name": "CONTRAST__API__API_KEY", "value": "<CONTRAST__API__API_KEY>", "slotSetting": false }, { "name": "CONTRAST__API__SERVICE_KEY", "value": "<CONTRAST__API__SERVICE_KEY>", "slotSetting": false }, { "name": "CONTRAST__API__URL", "value": "<CONTRAST__API__URL>", "slotSetting": false }, { "name": "CONTRAST__API__USER_NAME", "value": "<CONTRAST__API__USER_NAME>", "slotSetting": false }, { "name": "COR_ENABLE_PROFILING", "value": "1", "slotSetting": false }, { "name": "COR_PROFILER", "value": "{EFEB8EE0-6D39-4347-A5FE-4D0C88BC5BC1}", "slotSetting": false }, { "name": "COR_PROFILER_PATH_32", "value": "D:\\home\\SiteExtensions\\Contrast.NET.Azure.SiteExtension\\ContrastAppService\\ContrastProfiler-32.dll", "slotSetting": false }, { "name": "COR_PROFILER_PATH_64", "value": "D:\\home\\SiteExtensions\\Contrast.NET.Azure.SiteExtension\\ContrastAppService\\ContrastProfiler-64.dll", "slotSetting": false } ] } }, "resources": [ { "name": "Contrast.NET.Azure.SiteExtension", "type": "siteextensions", "apiVersion": "2018-02-01", "dependsOn": [ "[resourceId('Microsoft.Web/Sites', parameters('sites_name'))]" ] } ] } ] }
手順 3:ARMテンプレートからアプリケーションをデプロイ
Azureのドキュメントに記載されている次のいずれかの方法を使用してください。
コマンドラインまたはCLI:Azure CLIでAzure Resource Manager(ARM)のデプロイテンプレートを使用する方法
Azure Portal:ARMテンプレートの編集とデプロイ