Azure App Service サイト拡張機能
- English
- 日本語
重要 : Azure App Service 用の Next-Gen WAF サイト拡張機能は、Azure Functions をサポートしていません。
Azure サイト拡張機能は、Azure App Service でホストされている IIS Web アプリケーションに Next-Gen WAF を追加します。
Azure サイト拡張機能は、Next-Gen WAF エージェントと IIS モジュールをダウンロードしてインストールします。この拡張機能はまた、XML 変換ファイル applicationHost.xdt を生成することで、IIS モジュールを Azure App Service の IIS Web サーバーに登録します。XML 変換は現在、IIS 設定ファイル applicationHost.config を編集する唯一の方法です。
IIS 用の Next-Gen WAF エージェントとモジュールは、環境変数を使用して設定されます。環境変数は、Azure ポータルの Web アプリ設定にて設定されます。
モジュールとエージェントのバイナリは、ダウンロードした zip ファイルから派生した名前で、App Service 環境内のディレクトリに抽出されます。サイトが実行中の場合、エージェントとモジュールのバイナリは削除できません。
前提条件
エージェントにアクセスさせたいサイトのエージェントキーをコピーします。エージェントキーは、Next-Gen WAF エージェントパッケージを設定する際に使用します。
Access Keys 設定
Next-Gen WAF サイト拡張機能を追加する前に、まず https://portal.azure.com/ のアプリケーション設定で環境変数を設定して、Next-Gen WAF エージェントの Access Key と Secret Key を設定する必要があります。
Azure ポータルにログインします。
App Services をクリックします。
Web アプリを選択します。
検索ヘッダーバーで
environmentを検索します。Settings ヘッダーの下にある Environment variablesをクリックします。
Add をクリックし、新しい App 設定を追加します。
New Application Setting メニューページで、サイト (ワークスペース) のエージェントキーを2つの名前/値ペアとして追加します。
$ Name: SIGSCI_ACCESSKEYID$ Value: <accesskeyid from the Next-Gen WAF control panel>$ Name: SIGSCI_SECRETACCESSKEY$ Value:<secretaccesskey from the Next-Gen WAF control panel>複数の Web アプリに同じエージェントキーを使用する場合は、必要に応じて次の変数を追加して一意のエージェント名を指定します。
$ Name: SIGSCI_SERVER_HOSTNAME$ Value: <unique value/name for the agent>Save をクリックします。
サイドバーの Overview をクリックします。
Stop をクリックし、次に Start をクリックして Web アプリを再起動します。
WAF サイト拡張機能をインストールする
ヒント: サイトの拡張機能のダウンロードとインストールには数分かかります。この間、サイト拡張機能がインストールされるまで、Web アプリケーションは利用できなくなるか、
502エラーが表示される場合があります。
Azure ポータルにログインします。
App Services をクリックします。
ウェブアプリを選択してください。
検索ヘッダーバーで
extensionを検索してください。Development Toolsヘッダーの下にある Extensions をクリックします。
Add をクリックします。
Add site extension メニュー内で Signal Sciences WAF をフィルタリングし、追加することを承認します。
WAF サイト拡張機能を管理する
WAFサイト拡張を管理する際は、次の手順に従ってください。
Next-Gen WAF エージェントとモジュールをアップグレードする
Next-Gen WAF エージェントとモジュールをアップグレードする方法は 2 通りあります。
拡張機能を再インストールする
Azure CLI を使用する
WAF サイト拡張機能を再インストールする
Azure ポータルで、WAF サイト拡張機能を削除して再インストールします。拡張機能を再インストールすると、最新バージョンの Next-Gen WAF エージェントと IIS モジュールがダウンロードおよびインストールされます。
Azure CLI を使用する
Azure CLI を開き、サイト拡張機能ディレクトリの install.cmd スクリプトを実行します。この方法は、複数のエージェントのアップグレードを自動化する PowerShell スクリプトでも使用できます。
Azure ポータルにログインしてください。
App Services をクリックします。
Web アプリを選択します。
検索ヘッダーバーで
Consoleを検索します。開発ツールのヘッダーにある Console をクリックします。
Windows
cmdシェルでインストールスクリプトを実行します。cd %SystemDrive%\home\SiteExtensions\SignalSciences.Azure.Site.Extensioninstall.cmd更新を反映させるには、ウェブアプリを再起動する必要があります。
エージェントの自動更新を有効にする
WebJob と Azure Automation Runbook を作成すると、エージェントの新しいバージョンを検索し、新しいバージョンが利用可能になったときにエージェントを更新できます。
WebJob を作成する手順 :
コマンドプロンプトを使用して、次のコマンドをコピーし、Azure ポータルにアップロードされる拡張子 (*.sh) を持つ bash スクリプトをローカルに作成します。
cd D:\\home\\SiteExtensions\\SignalSciences.Azure.Site.Extension./install.bashAzure ポータルに移動します。
Settings の WebJobs をクリックします。
WebJobs ページから Add をクリックします。
次のようにフィールドに入力して、新しい WebJob を作成します。
名前 - WebJobの名前を入力してください。
File Upload - Browse をクリックして、ファイル選択画面を使用してシステム上に作成した bash スクリプトに移動します。
Type - Triggered を選択します。
Triggers - Manual と入力します。
WebJobを作成をクリックします。
WebJobを実行して、正常に実行されることを確認してください。
Azure Automation Runbook を作成するには:
Azure ポータルを使用して、Azure Automation アカウントに移動するか、アカウントをお持ちでない場合はアカウントを作成します。
Account Settings で、Identity をクリックします。
Azure role assignments をクリックします。
Add role assignment をクリックします。
次のようにフィールドに入力して、新しいロールの割り当てを作成します。
スコープ - リソースグループを選択
リソースグループ - リソースグループを選択します。
Role - Contributor を選択します。
Save をクリックします。
Process Automation で、Runbooks をクリックします。
Create a runbook をクリックします。
次のようにフィールドに入力して、新しい Runbook を作成します。
Name - Runbook の名前を入力します。
Runbook type - PowerShell を選択します。
Runtime version - バージョン 5.1. を選択します。
Create をクリックします。
以下のコードをコピーしてエディターペインに貼り付けます。リソースグループと Web アプリの名前を必ず更新してください。
Connect-AzAccount -IdentityStart-AzWebAppTriggeredWebJob -ResourceGroupName MyResourceGroupName -AppName MyWebAppName -Name MyWebAppWebJobNameRestart-AzWebApp -ResourceGroupName MyResourceGroupName -Name MyWebAppName注意: 更新を反映させるにはウェブアプリを再起動する必要があります。
(任意) テストペインを開いてテストを実行します。
Publish をクリックします。
Resources で、Schedules をクリックします。
Add a schedule をクリックします。
スケジュールを実行ブックにリンクするには、スケジュールの追加をクリックします。
スケジュールを作成するには、次のようにフィールドに入力します。
Name - スケジュールの名前を入力します。
Field name - 毎月実行する時間を設定します。
Recurringをクリックし、メニューからDayを選択します。
Create をクリックします。
トラブルシューティング
拡張機能のデバッグログ記録を有効にするには、次の環境変数 SIGSCI_MODULE_DEBUG を
1に追加します。KuduPlus 環境で収集された Windows イベントログを表示できます。検索ヘッダーバーで
Advancedを検索すると、Advanced Toolsが開発ツールの下に表示されます。Go をクリックし、メニューから Debug Console を選択します。
LogFilesをクリックし、eventlog.xmlを選択します。