🦖

Azure CLIを使用したAzure App Service Environment (ASE) の管理

2024/07/25に公開

To access the English version of this article, click here.

1. この記事の範囲

この記事では、Azure CLIを使用して、ASEに関連する情報を取得する具体的なコマンドとその使用方法を紹介します。

2. 内容

Azure App Service Environment (ASE) の情報取得

特定のApp Service Environmentの詳細情報を取得するには、az appservice ase show コマンドを使用します。

az appservice ase show --name <ASE_NAME> --resource-group <RESOURCE_GROUP>

出力例:

指定されたASEの詳細情報を返します。各ASEのID、名前、ロケーション、サブネット、内部ロードバランサー、仮想ネットワーク、ステータス、スケーリング設定などが含まれます。

{
  "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/hostingEnvironments/<ASE_NAME>", // ASEのID
  "name": "<ASE_NAME>", // ASEの名前
  "location": "japaneast", // リージョン
  "status": "Ready", // ステータス
  "vnetName": "<VNET_NAME>", // 仮想ネットワーク名
  "vnetResourceGroupName": "<VNET_RESOURCE_GROUP>", // 仮想ネットワークリソースグループ
  "virtualNetwork": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<VNET_RESOURCE_GROUP>/providers/Microsoft.Network/virtualNetworks/<VNET_NAME>", // 仮想ネットワークID
  "subnet": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<VNET_RESOURCE_GROUP>/providers/Microsoft.Network/virtualNetworks/<VNET_NAME>/subnets/<SUBNET_NAME>", // サブネットID
  "internalLoadBalancingMode": "Web, Publishing", // 内部ロードバランサーモード
  "ipSslAddressCount": 2, // IP SSLアドレスの数
  "outboundIpAddresses": [ // アウトバウンドIPアドレス
    "52.164.132.1",
    "52.164.132.2"
  ],
  "defaultFrontEndScaleFactor": 15, // デフォルトのフロントエンドスケールファクター
  "suspended": false // 一時停止中かどうか
}

App Serviceプランの詳細情報

特定のホスティング環境に関連するApp Serviceプランをフィルタリングしてリストし、詳細情報を取得します。az appservice plan list コマンドを使用します。

az appservice plan list --query "[?hostingEnvironmentProfile.name=='<HOSTING_ENVIRONMENT_NAME>']"

出力例:

各プランの詳細には、ID、名前、ロケーション、SKU情報、およびホスティング環境プロファイルなどが含まれます。

[
  {
    "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/serverfarms/<PLAN_NAME>", // App ServiceプランのID
    "name": "<PLAN_NAME>", // App Serviceプランの名前
    "location": "japaneast", // リージョン
    "sku": {
      "name": "P1V2", // SKUの名前
      "tier": "PremiumV2", // SKUのティア
      "size": "P1", // SKUのサイズ
      "family": "Pv2", // SKUのファミリー
      "capacity": 1 // インスタンスの数
    },
    "hostingEnvironmentProfile": {
      "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/hostingEnvironments/<HOSTING_ENVIRONMENT_NAME>" // ホスティング環境のプロファイルID
    },
    "resourceGroup": "<RESOURCE_GROUP>" // リソースグループ名
  }
]

Webアプリケーションのリスト

特定のホスティング環境に関連するWebアプリケーションのリストを取得するには、az webapp list コマンドを使用します。

az webapp list --query "[?hostingEnvironmentProfile.name=='<HOSTING_ENVIRONMENT_NAME>']"

出力例:

指定されたホスティング環境に関連するWebアプリケーションのリストを返します。各アプリケーションの詳細には、ID、名前、ロケーション、リソースグループ、およびデフォルトのホスト名が含まれます。

[
  {
    "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/sites/<WEBAPP_NAME>", // WebアプリケーションのID
    "name": "<WEBAPP_NAME>", // Webアプリケーションの名前
    "location": "japaneast", // リージョン
    "resourceGroup": "<RESOURCE_GROUP>", // リソースグループ名
    "defaultHostName": "<WEBAPP_NAME>.azurewebsites.net" // デフォルトホスト名
  }
]

アプリケーションの構成

Webアプリケーションの構成を確認するには、az webapp show コマンドを使用します。

az webapp show --name <WEBAPP_NAME> --resource-group <RESOURCE_GROUP>

出力例:

指定されたWebアプリケーションの詳細情報を返します。アプリケーションの状態、デフォルトホスト名、使用状態、SSL状態などの情報が含まれます。

{
  "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/sites/<WEBAPP_NAME>", // WebアプリケーションのID
  "name": "<WEBAPP_NAME>", // Webアプリケーションの名前
  "state": "Running", // アプリケーションの状態
  "defaultHostName": "<WEBAPP_NAME>.azurewebsites.net", // デフォルトホスト名
  "repositorySiteName": "<WEBAPP_NAME>", // リポジトリサイト名
  "usageState": "Normal", // 使用状態
  "enabled": true, // 有効かどうか
  "enabledHostNames": [
    "<WEBAPP_NAME>.azurewebsites.net", // 有効なホスト名
    "<WEBAPP_NAME>.scm.azurewebsites.net" // 有効なホスト名(SCMサイト)
  ],
  "hostNameSslStates": [
    {
      "name": "<WEBAPP_NAME>.azurewebsites.net", // ホスト名
      "sslState": "Disabled" // SSL状態
    }
  ],
  "serverFarmId": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Web/serverfarms/<PLAN_NAME>" // サーバーファームID
}

Webアプリケーションの接続文字列

Webアプリケーションの接続文字列を一覧するには、az webapp config connection-string list コマンドを使用します。

az webapp config connection-string list --name <WEBAPP_NAME> --resource-group <RESOURCE_GROUP>

出力例:

指定されたWebアプリケーションの接続文字列を返します。接続文字列のタイプと値が含まれます。

{
  "SQLAzure": {
    "type": "SQLAzure", // 接続文字列のタイプ
    "value": "Server=tcp:<SERVER_NAME>.database.windows.net,1433;Database=<DATABASE_NAME>;User ID=<USER_ID>@<SERVER_NAME>;Password=<PASSWORD>;Encrypt=true;Connection Timeout=30;" // 接続文字列の値
  }
}

VNet構成

仮想ネットワークの構成を確認には、az network vnet listaz network vnet subnet list コマンドを使用します。

指定されたリソースグループ内の仮想ネットワークのリストを表形式で返します。各VNetの名前、リージョン、およびリソースグループが表示されます。

az network vnet list --resource-group <RESOURCE_GROUP> --output table

出力例:

Name                Location    ResourceGroup
------------------  ----------  ----------------
sample-vnet   japaneast   sample-rg

指定された仮想ネットワーク内のサブネットのリストを返します。各サブネットの名前、ID、アドレスプレフィックスなどの情報が含まれます。

az network vnet subnet list --resource-group <RESOURCE_GROUP> --vnet-name <VNET_NAME>

出力例:

[
  {
    "name": "default", // サブネットの名前
    "id": "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Network/virtualNetworks/<VNET_NAME>/subnets/default", // サブネットのID
    "addressPrefix": "10.0.0.0/24", // アドレスプレフィックス
    "networkSecurityGroup": null, // ネットワークセキュリティグループ


    "routeTable": null // ルートテーブル
  }
]

3. まとめ

以上のコマンドを使用することで、Azure App Service Environmentでホストされているアプリケーションの詳細情報を簡単に取得できます。これらのコマンドを活用して、環境の管理やトラブルシューティングを効率的に行えます。

Discussion