Azure App Service サイト拡張機能

重要 : 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 を設定する必要があります。

  1. Azure ポータルにログインします。

  2. App Services をクリックします。

  3. Web アプリを選択します。

  4. 検索ヘッダーバーで environment を検索します。

  5. Settings ヘッダーの下にある Environment variablesをクリックします。

  6. Add をクリックし、新しい App 設定を追加します。

  7. 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>
  8. Save をクリックします。

  9. サイドバーの Overview をクリックします。

  10. Stop をクリックし、次に Start をクリックして Web アプリを再起動します。

WAF サイト拡張機能をインストールする

ヒント: サイトの拡張機能のダウンロードとインストールには数分かかります。この間、サイト拡張機能がインストールされるまで、Web アプリケーションは利用できなくなるか、502エラーが表示される場合があります。

  1. Azure ポータルにログインします。

  2. App Services をクリックします。

  3. ウェブアプリを選択してください。

  4. 検索ヘッダーバーで extension を検索してください。

  5. Development Toolsヘッダーの下にある Extensions をクリックします。

  6. Add をクリックします。

  7. 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 スクリプトでも使用できます。

  1. Azure ポータルにログインしてください。

  2. App Services をクリックします。

  3. Web アプリを選択します。

  4. 検索ヘッダーバーで Console を検索します。

  5. 開発ツールのヘッダーにある Console をクリックします。

  6. Windows cmd シェルでインストールスクリプトを実行します。

    cd %SystemDrive%\home\SiteExtensions\SignalSciences.Azure.Site.Extension
    install.cmd
  7. 更新を反映させるには、ウェブアプリを再起動する必要があります。

エージェントの自動更新を有効にする

WebJob と Azure Automation Runbook を作成すると、エージェントの新しいバージョンを検索し、新しいバージョンが利用可能になったときにエージェントを更新できます。

WebJob を作成する手順 :

  1. コマンドプロンプトを使用して、次のコマンドをコピーし、Azure ポータルにアップロードされる拡張子 (*.sh) を持つ bash スクリプトをローカルに作成します。

    cd D:\\home\\SiteExtensions\\SignalSciences.Azure.Site.Extension
    ./install.bash
  2. Azure ポータルに移動します。

  3. SettingsWebJobs をクリックします。

  4. WebJobs ページから Add をクリックします。

  5. 次のようにフィールドに入力して、新しい WebJob を作成します。

    • 名前 - WebJobの名前を入力してください。

    • File Upload - Browse をクリックして、ファイル選択画面を使用してシステム上に作成した bash スクリプトに移動します。

    • Type - Triggered を選択します。

    • Triggers - Manual と入力します。

  6. WebJobを作成をクリックします。

  7. WebJobを実行して、正常に実行されることを確認してください。

Azure Automation Runbook を作成するには:

  1. Azure ポータルを使用して、Azure Automation アカウントに移動するか、アカウントをお持ちでない場合はアカウントを作成します。

  2. Account Settings で、Identity をクリックします。

  3. Azure role assignments をクリックします。

  4. Add role assignment をクリックします。

  5. 次のようにフィールドに入力して、新しいロールの割り当てを作成します。

    • スコープ - リソースグループを選択

    • リソースグループ - リソースグループを選択します。

    • Role - Contributor を選択します。

  6. Save をクリックします。

  7. Process Automation で、Runbooks をクリックします。

  8. Create a runbook をクリックします。

  9. 次のようにフィールドに入力して、新しい Runbook を作成します。

    • Name - Runbook の名前を入力します。

    • Runbook type - PowerShell を選択します。

    • Runtime version - バージョン 5.1. を選択します。

  10. Create をクリックします。

  11. 以下のコードをコピーしてエディターペインに貼り付けます。リソースグループと Web アプリの名前を必ず更新してください。

    Connect-AzAccount -Identity
    Start-AzWebAppTriggeredWebJob -ResourceGroupName MyResourceGroupName -AppName MyWebAppName -Name MyWebAppWebJobName
    Restart-AzWebApp -ResourceGroupName MyResourceGroupName -Name MyWebAppName

    注意: 更新を反映させるにはウェブアプリを再起動する必要があります。

  12. (任意) テストペインを開いてテストを実行します。

  13. Publish をクリックします。

  14. Resources で、Schedules をクリックします。

  15. Add a schedule をクリックします。

  16. スケジュールを実行ブックにリンクするには、スケジュールの追加をクリックします。

  17. スケジュールを作成するには、次のようにフィールドに入力します。

    • Name - スケジュールの名前を入力します。

    • Field name - 毎月実行する時間を設定します。

    • Recurringをクリックし、メニューからDayを選択します。

  18. Create をクリックします。

トラブルシューティング

  • 拡張機能のデバッグログ記録を有効にするには、次の環境変数 SIGSCI_MODULE_DEBUG1 に追加します。

  • KuduPlus 環境で収集された Windows イベントログを表示できます。検索ヘッダーバーで Advanced を検索すると、Advanced Tools が開発ツールの下に表示されます。

    Go をクリックし、メニューから Debug Console を選択します。

    LogFilesをクリックし、eventlog.xmlを選択します。