次の方法で共有


Microsoft.App containerApps 2025-07-01

Bicep リソース定義

containerApps リソースの種類は、次を対象とする操作と共にデプロイできます。

各 API バージョンで変更されたプロパティの一覧については、「変更ログ」を参照してください。

リソース形式

Microsoft.App/containerApps リソースを作成するには、次の Bicep をテンプレートに追加します。

resource symbolicname 'Microsoft.App/containerApps@2025-07-01' = {
  scope: resourceSymbolicName or scope
  extendedLocation: {
    name: 'string'
    type: 'string'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  kind: 'string'
  location: 'string'
  managedBy: 'string'
  name: 'string'
  properties: {
    configuration: {
      activeRevisionsMode: 'string'
      dapr: {
        appHealth: {
          enabled: bool
          path: 'string'
          probeIntervalSeconds: int
          probeTimeoutMilliseconds: int
          threshold: int
        }
        appId: 'string'
        appPort: int
        appProtocol: 'string'
        enableApiLogging: bool
        enabled: bool
        httpMaxRequestSize: int
        httpReadBufferSize: int
        logLevel: 'string'
        maxConcurrency: int
      }
      identitySettings: [
        {
          identity: 'string'
          lifecycle: 'string'
        }
      ]
      ingress: {
        additionalPortMappings: [
          {
            exposedPort: int
            external: bool
            targetPort: int
          }
        ]
        allowInsecure: bool
        clientCertificateMode: 'string'
        corsPolicy: {
          allowCredentials: bool
          allowedHeaders: [
            'string'
          ]
          allowedMethods: [
            'string'
          ]
          allowedOrigins: [
            'string'
          ]
          exposeHeaders: [
            'string'
          ]
          maxAge: int
        }
        customDomains: [
          {
            bindingType: 'string'
            certificateId: 'string'
            name: 'string'
          }
        ]
        exposedPort: int
        external: bool
        ipSecurityRestrictions: [
          {
            action: 'string'
            description: 'string'
            ipAddressRange: 'string'
            name: 'string'
          }
        ]
        stickySessions: {
          affinity: 'string'
        }
        targetPort: int
        traffic: [
          {
            label: 'string'
            latestRevision: bool
            revisionName: 'string'
            weight: int
          }
        ]
        transport: 'string'
      }
      maxInactiveRevisions: int
      registries: [
        {
          identity: 'string'
          passwordSecretRef: 'string'
          server: 'string'
          username: 'string'
        }
      ]
      runtime: {
        java: {
          enableMetrics: bool
        }
      }
      secrets: [
        {
          identity: 'string'
          keyVaultUrl: 'string'
          name: 'string'
          value: 'string'
        }
      ]
      service: {
        type: 'string'
      }
    }
    environmentId: 'string'
    managedEnvironmentId: 'string'
    template: {
      containers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          name: 'string'
          probes: [
            {
              failureThreshold: int
              httpGet: {
                host: 'string'
                httpHeaders: [
                  {
                    name: 'string'
                    value: 'string'
                  }
                ]
                path: 'string'
                port: int
                scheme: 'string'
              }
              initialDelaySeconds: int
              periodSeconds: int
              successThreshold: int
              tcpSocket: {
                host: 'string'
                port: int
              }
              terminationGracePeriodSeconds: int
              timeoutSeconds: int
              type: 'string'
            }
          ]
          resources: {
            cpu: int
            memory: 'string'
          }
          volumeMounts: [
            {
              mountPath: 'string'
              subPath: 'string'
              volumeName: 'string'
            }
          ]
        }
      ]
      initContainers: [
        {
          args: [
            'string'
          ]
          command: [
            'string'
          ]
          env: [
            {
              name: 'string'
              secretRef: 'string'
              value: 'string'
            }
          ]
          image: 'string'
          name: 'string'
          resources: {
            cpu: int
            memory: 'string'
          }
          volumeMounts: [
            {
              mountPath: 'string'
              subPath: 'string'
              volumeName: 'string'
            }
          ]
        }
      ]
      revisionSuffix: 'string'
      scale: {
        cooldownPeriod: int
        maxReplicas: int
        minReplicas: int
        pollingInterval: int
        rules: [
          {
            azureQueue: {
              accountName: 'string'
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              queueLength: int
              queueName: 'string'
            }
            custom: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              metadata: {
                {customized property}: 'string'
              }
              type: 'string'
            }
            http: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              metadata: {
                {customized property}: 'string'
              }
            }
            name: 'string'
            tcp: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              identity: 'string'
              metadata: {
                {customized property}: 'string'
              }
            }
          }
        ]
      }
      serviceBinds: [
        {
          name: 'string'
          serviceId: 'string'
        }
      ]
      terminationGracePeriodSeconds: int
      volumes: [
        {
          mountOptions: 'string'
          name: 'string'
          secrets: [
            {
              path: 'string'
              secretRef: 'string'
            }
          ]
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
    workloadProfileName: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

プロパティ値

Microsoft.App/containerApps

名前 Description 価値
extendedLocation 拡張された場所の複合型。 ExtendedLocation
ID コード内のシークレットや資格情報を維持することなく、他の Azure サービスと対話するための Container App のマネージド ID。 ManagedServiceIdentity
kind コンテナー アプリの種類を表すメタデータで、コンテナー アプリが workflowapp か functionapp かを表します。 '関数アプリ'
「ワークフローアプリ」
位置 リソースが存在する地理的な場所 string (必須)
managedBy このリソースを管理するリソースの完全修飾リソース ID。 このリソースが別の Azure リソースによって管理されているかどうかを示します。 これが存在する場合、完全モードのデプロイでは、別のリソースによって管理されているため、テンプレートから削除された場合、リソースは削除されません。 文字列
名前 リソース名 string (必須)
プロパティ ContainerApp リソース固有のプロパティ コンテナAppProperties
スコープ デプロイ スコープとは異なるスコープでリソースを作成するときに使用します。 このプロパティをリソースのシンボリック名に設定して、拡張リソースを適用します。
tags リソース タグ タグ名と値のディクショナリ。 「テンプレート内のタグ」を参照してください

コンフィギュレーション

名前 Description 価値
アクティブリビジョンモード ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。
<リスト><アイテム>複数のリビジョンをアクティブにすることができます。</item><項目>単一: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません。 値が指定されていない場合は、これが既定値です。/list<></item を>する
「複数」
「シングル」
Daprフレームワーク コンテナー アプリの Dapr 構成。 Dapr の
identitySettings (アイデンティティ設定) コンテナー アプリに割り当てられているマネージド ID のオプション設定。 ここでマネージド ID が指定されていない場合は、既定の設定が使用されます。 IdentitySettings[]
イングレス イングレス構成。 イングレス
maxInactiveRevisionsの Optional. コンテナー アプリで使用できる非アクティブなリビジョンの最大数。 整数 (int)
registries コンテナー アプリによって使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション レジストリ資格情報[]
ランタイム コンテナー アプリのアプリ ランタイム構成。 ランタイム
secrets コンテナー アプリによって使用されるシークレットのコレクション シークレット[]
サービス コンテナー アプリを開発用 Container App Service にする サービス

コンテナ

名前 Description 価値
引数 コンテナーの開始コマンド引数。 string[]
命令 コンテナーの開始コマンド。 string[]
env コンテナー環境変数。 EnvironmentVar[]
イメージ コンテナー イメージ タグ。 文字列
名前 カスタム コンテナー名。 文字列
probes コンテナーのプローブの一覧。 コンテナAppプローブ[]
resources コンテナー リソースの要件。 ContainerResources の
ボリュームマウント コンテナー ボリュームのマウント。 ボリュームマウント[]

コンテナ・アプリケーション・プローブ

名前 Description 価値
failureThreshold(失敗しきい値) 成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最小値は 1 です。 最大値は 10 です。 整数 (int)
httpゲット HTTPGet は、実行する http 要求を指定します。 ContainerAppProbeHttpGet の
initialDelaySeconds (初期遅延秒) コンテナーの起動後、liveness probe が開始するまでの秒数。 最小値は 1 です。 最大値は 60 です。 整数 (int)
period秒 プローブを実行する頻度 (秒単位)。 既定値は 10 秒です。 最小値は 1 です。 最大値は 240 です。 整数 (int)
successThreshold(成功のしきい値) 失敗した後にプローブが成功したと見なされる最小連続成功数。 デフォルト値は 1 です。 ライブ性と起動には 1 にする必要があります。 最小値は 1 です。 最大値は 10 です。 整数 (int)
tcpSocketの TCPSocket は、TCP ポートに関連するアクションを指定します。 TCP フックはまだサポートされていません。 ContainerAppProbeTcpSocket の
terminationGracePeriodSeconds プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 整数 (int)
timeoutSeconds プローブがタイムアウトする秒数。既定値は 1 秒です。 最小値は 1 です。 最大値は 240 です。 整数 (int)
プローブの種類。 「ライブネス」
「準備」
「スタートアップ」

ContainerAppProbeHttpGet

名前 Description 価値
ホスティング 接続先のホスト名。既定ではポッド IP が使用されます。 代わりに httpHeaders で "Host" を設定することをお考えでしょう。 文字列
HTTPヘッダー 要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返し使用できます。 ContainerAppProbeHttpGetHttpヘッダーアイテム[]
パス HTTP サーバー上のアクセスのパス。 文字列
ポート コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 int (必須)
scheme ホストへの接続に使用するスキーム。 既定値は HTTP です。 「HTTP」
「HTTPS」

ContainerAppProbeHttpGetHttpHeadersItem

名前 Description 価値
名前 ヘッダー フィールド名 string (必須)
value ヘッダー フィールドの値 string (必須)

ContainerAppProbeTcpSocket

名前 Description 価値
ホスティング 省略可能: 接続先のホスト名。既定ではポッド IP が使用されます。 文字列
ポート コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 int (必須)

コンテナAppProperties

名前 Description 価値
構成 バージョン管理されていない Container App 構成プロパティ。 Configuration
environmentId 環境のリソース ID。 文字列
managedEnvironmentId の Deprecated. コンテナー アプリの環境のリソース ID。 文字列
テンプレート コンテナー アプリのバージョン管理されたアプリケーション定義。 Template
ワークロードプロファイル名 コンテナー アプリの実行にピン留めするワークロード プロファイル名。 文字列

コンテナリソース

名前 Description 価値
cpu コアで必要な CPU (例: 0.5) 整数 (int)
メモリ 必要なメモリ (例: "250Mb" ) 文字列

CorsPolicy(コルスポリシー)

名前 Description 価値
allowCredentials リソースで資格情報を許可するかどうかを指定します ブール (bool)
allowedヘッダー access-control-allow-headers ヘッダーの内容を指定します string[]
allowedメソッド access-control-allow-methods ヘッダーの内容を指定します string[]
allowedOrigins access-control-allow-origins ヘッダーのコンテンツを指定します string[] (必須)
exposeヘッダー access-control-expose-headers ヘッダーのコンテンツを指定します string[]
maxAge access-control-max-age ヘッダーのコンテンツを指定します 整数 (int)

カスタムドメイン

名前 Description 価値
バインディングタイプ カスタム ドメイン バインドの種類。 「オート」
「無効」
「SniEnabled」
証明書ID このホスト名にバインドする証明書のリソース ID。 マネージド環境に存在する必要があります。 文字列
名前 ホスト名。 string (必須)

CustomScaleRule

名前 Description 価値
auth カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ カスタム スケール ルールを記述するメタデータ プロパティ。 CustomScaleRuleMetadata を する
カスタム スケール ルールの種類
例: azure-servicebus、redis など。
文字列

CustomScaleRuleメタデータ

名前 Description 価値

Dapr

名前 Description 価値
appHealthの Dapr アプリケーションの正常性チェックの構成 DaprAppHealthの
アプリID Dapr アプリケーション識別子 文字列
アプリケーションポート アプリケーションがリッスンしているポートを Dapr に通知します 整数 (int)
appプロトコル アプリケーションが使用しているプロトコルを Dapr に通知します。 有効なオプションは http と grpc です。 既定値は http です 'grpc'
「http」
enableApiロギング Dapr サイドカーの API ログ記録を有効にします ブール (bool)
enabled Dapr 側の車が有効かどうかを示すブール値 ブール (bool)
httpMaxRequestSize(英語) 大きなファイルのアップロードを処理するために、要求本文 http および grpc サーバーパラメーターの最大サイズを MB 単位で増やします。 既定値は 4 MB です。 整数 (int)
httpReadBufferSize (英語) マルチ KB ヘッダーを送信するときに処理する http ヘッダー読み取りバッファーの最大サイズ (KB 単位)。 既定値は 65 KB です。 整数 (int)
ログレベル Dapr サイドカーのログ レベルを設定します。 使用できる値は、デバッグ、情報、警告、エラーです。 既定値は info です。 'デバッグ'
'エラー'
'情報'
「警告」
maxConcurrency Dapr サイドカーによって処理される同時要求、イベントの最大数 整数 (int)

DaprAppHealthの

名前 Description 価値
enabled 正常性プローブが有効になっているかどうかを示すブール値 ブール (bool)
パス 正常性プローブのパス 文字列
プローブインターバル秒 正常性プローブの間隔 (秒単位) int

制約:
最小値 = 1
プローブタイムアウトミリ秒 正常性プローブのタイムアウト (ミリ秒単位) int

制約:
最小値 = 1
しきい値 正常性プローブのしきい値 int

制約:
最小値 = 1

EnvironmentVar

名前 Description 価値
名前 環境変数の名前。 文字列
secretRef です。 環境変数の値をプルするコンテナー アプリ シークレットの名前。 文字列
value シークレット以外の環境変数の値。 文字列

ExtendedLocation

名前 Description 価値
名前 拡張された場所の名前。 文字列
拡張された場所の種類。 「カスタムロケーション」

HttpScaleRule (英語)

名前 Description 価値
auth カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ http スケール ルールを記述するメタデータ プロパティ。 HttpScaleRuleMetadata を する

HttpScaleRuleMetadata の

名前 Description 価値

IdentitySettings (アイデンティティ設定)

名前 Description 価値
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 string (必須)
ライフサイクル マネージド ID を使用できるコンテナー アプリのライフサイクル ステージを選択するために使用します。 「すべて」
'初期化'
「メイン」
「なし」

Ingress

名前 Description 価値
additionalPortMappings (追加のポートマッピング) コンテナー アプリで追加のポートを公開するための設定 IngressPortMapping[]
allowInsecure (安全でない) HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTPS 接続に自動的にリダイレクトされます ブール (bool)
クライアント証明書モード mTLS 認証のクライアント証明書モード。 無視は、転送時にサーバーがクライアント証明書を削除することを示します。 Accept は、サーバーがクライアント証明書を転送しますが、クライアント証明書は必要ないことを示します。 Require は、サーバーにクライアント証明書が必要であることを示します。 '受け入れる'
'無視'
'必要'
corsポリシー コンテナー アプリの CORS ポリシー CorsPolicy の
customDomains Container Apps のホスト名のカスタム ドメイン バインド。 カスタムドメイン[]
エクスポーズドポート イングレスからの TCP トラフィック用のコンテナー内の公開ポート 整数 (int)
アプリが外部 http エンドポイントを公開するかどうかを示すブール値 ブール (bool)
ipSecurityの制限 受信 IP アドレスを制限する規則。 IpSecurityRestrictionルール[]
スティッキーセッション 単一リビジョン モードのスティッキー セッション IngressStickySessions の
ターゲットポート イングレスからのトラフィックのコンテナー内のターゲット ポート 整数 (int)
トラフィック アプリのリビジョンのトラフィックの重み付け トラフィックウェイト[]
転送 イングレス トランスポート プロトコル 自動車
「http」
「http2」
'tcp'

IngressPortマッピング

名前 Description 価値
エクスポーズドポート ターゲット ポートの公開ポートを指定します。 指定しない場合は、既定でターゲット ポートに設定されます 整数 (int)
環境外でアプリ ポートにアクセスできるかどうかを指定します。 bool (必須)
ターゲットポート ユーザーのコンテナーがリッスンするポートを指定します int (必須)

IngressStickyセッション

名前 Description 価値
アフィニティ スティッキー セッション アフィニティ 'none'
「スティッキー」

イニットコンテナ

名前 Description 価値
引数 コンテナーの開始コマンド引数。 string[]
命令 コンテナーの開始コマンド。 string[]
env コンテナー環境変数。 EnvironmentVar[]
イメージ コンテナー イメージ タグ。 文字列
名前 カスタム コンテナー名。 文字列
resources コンテナー リソースの要件。 ContainerResources の
ボリュームマウント コンテナー ボリュームのマウント。 ボリュームマウント[]

IpSecurityRestrictionRule

名前 Description 価値
アクション 受信 IP を決定する規則を許可または拒否します。 注: ルールは ALL Allow または ALL Deny のみで構成できます 「許可する」
'Deny' (必須)
説明 コンテナー アプリに送信される IP 制限規則について説明します。 これは任意のフィールドです。 文字列
ipAddressRange (英語) 受信 IP アドレスと一致する CIDR 表記 string (必須)
名前 IP 制限規則の名前。 string (必須)

ManagedServiceIdentity

名前 Description 価値
マネージド サービス ID の種類 (SystemAssigned 型と UserAssigned 型の両方が許可されます)。 「なし」
'システム割り当て'
'システム割り当て済み、ユーザー割り当て済み'
'UserAssigned' (必須)
userAssignedIdentities リソースに関連付けられているユーザー割り当て ID のセット。 userAssignedIdentities ディクショナリ キーは、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} という形式の ARM リソース ID になります。 ディクショナリ値は、要求内の空のオブジェクト ({}) にすることができます。 UserAssignedIdentities の

キュー スケール ルール

名前 Description 価値
accountName ストレージ アカウント名。 マネージド ID を使用して認証する場合は必須 文字列
auth キュー スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
キューの長さ キューの長さ。 整数 (int)
queueName キュー名。 文字列

レジストリ資格情報

名前 Description 価値
ID Azure Container Registry での認証に使用するマネージド ID。 ユーザー割り当て ID の場合は、完全なユーザー割り当て ID リソース ID を使用します。 システム割り当て ID の場合は、'system' を使用します 文字列
passwordSecretRef レジストリ ログイン パスワードを含むシークレットの名前 文字列
サーバー コンテナレジストリサーバ 文字列
ユーザー名 Container Registry のユーザー名 文字列

ランタイム

名前 Description 価値
ジャヴァ Java アプリの構成 ランタイムJava

ランタイムJava

名前 Description 価値
enableMetrics の Java アプリの jmx コア メトリックを有効にする ブール (bool)

Scale

名前 Description 価値
クールダウン期間 Optional. KEDA のクールダウン期間 (秒)。 既定値は、設定されていない場合は 300 秒です。 整数 (int)
マックスレプリカ Optional. コンテナー レプリカの最大数。 既定値は 10 (設定されていない場合) です。 整数 (int)
minレプリカ Optional. コンテナー レプリカの最小数。 整数 (int)
pollingInterval Optional. KEDA ポーリング間隔 (秒単位)。 既定値は、設定されていない場合は 30 秒です。 整数 (int)
ルール スケーリング ルール。 スケールルール[]

ScaleRule (スケールルール)

名前 Description 価値
azureキュー Azure Queue ベースのスケーリング。 QueueScaleRule の
custom カスタム スケール ルール。 CustomScaleRule の
http HTTP 要求ベースのスケーリング。 HttpScaleRule を する
名前 スケール ルール名 文字列
tcp Tcp 要求ベースのスケーリング。 TcpScaleRule

ScaleRuleAuth (英語)

名前 Description 価値
secretRef です。 認証パラメーターのプル元のシークレットの名前。 文字列
triggerパラメータ シークレットを使用するトリガー パラメーター 文字列

Secret

名前 Description 価値
ID Azure Key Vault で認証するマネージド ID のリソース ID、またはシステム割り当て ID を使用するシステム。 文字列
キー・ボールトURL コンテナー アプリによって参照されるシークレットを指す Azure Key Vault URL。 文字列
名前 シークレット名。 文字列
value シークレット値。 string

制約:
機密性の高い値。 セキュリティで保護されたパラメーターとして渡します。

シークレットボリュームアイテム

名前 Description 価値
パス プロジェクト シークレットのパス。 パスが指定されていない場合、path は既定で secretRef にリストされているシークレットの名前になります。 文字列
secretRef です。 シークレット値のプル元のコンテナー アプリ シークレットの名前。 文字列

サービス

名前 Description 価値
Dev ContainerApp サービスの種類 string (必須)

サービスバインド

名前 Description 価値
名前 サービス バインドの名前 文字列
サービスID ターゲット サービスのリソース ID 文字列

TcpScaleRule

名前 Description 価値
auth TCP スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ TCP スケール ルールを記述するメタデータ プロパティ。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名前 Description 価値

Template

名前 Description 価値
containers コンテナー アプリのコンテナー定義の一覧。 コンテナー[]
initコンテナ アプリ コンテナーの前に実行される特殊なコンテナーの一覧。 イニットコンテナ[]
リビジョンサフィックス リビジョン名に追加されるわかりやすいサフィックス 文字列
スケーリングする コンテナー アプリのプロパティのスケーリング。 Scale
サービスバインド アプリにバインドされているコンテナー アプリ サービスの一覧 サービスバインド[]
terminationGracePeriodSeconds コンテナー アプリ インスタンスが正常に終了する必要がある時間 (秒単位)。 値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 この値が nil の場合は、代わりに既定の猶予期間が使用されます。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 既定値は 30 秒です。 整数 (int)
volumes コンテナー アプリのボリューム定義の一覧。 ボリューム[]

TrackedResourceTags

名前 Description 価値

トラフィックウェイト

名前 Description 価値
ラベル トラフィック ラベルをリビジョンに関連付けます 文字列
最新リビジョン トラフィックの重みが最新の安定したリビジョンに属していることを示します ブール (bool)
リビジョン名 リビジョンの名前 文字列
重量 リビジョンに割り当てられたトラフィックの重み 整数 (int)

UserAssignedIdentities (ユーザー割り当てアイデンティティ)

名前 Description 価値

UserAssignedIdentity

名前 Description 価値

ボリューム

名前 Description 価値
mountOptions (マウントオプション) Azure ファイル共有または NFS Azure ファイル共有のマウント時に使用されるマウント オプション。 コンマ区切りの文字列である必要があります。 文字列
名前 ボリューム名。 文字列
secrets ボリュームに追加するシークレットの一覧。 シークレットが指定されていない場合、コレクション内のすべてのシークレットがボリュームに追加されます。 シークレットボリュームアイテム[]
ストレージ名 ストレージ リソースの名前。 EmptyDir とシークレットを指定する必要はありません。 文字列
ストレージタイプ ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 'AzureFile'
'EmptyDir'
「NfsAzureファイル」
「シークレット」

ボリュームマウント

名前 Description 価値
マウントパス ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 文字列
サブパス コンテナーのボリュームをマウントするボリューム内のパス。 既定値は "" (ボリュームのルート) です。 文字列
ボリューム名 これはボリュームの名前と一致する必要があります。 文字列

使用例

Azure 検証済みモジュール

次の Azure 検証済みモジュール を使用して、このリソースの種類をデプロイできます。

モジュール Description
コンテナー アプリ コンテナー アプリ用 AVM リソース モジュール

Azure クイック スタートのサンプル

Azure クイック スタート テンプレート、このリソースの種類をデプロイするための Bicep サンプルが含まれています。

Bicep ファイル Description
レジストリ を使用してコンテナー アプリと環境を作成する Azure Container Registry から基本的なコンテナー アプリを使用してコンテナー アプリ環境を作成します。 また、Log Analytics ワークスペースをデプロイしてログを格納します。
定義された HTTP スケーリング ルールを使用してコンテナー アプリを作成 HTTP トラフィックに基づいてスケーリングする基本的なコンテナー アプリを使用して、コンテナー アプリ環境を作成します。
Container App Environment 内にコンテナー アプリを作成します 基本的なコンテナー アプリを使用してコンテナー アプリ環境を作成します。 また、Log Analytics ワークスペースをデプロイしてログを格納します。
Container Apps を使用して Dapr マイクロサービス アプリを作成する Container Apps を使用して Dapr マイクロサービス アプリを作成します。
Container Apps を使用して Dapr pub-sub servicebus アプリを作成します Container Apps を使用して Dapr pub-sub servicebus アプリを作成します。
Container App Environment を使用して 2 つのコンテナー アプリを作成します 基本的なコンテナー アプリを使用して 2 つのコンテナー アプリ環境を作成します。 また、Log Analytics ワークスペースをデプロイしてログを格納します。
VNET を使用して外部コンテナー アプリ環境を作成する VNET を使用して外部コンテナー アプリ環境を作成します。
VNET を使用して内部コンテナー アプリ環境を作成します VNET を使用して内部コンテナー アプリ環境を作成します。

ARM テンプレート リソース定義

containerApps リソースの種類は、次を対象とする操作と共にデプロイできます。

各 API バージョンで変更されたプロパティの一覧については、「変更ログ」を参照してください。

リソース形式

Microsoft.App/containerApps リソースを作成するには、次の JSON をテンプレートに追加します。

{
  "type": "Microsoft.App/containerApps",
  "apiVersion": "2025-07-01",
  "name": "string",
  "extendedLocation": {
    "name": "string",
    "type": "string"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "kind": "string",
  "location": "string",
  "managedBy": "string",
  "properties": {
    "configuration": {
      "activeRevisionsMode": "string",
      "dapr": {
        "appHealth": {
          "enabled": "bool",
          "path": "string",
          "probeIntervalSeconds": "int",
          "probeTimeoutMilliseconds": "int",
          "threshold": "int"
        },
        "appId": "string",
        "appPort": "int",
        "appProtocol": "string",
        "enableApiLogging": "bool",
        "enabled": "bool",
        "httpMaxRequestSize": "int",
        "httpReadBufferSize": "int",
        "logLevel": "string",
        "maxConcurrency": "int"
      },
      "identitySettings": [
        {
          "identity": "string",
          "lifecycle": "string"
        }
      ],
      "ingress": {
        "additionalPortMappings": [
          {
            "exposedPort": "int",
            "external": "bool",
            "targetPort": "int"
          }
        ],
        "allowInsecure": "bool",
        "clientCertificateMode": "string",
        "corsPolicy": {
          "allowCredentials": "bool",
          "allowedHeaders": [ "string" ],
          "allowedMethods": [ "string" ],
          "allowedOrigins": [ "string" ],
          "exposeHeaders": [ "string" ],
          "maxAge": "int"
        },
        "customDomains": [
          {
            "bindingType": "string",
            "certificateId": "string",
            "name": "string"
          }
        ],
        "exposedPort": "int",
        "external": "bool",
        "ipSecurityRestrictions": [
          {
            "action": "string",
            "description": "string",
            "ipAddressRange": "string",
            "name": "string"
          }
        ],
        "stickySessions": {
          "affinity": "string"
        },
        "targetPort": "int",
        "traffic": [
          {
            "label": "string",
            "latestRevision": "bool",
            "revisionName": "string",
            "weight": "int"
          }
        ],
        "transport": "string"
      },
      "maxInactiveRevisions": "int",
      "registries": [
        {
          "identity": "string",
          "passwordSecretRef": "string",
          "server": "string",
          "username": "string"
        }
      ],
      "runtime": {
        "java": {
          "enableMetrics": "bool"
        }
      },
      "secrets": [
        {
          "identity": "string",
          "keyVaultUrl": "string",
          "name": "string",
          "value": "string"
        }
      ],
      "service": {
        "type": "string"
      }
    },
    "environmentId": "string",
    "managedEnvironmentId": "string",
    "template": {
      "containers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "name": "string",
          "probes": [
            {
              "failureThreshold": "int",
              "httpGet": {
                "host": "string",
                "httpHeaders": [
                  {
                    "name": "string",
                    "value": "string"
                  }
                ],
                "path": "string",
                "port": "int",
                "scheme": "string"
              },
              "initialDelaySeconds": "int",
              "periodSeconds": "int",
              "successThreshold": "int",
              "tcpSocket": {
                "host": "string",
                "port": "int"
              },
              "terminationGracePeriodSeconds": "int",
              "timeoutSeconds": "int",
              "type": "string"
            }
          ],
          "resources": {
            "cpu": "int",
            "memory": "string"
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "subPath": "string",
              "volumeName": "string"
            }
          ]
        }
      ],
      "initContainers": [
        {
          "args": [ "string" ],
          "command": [ "string" ],
          "env": [
            {
              "name": "string",
              "secretRef": "string",
              "value": "string"
            }
          ],
          "image": "string",
          "name": "string",
          "resources": {
            "cpu": "int",
            "memory": "string"
          },
          "volumeMounts": [
            {
              "mountPath": "string",
              "subPath": "string",
              "volumeName": "string"
            }
          ]
        }
      ],
      "revisionSuffix": "string",
      "scale": {
        "cooldownPeriod": "int",
        "maxReplicas": "int",
        "minReplicas": "int",
        "pollingInterval": "int",
        "rules": [
          {
            "azureQueue": {
              "accountName": "string",
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "queueLength": "int",
              "queueName": "string"
            },
            "custom": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "metadata": {
                "{customized property}": "string"
              },
              "type": "string"
            },
            "http": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "metadata": {
                "{customized property}": "string"
              }
            },
            "name": "string",
            "tcp": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "identity": "string",
              "metadata": {
                "{customized property}": "string"
              }
            }
          }
        ]
      },
      "serviceBinds": [
        {
          "name": "string",
          "serviceId": "string"
        }
      ],
      "terminationGracePeriodSeconds": "int",
      "volumes": [
        {
          "mountOptions": "string",
          "name": "string",
          "secrets": [
            {
              "path": "string",
              "secretRef": "string"
            }
          ],
          "storageName": "string",
          "storageType": "string"
        }
      ]
    },
    "workloadProfileName": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

プロパティ値

Microsoft.App/containerApps

名前 Description 価値
apiVersion API のバージョン '2025-07-01'
extendedLocation 拡張された場所の複合型。 ExtendedLocation
ID コード内のシークレットや資格情報を維持することなく、他の Azure サービスと対話するための Container App のマネージド ID。 ManagedServiceIdentity
kind コンテナー アプリの種類を表すメタデータで、コンテナー アプリが workflowapp か functionapp かを表します。 '関数アプリ'
「ワークフローアプリ」
位置 リソースが存在する地理的な場所 string (必須)
managedBy このリソースを管理するリソースの完全修飾リソース ID。 このリソースが別の Azure リソースによって管理されているかどうかを示します。 これが存在する場合、完全モードのデプロイでは、別のリソースによって管理されているため、テンプレートから削除された場合、リソースは削除されません。 文字列
名前 リソース名 string (必須)
プロパティ ContainerApp リソース固有のプロパティ コンテナAppProperties
tags リソース タグ タグ名と値のディクショナリ。 「テンプレート内のタグ」を参照してください
リソースの種類 「Microsoft.App/containerApps」

コンフィギュレーション

名前 Description 価値
アクティブリビジョンモード ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。
<リスト><アイテム>複数のリビジョンをアクティブにすることができます。</item><項目>単一: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません。 値が指定されていない場合は、これが既定値です。/list<></item を>する
「複数」
「シングル」
Daprフレームワーク コンテナー アプリの Dapr 構成。 Dapr の
identitySettings (アイデンティティ設定) コンテナー アプリに割り当てられているマネージド ID のオプション設定。 ここでマネージド ID が指定されていない場合は、既定の設定が使用されます。 IdentitySettings[]
イングレス イングレス構成。 イングレス
maxInactiveRevisionsの Optional. コンテナー アプリで使用できる非アクティブなリビジョンの最大数。 整数 (int)
registries コンテナー アプリによって使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション レジストリ資格情報[]
ランタイム コンテナー アプリのアプリ ランタイム構成。 ランタイム
secrets コンテナー アプリによって使用されるシークレットのコレクション シークレット[]
サービス コンテナー アプリを開発用 Container App Service にする サービス

コンテナ

名前 Description 価値
引数 コンテナーの開始コマンド引数。 string[]
命令 コンテナーの開始コマンド。 string[]
env コンテナー環境変数。 EnvironmentVar[]
イメージ コンテナー イメージ タグ。 文字列
名前 カスタム コンテナー名。 文字列
probes コンテナーのプローブの一覧。 コンテナAppプローブ[]
resources コンテナー リソースの要件。 ContainerResources の
ボリュームマウント コンテナー ボリュームのマウント。 ボリュームマウント[]

コンテナ・アプリケーション・プローブ

名前 Description 価値
failureThreshold(失敗しきい値) 成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最小値は 1 です。 最大値は 10 です。 整数 (int)
httpゲット HTTPGet は、実行する http 要求を指定します。 ContainerAppProbeHttpGet の
initialDelaySeconds (初期遅延秒) コンテナーの起動後、liveness probe が開始するまでの秒数。 最小値は 1 です。 最大値は 60 です。 整数 (int)
period秒 プローブを実行する頻度 (秒単位)。 既定値は 10 秒です。 最小値は 1 です。 最大値は 240 です。 整数 (int)
successThreshold(成功のしきい値) 失敗した後にプローブが成功したと見なされる最小連続成功数。 デフォルト値は 1 です。 ライブ性と起動には 1 にする必要があります。 最小値は 1 です。 最大値は 10 です。 整数 (int)
tcpSocketの TCPSocket は、TCP ポートに関連するアクションを指定します。 TCP フックはまだサポートされていません。 ContainerAppProbeTcpSocket の
terminationGracePeriodSeconds プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 整数 (int)
timeoutSeconds プローブがタイムアウトする秒数。既定値は 1 秒です。 最小値は 1 です。 最大値は 240 です。 整数 (int)
プローブの種類。 「ライブネス」
「準備」
「スタートアップ」

ContainerAppProbeHttpGet

名前 Description 価値
ホスティング 接続先のホスト名。既定ではポッド IP が使用されます。 代わりに httpHeaders で "Host" を設定することをお考えでしょう。 文字列
HTTPヘッダー 要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返し使用できます。 ContainerAppProbeHttpGetHttpヘッダーアイテム[]
パス HTTP サーバー上のアクセスのパス。 文字列
ポート コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 int (必須)
scheme ホストへの接続に使用するスキーム。 既定値は HTTP です。 「HTTP」
「HTTPS」

ContainerAppProbeHttpGetHttpHeadersItem

名前 Description 価値
名前 ヘッダー フィールド名 string (必須)
value ヘッダー フィールドの値 string (必須)

ContainerAppProbeTcpSocket

名前 Description 価値
ホスティング 省略可能: 接続先のホスト名。既定ではポッド IP が使用されます。 文字列
ポート コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 int (必須)

コンテナAppProperties

名前 Description 価値
構成 バージョン管理されていない Container App 構成プロパティ。 Configuration
environmentId 環境のリソース ID。 文字列
managedEnvironmentId の Deprecated. コンテナー アプリの環境のリソース ID。 文字列
テンプレート コンテナー アプリのバージョン管理されたアプリケーション定義。 Template
ワークロードプロファイル名 コンテナー アプリの実行にピン留めするワークロード プロファイル名。 文字列

コンテナリソース

名前 Description 価値
cpu コアで必要な CPU (例: 0.5) 整数 (int)
メモリ 必要なメモリ (例: "250Mb" ) 文字列

CorsPolicy(コルスポリシー)

名前 Description 価値
allowCredentials リソースで資格情報を許可するかどうかを指定します ブール (bool)
allowedヘッダー access-control-allow-headers ヘッダーの内容を指定します string[]
allowedメソッド access-control-allow-methods ヘッダーの内容を指定します string[]
allowedOrigins access-control-allow-origins ヘッダーのコンテンツを指定します string[] (必須)
exposeヘッダー access-control-expose-headers ヘッダーのコンテンツを指定します string[]
maxAge access-control-max-age ヘッダーのコンテンツを指定します 整数 (int)

カスタムドメイン

名前 Description 価値
バインディングタイプ カスタム ドメイン バインドの種類。 「オート」
「無効」
「SniEnabled」
証明書ID このホスト名にバインドする証明書のリソース ID。 マネージド環境に存在する必要があります。 文字列
名前 ホスト名。 string (必須)

CustomScaleRule

名前 Description 価値
auth カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ カスタム スケール ルールを記述するメタデータ プロパティ。 CustomScaleRuleMetadata を する
カスタム スケール ルールの種類
例: azure-servicebus、redis など。
文字列

CustomScaleRuleメタデータ

名前 Description 価値

Dapr

名前 Description 価値
appHealthの Dapr アプリケーションの正常性チェックの構成 DaprAppHealthの
アプリID Dapr アプリケーション識別子 文字列
アプリケーションポート アプリケーションがリッスンしているポートを Dapr に通知します 整数 (int)
appプロトコル アプリケーションが使用しているプロトコルを Dapr に通知します。 有効なオプションは http と grpc です。 既定値は http です 'grpc'
「http」
enableApiロギング Dapr サイドカーの API ログ記録を有効にします ブール (bool)
enabled Dapr 側の車が有効かどうかを示すブール値 ブール (bool)
httpMaxRequestSize(英語) 大きなファイルのアップロードを処理するために、要求本文 http および grpc サーバーパラメーターの最大サイズを MB 単位で増やします。 既定値は 4 MB です。 整数 (int)
httpReadBufferSize (英語) マルチ KB ヘッダーを送信するときに処理する http ヘッダー読み取りバッファーの最大サイズ (KB 単位)。 既定値は 65 KB です。 整数 (int)
ログレベル Dapr サイドカーのログ レベルを設定します。 使用できる値は、デバッグ、情報、警告、エラーです。 既定値は info です。 'デバッグ'
'エラー'
'情報'
「警告」
maxConcurrency Dapr サイドカーによって処理される同時要求、イベントの最大数 整数 (int)

DaprAppHealthの

名前 Description 価値
enabled 正常性プローブが有効になっているかどうかを示すブール値 ブール (bool)
パス 正常性プローブのパス 文字列
プローブインターバル秒 正常性プローブの間隔 (秒単位) int

制約:
最小値 = 1
プローブタイムアウトミリ秒 正常性プローブのタイムアウト (ミリ秒単位) int

制約:
最小値 = 1
しきい値 正常性プローブのしきい値 int

制約:
最小値 = 1

EnvironmentVar

名前 Description 価値
名前 環境変数の名前。 文字列
secretRef です。 環境変数の値をプルするコンテナー アプリ シークレットの名前。 文字列
value シークレット以外の環境変数の値。 文字列

ExtendedLocation

名前 Description 価値
名前 拡張された場所の名前。 文字列
拡張された場所の種類。 「カスタムロケーション」

HttpScaleRule (英語)

名前 Description 価値
auth カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ http スケール ルールを記述するメタデータ プロパティ。 HttpScaleRuleMetadata を する

HttpScaleRuleMetadata の

名前 Description 価値

IdentitySettings (アイデンティティ設定)

名前 Description 価値
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 string (必須)
ライフサイクル マネージド ID を使用できるコンテナー アプリのライフサイクル ステージを選択するために使用します。 「すべて」
'初期化'
「メイン」
「なし」

Ingress

名前 Description 価値
additionalPortMappings (追加のポートマッピング) コンテナー アプリで追加のポートを公開するための設定 IngressPortMapping[]
allowInsecure (安全でない) HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTPS 接続に自動的にリダイレクトされます ブール (bool)
クライアント証明書モード mTLS 認証のクライアント証明書モード。 無視は、転送時にサーバーがクライアント証明書を削除することを示します。 Accept は、サーバーがクライアント証明書を転送しますが、クライアント証明書は必要ないことを示します。 Require は、サーバーにクライアント証明書が必要であることを示します。 '受け入れる'
'無視'
'必要'
corsポリシー コンテナー アプリの CORS ポリシー CorsPolicy の
customDomains Container Apps のホスト名のカスタム ドメイン バインド。 カスタムドメイン[]
エクスポーズドポート イングレスからの TCP トラフィック用のコンテナー内の公開ポート 整数 (int)
アプリが外部 http エンドポイントを公開するかどうかを示すブール値 ブール (bool)
ipSecurityの制限 受信 IP アドレスを制限する規則。 IpSecurityRestrictionルール[]
スティッキーセッション 単一リビジョン モードのスティッキー セッション IngressStickySessions の
ターゲットポート イングレスからのトラフィックのコンテナー内のターゲット ポート 整数 (int)
トラフィック アプリのリビジョンのトラフィックの重み付け トラフィックウェイト[]
転送 イングレス トランスポート プロトコル 自動車
「http」
「http2」
'tcp'

IngressPortマッピング

名前 Description 価値
エクスポーズドポート ターゲット ポートの公開ポートを指定します。 指定しない場合は、既定でターゲット ポートに設定されます 整数 (int)
環境外でアプリ ポートにアクセスできるかどうかを指定します。 bool (必須)
ターゲットポート ユーザーのコンテナーがリッスンするポートを指定します int (必須)

IngressStickyセッション

名前 Description 価値
アフィニティ スティッキー セッション アフィニティ 'none'
「スティッキー」

イニットコンテナ

名前 Description 価値
引数 コンテナーの開始コマンド引数。 string[]
命令 コンテナーの開始コマンド。 string[]
env コンテナー環境変数。 EnvironmentVar[]
イメージ コンテナー イメージ タグ。 文字列
名前 カスタム コンテナー名。 文字列
resources コンテナー リソースの要件。 ContainerResources の
ボリュームマウント コンテナー ボリュームのマウント。 ボリュームマウント[]

IpSecurityRestrictionRule

名前 Description 価値
アクション 受信 IP を決定する規則を許可または拒否します。 注: ルールは ALL Allow または ALL Deny のみで構成できます 「許可する」
'Deny' (必須)
説明 コンテナー アプリに送信される IP 制限規則について説明します。 これは任意のフィールドです。 文字列
ipAddressRange (英語) 受信 IP アドレスと一致する CIDR 表記 string (必須)
名前 IP 制限規則の名前。 string (必須)

ManagedServiceIdentity

名前 Description 価値
マネージド サービス ID の種類 (SystemAssigned 型と UserAssigned 型の両方が許可されます)。 「なし」
'システム割り当て'
'システム割り当て済み、ユーザー割り当て済み'
'UserAssigned' (必須)
userAssignedIdentities リソースに関連付けられているユーザー割り当て ID のセット。 userAssignedIdentities ディクショナリ キーは、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} という形式の ARM リソース ID になります。 ディクショナリ値は、要求内の空のオブジェクト ({}) にすることができます。 UserAssignedIdentities の

キュー スケール ルール

名前 Description 価値
accountName ストレージ アカウント名。 マネージド ID を使用して認証する場合は必須 文字列
auth キュー スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
キューの長さ キューの長さ。 整数 (int)
queueName キュー名。 文字列

レジストリ資格情報

名前 Description 価値
ID Azure Container Registry での認証に使用するマネージド ID。 ユーザー割り当て ID の場合は、完全なユーザー割り当て ID リソース ID を使用します。 システム割り当て ID の場合は、'system' を使用します 文字列
passwordSecretRef レジストリ ログイン パスワードを含むシークレットの名前 文字列
サーバー コンテナレジストリサーバ 文字列
ユーザー名 Container Registry のユーザー名 文字列

ランタイム

名前 Description 価値
ジャヴァ Java アプリの構成 ランタイムJava

ランタイムJava

名前 Description 価値
enableMetrics の Java アプリの jmx コア メトリックを有効にする ブール (bool)

Scale

名前 Description 価値
クールダウン期間 Optional. KEDA のクールダウン期間 (秒)。 既定値は、設定されていない場合は 300 秒です。 整数 (int)
マックスレプリカ Optional. コンテナー レプリカの最大数。 既定値は 10 (設定されていない場合) です。 整数 (int)
minレプリカ Optional. コンテナー レプリカの最小数。 整数 (int)
pollingInterval Optional. KEDA ポーリング間隔 (秒単位)。 既定値は、設定されていない場合は 30 秒です。 整数 (int)
ルール スケーリング ルール。 スケールルール[]

ScaleRule (スケールルール)

名前 Description 価値
azureキュー Azure Queue ベースのスケーリング。 QueueScaleRule の
custom カスタム スケール ルール。 CustomScaleRule の
http HTTP 要求ベースのスケーリング。 HttpScaleRule を する
名前 スケール ルール名 文字列
tcp Tcp 要求ベースのスケーリング。 TcpScaleRule

ScaleRuleAuth (英語)

名前 Description 価値
secretRef です。 認証パラメーターのプル元のシークレットの名前。 文字列
triggerパラメータ シークレットを使用するトリガー パラメーター 文字列

Secret

名前 Description 価値
ID Azure Key Vault で認証するマネージド ID のリソース ID、またはシステム割り当て ID を使用するシステム。 文字列
キー・ボールトURL コンテナー アプリによって参照されるシークレットを指す Azure Key Vault URL。 文字列
名前 シークレット名。 文字列
value シークレット値。 string

制約:
機密性の高い値。 セキュリティで保護されたパラメーターとして渡します。

シークレットボリュームアイテム

名前 Description 価値
パス プロジェクト シークレットのパス。 パスが指定されていない場合、path は既定で secretRef にリストされているシークレットの名前になります。 文字列
secretRef です。 シークレット値のプル元のコンテナー アプリ シークレットの名前。 文字列

サービス

名前 Description 価値
Dev ContainerApp サービスの種類 string (必須)

サービスバインド

名前 Description 価値
名前 サービス バインドの名前 文字列
サービスID ターゲット サービスのリソース ID 文字列

TcpScaleRule

名前 Description 価値
auth TCP スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ TCP スケール ルールを記述するメタデータ プロパティ。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名前 Description 価値

Template

名前 Description 価値
containers コンテナー アプリのコンテナー定義の一覧。 コンテナー[]
initコンテナ アプリ コンテナーの前に実行される特殊なコンテナーの一覧。 イニットコンテナ[]
リビジョンサフィックス リビジョン名に追加されるわかりやすいサフィックス 文字列
スケーリングする コンテナー アプリのプロパティのスケーリング。 Scale
サービスバインド アプリにバインドされているコンテナー アプリ サービスの一覧 サービスバインド[]
terminationGracePeriodSeconds コンテナー アプリ インスタンスが正常に終了する必要がある時間 (秒単位)。 値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 この値が nil の場合は、代わりに既定の猶予期間が使用されます。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 既定値は 30 秒です。 整数 (int)
volumes コンテナー アプリのボリューム定義の一覧。 ボリューム[]

TrackedResourceTags

名前 Description 価値

トラフィックウェイト

名前 Description 価値
ラベル トラフィック ラベルをリビジョンに関連付けます 文字列
最新リビジョン トラフィックの重みが最新の安定したリビジョンに属していることを示します ブール (bool)
リビジョン名 リビジョンの名前 文字列
重量 リビジョンに割り当てられたトラフィックの重み 整数 (int)

UserAssignedIdentities (ユーザー割り当てアイデンティティ)

名前 Description 価値

UserAssignedIdentity

名前 Description 価値

ボリューム

名前 Description 価値
mountOptions (マウントオプション) Azure ファイル共有または NFS Azure ファイル共有のマウント時に使用されるマウント オプション。 コンマ区切りの文字列である必要があります。 文字列
名前 ボリューム名。 文字列
secrets ボリュームに追加するシークレットの一覧。 シークレットが指定されていない場合、コレクション内のすべてのシークレットがボリュームに追加されます。 シークレットボリュームアイテム[]
ストレージ名 ストレージ リソースの名前。 EmptyDir とシークレットを指定する必要はありません。 文字列
ストレージタイプ ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 'AzureFile'
'EmptyDir'
「NfsAzureファイル」
「シークレット」

ボリュームマウント

名前 Description 価値
マウントパス ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 文字列
サブパス コンテナーのボリュームをマウントするボリューム内のパス。 既定値は "" (ボリュームのルート) です。 文字列
ボリューム名 これはボリュームの名前と一致する必要があります。 文字列

使用例

Azure クイックスタート テンプレート

このリソースの種類 デプロイする Azure クイック スタート テンプレート 次に示します。

Template Description
レジストリ を使用してコンテナー アプリと環境を作成する

Azure に展開する
Azure Container Registry から基本的なコンテナー アプリを使用してコンテナー アプリ環境を作成します。 また、Log Analytics ワークスペースをデプロイしてログを格納します。
定義された HTTP スケーリング ルールを使用してコンテナー アプリを作成

Azure に展開する
HTTP トラフィックに基づいてスケーリングする基本的なコンテナー アプリを使用して、コンテナー アプリ環境を作成します。
Container App Environment 内にコンテナー アプリを作成します

Azure に展開する
基本的なコンテナー アプリを使用してコンテナー アプリ環境を作成します。 また、Log Analytics ワークスペースをデプロイしてログを格納します。
Container Apps を使用して Dapr マイクロサービス アプリを作成する

Azure に展開する
Container Apps を使用して Dapr マイクロサービス アプリを作成します。
Container Apps を使用して Dapr pub-sub servicebus アプリを作成します

Azure に展開する
Container Apps を使用して Dapr pub-sub servicebus アプリを作成します。
Container App Environment を使用して 2 つのコンテナー アプリを作成します

Azure に展開する
基本的なコンテナー アプリを使用して 2 つのコンテナー アプリ環境を作成します。 また、Log Analytics ワークスペースをデプロイしてログを格納します。
VNET を使用して外部コンテナー アプリ環境を作成する

Azure に展開する
VNET を使用して外部コンテナー アプリ環境を作成します。
VNET を使用して内部コンテナー アプリ環境を作成します

Azure に展開する
VNET を使用して内部コンテナー アプリ環境を作成します。

Terraform (AzAPI プロバイダー) リソース定義

containerApps リソースの種類は、次を対象とする操作と共にデプロイできます。

各 API バージョンで変更されたプロパティの一覧については、「変更ログ」を参照してください。

リソース形式

Microsoft.App/containerApps リソースを作成するには、次の Terraform をテンプレートに追加します。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.App/containerApps@2025-07-01"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    extendedLocation = {
      name = "string"
      type = "string"
    }
    kind = "string"
    managedBy = "string"
    properties = {
      configuration = {
        activeRevisionsMode = "string"
        dapr = {
          appHealth = {
            enabled = bool
            path = "string"
            probeIntervalSeconds = int
            probeTimeoutMilliseconds = int
            threshold = int
          }
          appId = "string"
          appPort = int
          appProtocol = "string"
          enableApiLogging = bool
          enabled = bool
          httpMaxRequestSize = int
          httpReadBufferSize = int
          logLevel = "string"
          maxConcurrency = int
        }
        identitySettings = [
          {
            identity = "string"
            lifecycle = "string"
          }
        ]
        ingress = {
          additionalPortMappings = [
            {
              exposedPort = int
              external = bool
              targetPort = int
            }
          ]
          allowInsecure = bool
          clientCertificateMode = "string"
          corsPolicy = {
            allowCredentials = bool
            allowedHeaders = [
              "string"
            ]
            allowedMethods = [
              "string"
            ]
            allowedOrigins = [
              "string"
            ]
            exposeHeaders = [
              "string"
            ]
            maxAge = int
          }
          customDomains = [
            {
              bindingType = "string"
              certificateId = "string"
              name = "string"
            }
          ]
          exposedPort = int
          external = bool
          ipSecurityRestrictions = [
            {
              action = "string"
              description = "string"
              ipAddressRange = "string"
              name = "string"
            }
          ]
          stickySessions = {
            affinity = "string"
          }
          targetPort = int
          traffic = [
            {
              label = "string"
              latestRevision = bool
              revisionName = "string"
              weight = int
            }
          ]
          transport = "string"
        }
        maxInactiveRevisions = int
        registries = [
          {
            identity = "string"
            passwordSecretRef = "string"
            server = "string"
            username = "string"
          }
        ]
        runtime = {
          java = {
            enableMetrics = bool
          }
        }
        secrets = [
          {
            identity = "string"
            keyVaultUrl = "string"
            name = "string"
            value = "string"
          }
        ]
        service = {
          type = "string"
        }
      }
      environmentId = "string"
      managedEnvironmentId = "string"
      template = {
        containers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "string"
            name = "string"
            probes = [
              {
                failureThreshold = int
                httpGet = {
                  host = "string"
                  httpHeaders = [
                    {
                      name = "string"
                      value = "string"
                    }
                  ]
                  path = "string"
                  port = int
                  scheme = "string"
                }
                initialDelaySeconds = int
                periodSeconds = int
                successThreshold = int
                tcpSocket = {
                  host = "string"
                  port = int
                }
                terminationGracePeriodSeconds = int
                timeoutSeconds = int
                type = "string"
              }
            ]
            resources = {
              cpu = int
              memory = "string"
            }
            volumeMounts = [
              {
                mountPath = "string"
                subPath = "string"
                volumeName = "string"
              }
            ]
          }
        ]
        initContainers = [
          {
            args = [
              "string"
            ]
            command = [
              "string"
            ]
            env = [
              {
                name = "string"
                secretRef = "string"
                value = "string"
              }
            ]
            image = "string"
            name = "string"
            resources = {
              cpu = int
              memory = "string"
            }
            volumeMounts = [
              {
                mountPath = "string"
                subPath = "string"
                volumeName = "string"
              }
            ]
          }
        ]
        revisionSuffix = "string"
        scale = {
          cooldownPeriod = int
          maxReplicas = int
          minReplicas = int
          pollingInterval = int
          rules = [
            {
              azureQueue = {
                accountName = "string"
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                queueLength = int
                queueName = "string"
              }
              custom = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                metadata = {
                  {customized property} = "string"
                }
                type = "string"
              }
              http = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                metadata = {
                  {customized property} = "string"
                }
              }
              name = "string"
              tcp = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                identity = "string"
                metadata = {
                  {customized property} = "string"
                }
              }
            }
          ]
        }
        serviceBinds = [
          {
            name = "string"
            serviceId = "string"
          }
        ]
        terminationGracePeriodSeconds = int
        volumes = [
          {
            mountOptions = "string"
            name = "string"
            secrets = [
              {
                path = "string"
                secretRef = "string"
              }
            ]
            storageName = "string"
            storageType = "string"
          }
        ]
      }
      workloadProfileName = "string"
    }
  }
}

プロパティ値

Microsoft.App/containerApps

名前 Description 価値
extendedLocation 拡張された場所の複合型。 ExtendedLocation
ID コード内のシークレットや資格情報を維持することなく、他の Azure サービスと対話するための Container App のマネージド ID。 ManagedServiceIdentity
kind コンテナー アプリの種類を表すメタデータで、コンテナー アプリが workflowapp か functionapp かを表します。 '関数アプリ'
「ワークフローアプリ」
位置 リソースが存在する地理的な場所 string (必須)
managedBy このリソースを管理するリソースの完全修飾リソース ID。 このリソースが別の Azure リソースによって管理されているかどうかを示します。 これが存在する場合、完全モードのデプロイでは、別のリソースによって管理されているため、テンプレートから削除された場合、リソースは削除されません。 文字列
名前 リソース名 string (必須)
parent_id この拡張リソースを適用するリソースの ID。 string (必須)
プロパティ ContainerApp リソース固有のプロパティ コンテナAppProperties
tags リソース タグ タグ名と値のディクショナリ。
リソースの種類 「Microsoft.App/containerApps@2025-07-01」

コンフィギュレーション

名前 Description 価値
アクティブリビジョンモード ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。
<リスト><アイテム>複数のリビジョンをアクティブにすることができます。</item><項目>単一: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません。 値が指定されていない場合は、これが既定値です。/list<></item を>する
「複数」
「シングル」
Daprフレームワーク コンテナー アプリの Dapr 構成。 Dapr の
identitySettings (アイデンティティ設定) コンテナー アプリに割り当てられているマネージド ID のオプション設定。 ここでマネージド ID が指定されていない場合は、既定の設定が使用されます。 IdentitySettings[]
イングレス イングレス構成。 イングレス
maxInactiveRevisionsの Optional. コンテナー アプリで使用できる非アクティブなリビジョンの最大数。 整数 (int)
registries コンテナー アプリによって使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション レジストリ資格情報[]
ランタイム コンテナー アプリのアプリ ランタイム構成。 ランタイム
secrets コンテナー アプリによって使用されるシークレットのコレクション シークレット[]
サービス コンテナー アプリを開発用 Container App Service にする サービス

コンテナ

名前 Description 価値
引数 コンテナーの開始コマンド引数。 string[]
命令 コンテナーの開始コマンド。 string[]
env コンテナー環境変数。 EnvironmentVar[]
イメージ コンテナー イメージ タグ。 文字列
名前 カスタム コンテナー名。 文字列
probes コンテナーのプローブの一覧。 コンテナAppプローブ[]
resources コンテナー リソースの要件。 ContainerResources の
ボリュームマウント コンテナー ボリュームのマウント。 ボリュームマウント[]

コンテナ・アプリケーション・プローブ

名前 Description 価値
failureThreshold(失敗しきい値) 成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最小値は 1 です。 最大値は 10 です。 整数 (int)
httpゲット HTTPGet は、実行する http 要求を指定します。 ContainerAppProbeHttpGet の
initialDelaySeconds (初期遅延秒) コンテナーの起動後、liveness probe が開始するまでの秒数。 最小値は 1 です。 最大値は 60 です。 整数 (int)
period秒 プローブを実行する頻度 (秒単位)。 既定値は 10 秒です。 最小値は 1 です。 最大値は 240 です。 整数 (int)
successThreshold(成功のしきい値) 失敗した後にプローブが成功したと見なされる最小連続成功数。 デフォルト値は 1 です。 ライブ性と起動には 1 にする必要があります。 最小値は 1 です。 最大値は 10 です。 整数 (int)
tcpSocketの TCPSocket は、TCP ポートに関連するアクションを指定します。 TCP フックはまだサポートされていません。 ContainerAppProbeTcpSocket の
terminationGracePeriodSeconds プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 整数 (int)
timeoutSeconds プローブがタイムアウトする秒数。既定値は 1 秒です。 最小値は 1 です。 最大値は 240 です。 整数 (int)
プローブの種類。 「ライブネス」
「準備」
「スタートアップ」

ContainerAppProbeHttpGet

名前 Description 価値
ホスティング 接続先のホスト名。既定ではポッド IP が使用されます。 代わりに httpHeaders で "Host" を設定することをお考えでしょう。 文字列
HTTPヘッダー 要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返し使用できます。 ContainerAppProbeHttpGetHttpヘッダーアイテム[]
パス HTTP サーバー上のアクセスのパス。 文字列
ポート コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 int (必須)
scheme ホストへの接続に使用するスキーム。 既定値は HTTP です。 「HTTP」
「HTTPS」

ContainerAppProbeHttpGetHttpHeadersItem

名前 Description 価値
名前 ヘッダー フィールド名 string (必須)
value ヘッダー フィールドの値 string (必須)

ContainerAppProbeTcpSocket

名前 Description 価値
ホスティング 省略可能: 接続先のホスト名。既定ではポッド IP が使用されます。 文字列
ポート コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 int (必須)

コンテナAppProperties

名前 Description 価値
構成 バージョン管理されていない Container App 構成プロパティ。 Configuration
environmentId 環境のリソース ID。 文字列
managedEnvironmentId の Deprecated. コンテナー アプリの環境のリソース ID。 文字列
テンプレート コンテナー アプリのバージョン管理されたアプリケーション定義。 Template
ワークロードプロファイル名 コンテナー アプリの実行にピン留めするワークロード プロファイル名。 文字列

コンテナリソース

名前 Description 価値
cpu コアで必要な CPU (例: 0.5) 整数 (int)
メモリ 必要なメモリ (例: "250Mb" ) 文字列

CorsPolicy(コルスポリシー)

名前 Description 価値
allowCredentials リソースで資格情報を許可するかどうかを指定します ブール (bool)
allowedヘッダー access-control-allow-headers ヘッダーの内容を指定します string[]
allowedメソッド access-control-allow-methods ヘッダーの内容を指定します string[]
allowedOrigins access-control-allow-origins ヘッダーのコンテンツを指定します string[] (必須)
exposeヘッダー access-control-expose-headers ヘッダーのコンテンツを指定します string[]
maxAge access-control-max-age ヘッダーのコンテンツを指定します 整数 (int)

カスタムドメイン

名前 Description 価値
バインディングタイプ カスタム ドメイン バインドの種類。 「オート」
「無効」
「SniEnabled」
証明書ID このホスト名にバインドする証明書のリソース ID。 マネージド環境に存在する必要があります。 文字列
名前 ホスト名。 string (必須)

CustomScaleRule

名前 Description 価値
auth カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ カスタム スケール ルールを記述するメタデータ プロパティ。 CustomScaleRuleMetadata を する
カスタム スケール ルールの種類
例: azure-servicebus、redis など。
文字列

CustomScaleRuleメタデータ

名前 Description 価値

Dapr

名前 Description 価値
appHealthの Dapr アプリケーションの正常性チェックの構成 DaprAppHealthの
アプリID Dapr アプリケーション識別子 文字列
アプリケーションポート アプリケーションがリッスンしているポートを Dapr に通知します 整数 (int)
appプロトコル アプリケーションが使用しているプロトコルを Dapr に通知します。 有効なオプションは http と grpc です。 既定値は http です 'grpc'
「http」
enableApiロギング Dapr サイドカーの API ログ記録を有効にします ブール (bool)
enabled Dapr 側の車が有効かどうかを示すブール値 ブール (bool)
httpMaxRequestSize(英語) 大きなファイルのアップロードを処理するために、要求本文 http および grpc サーバーパラメーターの最大サイズを MB 単位で増やします。 既定値は 4 MB です。 整数 (int)
httpReadBufferSize (英語) マルチ KB ヘッダーを送信するときに処理する http ヘッダー読み取りバッファーの最大サイズ (KB 単位)。 既定値は 65 KB です。 整数 (int)
ログレベル Dapr サイドカーのログ レベルを設定します。 使用できる値は、デバッグ、情報、警告、エラーです。 既定値は info です。 'デバッグ'
'エラー'
'情報'
「警告」
maxConcurrency Dapr サイドカーによって処理される同時要求、イベントの最大数 整数 (int)

DaprAppHealthの

名前 Description 価値
enabled 正常性プローブが有効になっているかどうかを示すブール値 ブール (bool)
パス 正常性プローブのパス 文字列
プローブインターバル秒 正常性プローブの間隔 (秒単位) int

制約:
最小値 = 1
プローブタイムアウトミリ秒 正常性プローブのタイムアウト (ミリ秒単位) int

制約:
最小値 = 1
しきい値 正常性プローブのしきい値 int

制約:
最小値 = 1

EnvironmentVar

名前 Description 価値
名前 環境変数の名前。 文字列
secretRef です。 環境変数の値をプルするコンテナー アプリ シークレットの名前。 文字列
value シークレット以外の環境変数の値。 文字列

ExtendedLocation

名前 Description 価値
名前 拡張された場所の名前。 文字列
拡張された場所の種類。 「カスタムロケーション」

HttpScaleRule (英語)

名前 Description 価値
auth カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ http スケール ルールを記述するメタデータ プロパティ。 HttpScaleRuleMetadata を する

HttpScaleRuleMetadata の

名前 Description 価値

IdentitySettings (アイデンティティ設定)

名前 Description 価値
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 string (必須)
ライフサイクル マネージド ID を使用できるコンテナー アプリのライフサイクル ステージを選択するために使用します。 「すべて」
'初期化'
「メイン」
「なし」

Ingress

名前 Description 価値
additionalPortMappings (追加のポートマッピング) コンテナー アプリで追加のポートを公開するための設定 IngressPortMapping[]
allowInsecure (安全でない) HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTPS 接続に自動的にリダイレクトされます ブール (bool)
クライアント証明書モード mTLS 認証のクライアント証明書モード。 無視は、転送時にサーバーがクライアント証明書を削除することを示します。 Accept は、サーバーがクライアント証明書を転送しますが、クライアント証明書は必要ないことを示します。 Require は、サーバーにクライアント証明書が必要であることを示します。 '受け入れる'
'無視'
'必要'
corsポリシー コンテナー アプリの CORS ポリシー CorsPolicy の
customDomains Container Apps のホスト名のカスタム ドメイン バインド。 カスタムドメイン[]
エクスポーズドポート イングレスからの TCP トラフィック用のコンテナー内の公開ポート 整数 (int)
アプリが外部 http エンドポイントを公開するかどうかを示すブール値 ブール (bool)
ipSecurityの制限 受信 IP アドレスを制限する規則。 IpSecurityRestrictionルール[]
スティッキーセッション 単一リビジョン モードのスティッキー セッション IngressStickySessions の
ターゲットポート イングレスからのトラフィックのコンテナー内のターゲット ポート 整数 (int)
トラフィック アプリのリビジョンのトラフィックの重み付け トラフィックウェイト[]
転送 イングレス トランスポート プロトコル 自動車
「http」
「http2」
'tcp'

IngressPortマッピング

名前 Description 価値
エクスポーズドポート ターゲット ポートの公開ポートを指定します。 指定しない場合は、既定でターゲット ポートに設定されます 整数 (int)
環境外でアプリ ポートにアクセスできるかどうかを指定します。 bool (必須)
ターゲットポート ユーザーのコンテナーがリッスンするポートを指定します int (必須)

IngressStickyセッション

名前 Description 価値
アフィニティ スティッキー セッション アフィニティ 'none'
「スティッキー」

イニットコンテナ

名前 Description 価値
引数 コンテナーの開始コマンド引数。 string[]
命令 コンテナーの開始コマンド。 string[]
env コンテナー環境変数。 EnvironmentVar[]
イメージ コンテナー イメージ タグ。 文字列
名前 カスタム コンテナー名。 文字列
resources コンテナー リソースの要件。 ContainerResources の
ボリュームマウント コンテナー ボリュームのマウント。 ボリュームマウント[]

IpSecurityRestrictionRule

名前 Description 価値
アクション 受信 IP を決定する規則を許可または拒否します。 注: ルールは ALL Allow または ALL Deny のみで構成できます 「許可する」
'Deny' (必須)
説明 コンテナー アプリに送信される IP 制限規則について説明します。 これは任意のフィールドです。 文字列
ipAddressRange (英語) 受信 IP アドレスと一致する CIDR 表記 string (必須)
名前 IP 制限規則の名前。 string (必須)

ManagedServiceIdentity

名前 Description 価値
マネージド サービス ID の種類 (SystemAssigned 型と UserAssigned 型の両方が許可されます)。 「なし」
'システム割り当て'
'システム割り当て済み、ユーザー割り当て済み'
'UserAssigned' (必須)
userAssignedIdentities リソースに関連付けられているユーザー割り当て ID のセット。 userAssignedIdentities ディクショナリ キーは、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} という形式の ARM リソース ID になります。 ディクショナリ値は、要求内の空のオブジェクト ({}) にすることができます。 UserAssignedIdentities の

キュー スケール ルール

名前 Description 価値
accountName ストレージ アカウント名。 マネージド ID を使用して認証する場合は必須 文字列
auth キュー スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
キューの長さ キューの長さ。 整数 (int)
queueName キュー名。 文字列

レジストリ資格情報

名前 Description 価値
ID Azure Container Registry での認証に使用するマネージド ID。 ユーザー割り当て ID の場合は、完全なユーザー割り当て ID リソース ID を使用します。 システム割り当て ID の場合は、'system' を使用します 文字列
passwordSecretRef レジストリ ログイン パスワードを含むシークレットの名前 文字列
サーバー コンテナレジストリサーバ 文字列
ユーザー名 Container Registry のユーザー名 文字列

ランタイム

名前 Description 価値
ジャヴァ Java アプリの構成 ランタイムJava

ランタイムJava

名前 Description 価値
enableMetrics の Java アプリの jmx コア メトリックを有効にする ブール (bool)

Scale

名前 Description 価値
クールダウン期間 Optional. KEDA のクールダウン期間 (秒)。 既定値は、設定されていない場合は 300 秒です。 整数 (int)
マックスレプリカ Optional. コンテナー レプリカの最大数。 既定値は 10 (設定されていない場合) です。 整数 (int)
minレプリカ Optional. コンテナー レプリカの最小数。 整数 (int)
pollingInterval Optional. KEDA ポーリング間隔 (秒単位)。 既定値は、設定されていない場合は 30 秒です。 整数 (int)
ルール スケーリング ルール。 スケールルール[]

ScaleRule (スケールルール)

名前 Description 価値
azureキュー Azure Queue ベースのスケーリング。 QueueScaleRule の
custom カスタム スケール ルール。 CustomScaleRule の
http HTTP 要求ベースのスケーリング。 HttpScaleRule を する
名前 スケール ルール名 文字列
tcp Tcp 要求ベースのスケーリング。 TcpScaleRule

ScaleRuleAuth (英語)

名前 Description 価値
secretRef です。 認証パラメーターのプル元のシークレットの名前。 文字列
triggerパラメータ シークレットを使用するトリガー パラメーター 文字列

Secret

名前 Description 価値
ID Azure Key Vault で認証するマネージド ID のリソース ID、またはシステム割り当て ID を使用するシステム。 文字列
キー・ボールトURL コンテナー アプリによって参照されるシークレットを指す Azure Key Vault URL。 文字列
名前 シークレット名。 文字列
value シークレット値。 string

制約:
機密性の高い値。 セキュリティで保護されたパラメーターとして渡します。

シークレットボリュームアイテム

名前 Description 価値
パス プロジェクト シークレットのパス。 パスが指定されていない場合、path は既定で secretRef にリストされているシークレットの名前になります。 文字列
secretRef です。 シークレット値のプル元のコンテナー アプリ シークレットの名前。 文字列

サービス

名前 Description 価値
Dev ContainerApp サービスの種類 string (必須)

サービスバインド

名前 Description 価値
名前 サービス バインドの名前 文字列
サービスID ターゲット サービスのリソース ID 文字列

TcpScaleRule

名前 Description 価値
auth TCP スケール ルールの認証シークレット。 ScaleRuleAuth[]
ID コンテナー アプリに割り当てられているユーザー割り当てマネージド ID のリソース ID。システム割り当て ID の場合は "system" です。 文字列
メタデータ TCP スケール ルールを記述するメタデータ プロパティ。 TcpScaleRuleMetadata

TcpScaleRuleMetadata

名前 Description 価値

Template

名前 Description 価値
containers コンテナー アプリのコンテナー定義の一覧。 コンテナー[]
initコンテナ アプリ コンテナーの前に実行される特殊なコンテナーの一覧。 イニットコンテナ[]
リビジョンサフィックス リビジョン名に追加されるわかりやすいサフィックス 文字列
スケーリングする コンテナー アプリのプロパティのスケーリング。 Scale
サービスバインド アプリにバインドされているコンテナー アプリ サービスの一覧 サービスバインド[]
terminationGracePeriodSeconds コンテナー アプリ インスタンスが正常に終了する必要がある時間 (秒単位)。 値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 この値が nil の場合は、代わりに既定の猶予期間が使用されます。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 既定値は 30 秒です。 整数 (int)
volumes コンテナー アプリのボリューム定義の一覧。 ボリューム[]

TrackedResourceTags

名前 Description 価値

トラフィックウェイト

名前 Description 価値
ラベル トラフィック ラベルをリビジョンに関連付けます 文字列
最新リビジョン トラフィックの重みが最新の安定したリビジョンに属していることを示します ブール (bool)
リビジョン名 リビジョンの名前 文字列
重量 リビジョンに割り当てられたトラフィックの重み 整数 (int)

UserAssignedIdentities (ユーザー割り当てアイデンティティ)

名前 Description 価値

UserAssignedIdentity

名前 Description 価値

ボリューム

名前 Description 価値
mountOptions (マウントオプション) Azure ファイル共有または NFS Azure ファイル共有のマウント時に使用されるマウント オプション。 コンマ区切りの文字列である必要があります。 文字列
名前 ボリューム名。 文字列
secrets ボリュームに追加するシークレットの一覧。 シークレットが指定されていない場合、コレクション内のすべてのシークレットがボリュームに追加されます。 シークレットボリュームアイテム[]
ストレージ名 ストレージ リソースの名前。 EmptyDir とシークレットを指定する必要はありません。 文字列
ストレージタイプ ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 'AzureFile'
'EmptyDir'
「NfsAzureファイル」
「シークレット」

ボリュームマウント

名前 Description 価値
マウントパス ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 文字列
サブパス コンテナーのボリュームをマウントするボリューム内のパス。 既定値は "" (ボリュームのルート) です。 文字列
ボリューム名 これはボリュームの名前と一致する必要があります。 文字列

使用例

Terraformサンプル

コンテナー・アプリのデプロイの基本的な例。

terraform {
  required_providers {
    azapi = {
      source = "Azure/azapi"
    }
  }
}

provider "azapi" {
  skip_provider_registration = false
}

variable "resource_name" {
  type    = string
  default = "acctest0001"
}

variable "location" {
  type    = string
  default = "westeurope"
}

resource "azapi_resource" "resourceGroup" {
  type     = "Microsoft.Resources/resourceGroups@2020-06-01"
  name     = var.resource_name
  location = var.location
}

resource "azapi_resource" "workspace" {
  type      = "Microsoft.OperationalInsights/workspaces@2022-10-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      features = {
        disableLocalAuth                            = false
        enableLogAccessUsingOnlyResourcePermissions = true
      }
      publicNetworkAccessForIngestion = "Enabled"
      publicNetworkAccessForQuery     = "Enabled"
      retentionInDays                 = 30
      sku = {
        name = "PerGB2018"
      }
      workspaceCapping = {
        dailyQuotaGb = -1
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

data "azapi_resource_action" "sharedKeys" {
  type                   = "Microsoft.OperationalInsights/workspaces@2020-08-01"
  resource_id            = azapi_resource.workspace.id
  action                 = "sharedKeys"
  response_export_values = ["*"]
}

resource "azapi_resource" "managedEnvironment" {
  type      = "Microsoft.App/managedEnvironments@2022-03-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      appLogsConfiguration = {
        destination = "log-analytics"
        logAnalyticsConfiguration = {
          customerId = azapi_resource.workspace.output.properties.customerId
          sharedKey  = data.azapi_resource_action.sharedKeys.output.primarySharedKey
        }
      }
      vnetConfiguration = {
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

resource "azapi_resource" "containerApp" {
  type      = "Microsoft.App/containerApps@2022-03-01"
  parent_id = azapi_resource.resourceGroup.id
  name      = var.resource_name
  location  = var.location
  body = {
    properties = {
      configuration = {
        activeRevisionsMode = "Single"
      }
      managedEnvironmentId = azapi_resource.managedEnvironment.id
      template = {
        containers = [
          {
            env = [
            ]
            image = "jackofallops/azure-containerapps-python-acctest:v0.0.1"
            name  = "acctest-cont-230630032906865620"
            probes = [
            ]
            resources = {
              cpu              = 0.25
              ephemeralStorage = "1Gi"
              memory           = "0.5Gi"
            }
            volumeMounts = [
            ]
          },
        ]
        scale = {
          maxReplicas = 10
        }
        volumes = [
        ]
      }
    }
  }
  schema_validation_enabled = false
  response_export_values    = ["*"]
}

Azure 検証済みモジュール

次の Azure 検証済みモジュール を使用して、このリソースの種類をデプロイできます。

モジュール Description
コンテナー アプリ コンテナー アプリ用 AVM リソース モジュール