エージェントインストールガイド
概要
ここでは、Terraformを使用してAzureにデプロイする際に、Contrastの.NET Frameworkエージェントおよび.NET Coreエージェントを使用する方法について紹介します。本項を参考にご利用の環境に合わせた方法で、アプリケーションにContrastエージェントをインストールし、必要に応じてチーム内で共有してください。
主な手順
- Contrastエージェントの設定を指定
- Terraformでサイト拡張を設定しアプリケーションにContrastエージェントを組み込む
サポート対象のテクノロジ
作業を開始する前に、Azure App Serviceで実行する.NET Frameworkや.NET Coreエージェントに対して、利用するOSやランタイムスタックがContrastでサポートされていることを確認してください:
.NET Frameworkエージェントのサポート対象テクノロジ
.NET Coreエージェントのサポート対象テクノロジ
本項は以下を前提としております:
- Contrastへのログインアクセスがあること
- TerraformとAzure CLIがインストールされているシステムへのコンソールアクセスがあること
- Azure CLIからのaz loginも含め、Azure Portalへのログインアクセスがあること
- これらのコマンドが実行されるシステムにPythonがインストールされていること
- これまでContrastエージェントがAzure App Serviceの一部であったこと。詳細については、関連記事を参照してください:.NETエージェントとAzure App Service
既知の問題
ContrastエージェントをAzure App Serviceにデプロイする方法はサイト拡張が最適ですが、これは、Azure Portal、ARMポリシー、またはAzure APIからのみしか設定できません。本項で説明するTerraformでの方法は、後者の2つの方法を直接または間接的に使用します。
ARMポリシーとテンプレートの使用については、こちらの関連記事をご覧ください:.NETエージェントとAzure ARM
手順
まず、アプリケーションでContrastエージェントの設定を指定します。
1. Contrastエージェントの設定
Contrastからエージェントの設定ファイルをダウンロードする必要があります。まず、Contrast UIで「エージェントの追加」を選択して、表示される手順に従って値を取得し、YAML設定ファイルをダウンロードします。
エージェントの設定には、最低限以下の値を設定することをお勧めします。使用している.NETエージェントの設定ファイルに、以下のキーと値をペアにして追加します(キーと値は正確にコピーしてください)。
.NET Frameworkエージェントの場合:
COR_ENABLE_PROFILING: 1 |
.NET Coreエージェントの場合:
CORECLR_ENABLE_PROFILING: 1 |
2. Terraformでサイト拡張を設定
サイト拡張のデプロイは、Azure PortalかAzure ARMポリシー、またはAzure APIでのみ標準でサポートされるため、Terraformはサイト拡張を追加や削除するための便利なコマンドラインメソッドです。以下の例に示すように、ARMポリシーを使用して拡張機能を設定します。
- 手順1で準備した、YAML設定ファイルを使用します。ファイル名が、contrast_security.yamlであることを確認してください。
- Terraformをこちらよりインストールします: https://www.terraform.io/downloads.html
- PyYAMLをインストールします(pip install pyyamlを使用)。
- Azure CLIツールをインストールします:https://docs.microsoft.com/ja-jp/cli/azure/install-azure-cli
- az loginを使用してAzureにログインし、認証情報がキャッシュできることを確認します。
- YAMLをパースする以下のスクリプトparseyaml.pyを使用して、ContrastのYAMLファイルから値を抜き出し、プロビジョニングされたAzure App Serviceにそれらの値を追加します。
import yaml, json |
- main.tfというTerraformのドキュメントを以下のように修正します。
provider "azurerm" { |