次の方法で共有


Azure Container Apps で Premium イングレスを使用する

この記事では、Azure Container Apps で Premium イングレスを使用する方法について説明します。 Premium イングレスを使用すると、需要の高いワークロードをより適切に処理するようにイングレスをスケーリングおよび構成する方法を定義できます。

[前提条件]

  • アクティブなサブスクリプションが含まれる Azure アカウント。
  • Azure CLI をインストールします。

リソース グループの作成

  1. Azure にサインインします。
az login
  1. Azure CLI を最新バージョンにアップグレードします。
az upgrade
  1. 必要なリソース プロバイダーを登録します。
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
  1. 次のコマンドを使用してリソース グループを作成します。
az group create --name my-container-apps --location centralus

環境を作成する

コンテナー アプリ環境を作成するには、次のコマンドを実行します。

az containerapp env create \
  --name my-container-apps-env \
  --resource-group my-resource-group \
  --location centralus

ワークロード プロファイルの構成

ワークロード プロファイルを環境に追加します (Premium イングレスに必要)。

az containerapp env workload-profile add \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --workload-profile-type D4 \

Premium イングレスを使用するには、ワークロード プロファイルに少なくとも 2 つのノードが必要です。

Premium イングレスを構成する

次のコマンドを使用して、環境に Premium イングレス設定を追加します。

az containerapp env premium-ingress add \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --termination-grace-period 500 \
  --request-idle-timeout 4 \
  --header-count-limit 100

次の表では、Container Apps 環境の Premium イングレス設定を構成するときに設定できるパラメーターについて説明します。

パラメーター Description 既定値 最小値 最大値
termination-grace-period イングレスを終了する前にアクティブな接続を閉じるために許可されている時間 (秒単位)。 n/a 0 60
request-idle-limit 要求が切断されるまでのアイドル状態の最大時間(分単位)。 4 4 30
header-count-limit 要求ごとに許可される HTTP ヘッダーの最大数。 100 1 n/a

構成すると、先ほど適用した設定の出力が表示されます。

{
  "headerCountLimit": 100,
  "requestIdleTimeout": 4,
  "terminationGracePeriodSeconds": 500,
  "workloadProfileName": "Ingress-D4"
}

Premium イングレスの更新と管理

環境の Premium イングレス設定を更新するには、次のコマンドを実行します。

az containerapp env premium-ingress update \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4 \
  --termination-grace-period 500 \
  --request-idle-timeout 4 \
  --header-count-limit 100

環境の Premium イングレス設定を表示するには、次のコマンドを実行します。

az containerapp env premium-ingress show \
  --resource-group my-resource-group \
  --name my-container-apps-env

環境の Premium イングレス設定を削除するには、次のコマンドを実行します。

az containerapp env premium-ingress remove \
  --resource-group my-resource-group \
  --name my-container-apps-env

環境からワークロード プロファイルを削除するには、次のコマンドを実行します。

az containerapp env workload-profile delete \
  --resource-group my-resource-group \
  --name my-container-apps-env \
  --workload-profile-name Ingress-D4

[前提条件]

  • アクティブなサブスクリプションが含まれる Azure アカウント。
  • Azure CLI をインストールします。
  • Bicep のインストール

Bicep を使用したデプロイ

次の Bicep ファイルを作成し、 ingress.bicepとして保存します。

resource containerAppsEnvironment 'Microsoft.App/managedEnvironments@2025-07-01' = {
  name: 'my-container-app-env'
  location: 'centralus'
  tags: tags
  properties: {
    workloadProfiles: [
      {
        name: 'Ingress-D4'
        workloadProfileType: 'D4'
        minimumCount: 2
        maximumCount: 4
      }
    ]
    ingressConfiguration: {
      workloadProfileName: 'Ingress-D4'
      terminationGracePeriodSeconds: 600
      headerCountLimit: 101
      requestIdleTimeout: 5
    }
  }
}              

この手順では、次の設定を含む Premium イングレス構成で Container Apps 環境をデプロイします。

名前 Description
name Premium イングレスに使用されるワークロード プロファイルの名前。
workloadProfileType スケーリングとリソース割り当てのワークロード プロファイルの種類/サイズ (D4 など)。
minimumCount ワークロード プロファイルのインスタンスの最小数。 最小: 2。
maximumCount ワークロード プロファイルのインスタンスの最大数。 最大: 50。
workloadProfileName イングレス構成に関連付けられているワークロード プロファイル名。
terminationGracePeriodSeconds イングレスを終了する前にアクティブな接続を閉じるために許可されている時間 (秒単位)。 最小: 0、最大: 60。
headerCountLimit 要求ごとに許可される HTTP ヘッダーの最大数。 既定値: 100、最小: 1。
requestIdleTimeout 要求が切断されるまでのアイドル状態の最大時間(分単位)。 既定値: 4、最小: 4、最大: 30。

Azure にデプロイ

ingress.bicep ファイルを保存したディレクトリに移動し、次のコマンドを実行して Bicep ファイルをデプロイします。

# Login to Azure (if not already logged in)
azd auth login

# Provision and deploy the infrastructure
azd up

デプロイを管理する

次のコマンドを使用して、コンテナー アプリの状態とログを表示します。

# Check deployment status
azd show

# Clean up all resources
azd down

# View deployment logs
azd logs

環境のイングレスは、作成後に構成できます。

  1. Azure portal で Container Apps 環境に移動します。

  2. [設定] で、[ネットワーク] を選択します。

  3. [ イングレス設定 ] タブを選択します。

  4. 次の設定に従ってイングレス設定を構成します。

    Setting 価値
    イングレス モード [Premium] を選択します。
    ワークロード プロファイルのサイズ D4 から D32 までのサイズを選択します。
    最小ノード インスタンス数 最小ワークロード プロファイル ノード インスタンスを入力します。
    最大ノード インスタンス数 最大ワークロード プロファイル ノード インスタンスを入力します。
    終了猶予期間 終了猶予期間を分単位で入力します。
    アイドル要求タイムアウト 待機時のタイムアウトを分単位で入力します。
    要求ヘッダーの数 要求ヘッダーの数を入力します。
  5. を選択してを適用します。

監視とメトリック

イングレス メトリックは、Container Apps 環境インスタンスの Azure portal を使用して使用できます。 [監視][メトリック] を選びます。 これらのメトリックは、既定または Premium イングレスが有効になっている状態で使用できます。 追加のメトリックが進行中です。

  • イングレス CPU 使用率
  • イングレス メモリ使用量バイト数

ベンチマークでは、イングレスは CPU コアあたり 1 秒あたり約 3,000 件の要求を処理できることを示していますが、その容量はアプリケーションの使用状況によって異なります。 メモリがボトルネックになる傾向があるのは、アプリケーションが要求を受信する時間が、環境が処理できる速度よりも速く、要求がイングレス 層でキューに入れられていった場合のみです。

各モードでイングレスに割り当てられるリソースは次のとおりです。

Mode 事例 CPU 記憶 CPU スケールのしきい値 メモリ スケールのしきい値
デフォルト 2-10 1 コア 2 GB 75% 50%
プレミアム ノードごとに 1 つ (最小 2) ノード コアの 90% ノード メモリの 90% ノード コアの 50% ノードメモリの50%

リソースをクリーンアップする

このアプリケーションの使用を継続しない場合は、次のコマンドを実行して、このクイックスタートで作成したすべてのリソースと共にリソース グループを削除します。

注意事項

次のコマンドを実行すると、指定されたリソース グループとそれに含まれるすべてのリソースが削除されます。 このクイック スタートの範囲外のリソースが指定されたリソース グループに存在する場合は、それらのリソースも削除されます。

az group delete --name my-container-apps