Skip to main content

Azure Resource Managerで.NETエージェントをインストール

本項では、Azure Resource Manager(ARM)テンプレートとAzureを使用した自動化によって、.NET Frameworkおよび .NET CoreアプリケーションにContrastエージェントを組み込む最も一般的な方法について説明します。

サイト拡張機能を設定するには、ARMポリシーを使用してAzure Portalから直接行うか、AzureのREST APIを使用して行うかのどちらかのみで可能です。本項で説明する方法はすべて、このいずれかを使用します。自動デプロイは、REST APIとAzure ARMのポリシーのみで可能です。

開始する前に

手順 1:Contrastエージェントの設定ファイルをダウンロード

  1. Contrastからエージェントの設定ファイルをダウンロードします。

    1. Contrast Webインターフェイスで、新規登録を選択します。

    2. 「アプリケーション」のカードを選択します。

    3. 使用するエージェントを選択し、表示されている手順に従って、YAML設定ファイルをダウンロードします。

  2. 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のドキュメントに記載されている次のいずれかの方法を使用してください。