この記事では、Azure Container Apps で Premium イングレスを使用する方法について説明します。 Premium イングレスを使用すると、需要の高いワークロードをより適切に処理するようにイングレスをスケーリングおよび構成する方法を定義できます。
[前提条件]
リソース グループの作成
- Azure にサインインします。
az login
- Azure CLI を最新バージョンにアップグレードします。
az upgrade
- 必要なリソース プロバイダーを登録します。
az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights
- 次のコマンドを使用してリソース グループを作成します。
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
[前提条件]
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
環境のイングレスは、作成後に構成できます。
Azure portal で Container Apps 環境に移動します。
[設定] で、[ネットワーク] を選択します。
[ イングレス設定 ] タブを選択します。
次の設定に従ってイングレス設定を構成します。
Setting 価値 イングレス モード [Premium] を選択します。 ワークロード プロファイルのサイズ D4 から D32 までのサイズを選択します。 最小ノード インスタンス数 最小ワークロード プロファイル ノード インスタンスを入力します。 最大ノード インスタンス数 最大ワークロード プロファイル ノード インスタンスを入力します。 終了猶予期間 終了猶予期間を分単位で入力します。 アイドル要求タイムアウト 待機時のタイムアウトを分単位で入力します。 要求ヘッダーの数 要求ヘッダーの数を入力します。 を選択してを適用します。
監視とメトリック
イングレス メトリックは、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