このページでは、ワークフロー自動化アクションカタログで利用できるAzure App Serviceアクションのリファレンスを提供します。これらのアクションを使用すると、Azure App Service Webアプリケーションの取得、一覧表示、開始、停止、および再起動をワークフロー定義から直接実行できます。これにより、コスト管理のためのスケジュールされたシャットダウン、インシデントをトリガーとする再起動、デプロイステップ前の事前チェックなどの運用ワークフローが可能になります。
前提条件
ワークフローの自動化でAzure App Serviceアクションを使用する前に、以下が準備されていることを確認してください:
- 1つ以上のApp Serviceを含むAzureサブスクリプション。
- 必要な権限を持つEntra(Azure AD)アプリの登録(サービス・プリンシパル)。
- New Relic Secrets Serviceに保存されているアプリ登録の資格情報。
Entra認証を設定する
Azure App Serviceのアクションは、Entra(Azure AD)サービスプリンシパル・クライアント資格情報OAuth2フローを使用して認証します。必要な権限はアクションによって異なります:
- Reader (閲覧者)ロール —
azure.appService.getおよびazure.appService.listに必要です。 - Contributor (コントリビューター)(または最小特権のWebsite Contributor (Webサイト・コントリビューター)) —
azure.appService.start、azure.appService.stop、およびazure.appService.restartに必要です。
Entraアプリの登録を作成します。
- Azureポータルで、Microsoft Entra ID > App registrationsに移動し、New registration [新規登録]をクリックします。
- 登録に名前を付け、Register (登録)をクリックしてください。
- アプリケーション(クライアント)IDおよびディレクトリ(テナント)IDを控えておいてください — これらは入力として必要になります。
- Certificates & secretsから、新しいクライアントシークレットを作成し、すぐにその値をコピーします。
詳細な手順については、「認証トークンを取得するためのアプリの登録」をご覧ください。
必要なロールを割り当ててください
ターゲットのApp Serviceまたはリソースグループをスコープとして、アプリの登録にReader (閲覧者)ロール(get/list用)またはContributor (共同作成者)/Website Contributor (Webサイト共同作成者)ロール(start/stop/restart用)を割り当てます。
- Azureポータルで、ターゲットのリソースグループまたはApp Serviceに移動します。
- Access control (IAM) > Add role assignmentに移動します。
- 適切なロールを選択し、アプリの登録に割り当ててください。
認証情報をシークレットとして保存
clientId、clientSecret、およびtenantIdをNew Relic Secrets Serviceに保存し、${{ :secrets:keyName }}構文を使用してワークフローYAMLでそれらを参照します:
clientId: ${{ :secrets:azure-client-id }}clientSecret: ${{ :secrets:azure-client-secret }}tenantId: ${{ :secrets:azure-client-tenant }}利用可能なAzure App Serviceアクション
以下の表に、利用可能な Azure App Service アクションとそのリファレンスページへのリンクを示します。
アクション名 | 説明 |
|---|---|
Azure App Service Webアプリケーションの詳細と現在の状態を取得します。 | |
リソースグループ内のAzure App ServiceのWebアプリケーションを一覧表示します。 | |
停止しているAzure App Service Webアプリケーションを開始します。 | |
実行中のAzure App Service Webアプリケーションを停止します。 | |
Azure App ServiceのWebアプリケーションを再起動します。 |