次の方法で共有


Microsoft.App コンテナアプリ 2022-01-01-preview

Bicep リソース定義

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

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

リソースの形式

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

resource symbolicname 'Microsoft.App/containerApps@2022-01-01-preview' = {
  scope: resourceSymbolicName or scope
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
    }
  }
  location: 'string'
  name: 'string'
  properties: {
    configuration: {
      activeRevisionsMode: 'string'
      dapr: {
        appId: 'string'
        appPort: int
        appProtocol: 'string'
        enabled: bool
      }
      ingress: {
        allowInsecure: bool
        customDomains: [
          {
            bindingType: 'string'
            certificateId: 'string'
            name: 'string'
          }
        ]
        external: bool
        targetPort: int
        traffic: [
          {
            latestRevision: bool
            revisionName: 'string'
            weight: int
          }
        ]
        transport: 'string'
      }
      registries: [
        {
          passwordSecretRef: 'string'
          server: 'string'
          username: 'string'
        }
      ]
      secrets: [
        {
          name: 'string'
          value: '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'
              volumeName: 'string'
            }
          ]
        }
      ]
      revisionSuffix: 'string'
      scale: {
        maxReplicas: int
        minReplicas: int
        rules: [
          {
            azureQueue: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              queueLength: int
              queueName: 'string'
            }
            custom: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
              type: 'string'
            }
            http: {
              auth: [
                {
                  secretRef: 'string'
                  triggerParameter: 'string'
                }
              ]
              metadata: {
                {customized property}: 'string'
              }
            }
            name: 'string'
          }
        ]
      }
      volumes: [
        {
          name: 'string'
          storageName: 'string'
          storageType: 'string'
        }
      ]
    }
  }
  tags: {
    {customized property}: 'string'
  }
}

プロパティ値

Microsoft.App/containerApps

名前 説明 価値
ID コード内のシークレットや資格情報を維持することなく、他の Azure サービスと対話するための Container App のマネージド ID。 ManagedServiceIdentity
位置 リソースが存在する地理的な場所 string (必須)
名前 リソース名 string (必須)
プロパティ ContainerApp リソース固有のプロパティ コンテナAppProperties
スコープ デプロイ スコープとは異なるスコープでリソースを作成するときに使用します。 このプロパティをリソースのシンボリック名に設定して、拡張リソースを適用します。
タグ リソース タグ タグ名と値のディクショナリ。 テンプレート タグを参照してください

コンフィギュレーション

名前 説明 価値
アクティブリビジョンモード ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。
<list><item>Multiple: 複数のリビジョンをアクティブにすることができます。 値が指定されていない場合、これは既定値</item><item>Single: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません</item></list>
「複数」
「シングル」
Daprフレームワーク コンテナー アプリの Dapr 構成。 Dapr の
イングレス イングレス構成。 イングレス
レジストリ コンテナー アプリによって使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション レジストリ資格情報[]
秘密 コンテナー アプリによって使用されるシークレットのコレクション シークレット[]

コンテナ

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

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

名前 説明 価値
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 の
終了猶予期間秒 プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 整数 (int)
タイムアウト秒 プローブがタイムアウトする秒数。既定値は 1 秒です。 最大値は 1 です。 最大値は 240 です。 整数 (int)
プローブの種類。 「ライブネス」
「準備」
「スタートアップ」

ContainerAppProbeHttpGet

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

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket

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

コンテナAppProperties

名前 説明 価値
構成 バージョン管理されていない Container App 構成プロパティ。 構成
managedEnvironmentId の コンテナー アプリの環境のリソース ID。 文字列
テンプレート コンテナー アプリのバージョン管理されたアプリケーション定義。 テンプレート

コンテナリソース

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

カスタムドメイン

名前 説明 価値
バインディングタイプ カスタム ドメイン バインドの種類。 「無効」
「SniEnabled」
証明書ID このホスト名にバインドする証明書のリソース ID。 文字列
名前 ホスト名。 string (必須)

CustomScaleRule

名前 説明 価値
認証 カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
メタデータ カスタム スケール ルールを記述するメタデータ プロパティ。 CustomScaleRuleMetadata を する
カスタム スケール ルールの種類
例: azure-servicebus、redis など。
文字列

CustomScaleRuleメタデータ

名前 説明 価値

Dapr

名前 説明 価値
アプリID Dapr アプリケーション識別子 文字列
アプリケーションポート アプリケーションがリッスンしているポートを Dapr に通知します 整数 (int)
appプロトコル アプリケーションが使用しているプロトコルを Dapr に通知します。 有効なオプションは http と grpc です。 既定値は http です 'grpc'
「http」
有効 Dapr 側の車が有効かどうかを示すブール値 ブール (bool)

EnvironmentVar (環境変数)

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

HttpScaleRule (英語)

名前 説明 価値
認証 カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
メタデータ http スケール ルールを記述するメタデータ プロパティ。 HttpScaleRuleMetadata を する

HttpScaleRuleMetadata の

名前 説明 価値

イングレス

名前 説明 価値
allowInsecure (安全でない) HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTPS 接続に自動的にリダイレクトされます ブール (bool)
カスタムドメイン Container Apps のホスト名のカスタム ドメイン バインド。 カスタムドメイン[]
アプリが外部 http エンドポイントを公開するかどうかを示すブール値 ブール (bool)
ターゲットポート イングレスからのトラフィックのコンテナー内のターゲット ポート 整数 (int)
トラフィック アプリのリビジョンのトラフィックの重み付け トラフィックウェイト[]
転送 イングレス トランスポート プロトコル 自動車
「http」
「http2」

マネージドサービスアイデンティティ

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

キュー スケール ルール

名前 説明 価値
認証 キュー スケール ルールの認証シークレット。 ScaleRuleAuth[]
キューの長さ キューの長さ。 整数 (int)
キュー名 キュー名。 文字列

レジストリ資格情報

名前 説明 価値
passwordSecretRef レジストリ ログイン パスワードを含むシークレットの名前 文字列
サーバー コンテナレジストリサーバ 文字列
ユーザー名 Container Registry のユーザー名 文字列

規模

名前 説明 価値
マックスレプリカ 任意。 コンテナー レプリカの最大数。 既定値は 10 (設定されていない場合) です。 整数 (int)
minレプリカ 任意。 コンテナー レプリカの最小数。 整数 (int)
ルール スケーリング ルール。 スケールルール[]

ScaleRule (スケールルール)

名前 説明 価値
azureキュー Azure Queue ベースのスケーリング。 QueueScaleRule の
習慣 カスタム スケール ルール。 CustomScaleRule の
http HTTP 要求ベースのスケーリング。 HttpScaleRule を する
名前 スケール ルール名 文字列

ScaleRuleAuth (英語)

名前 説明 価値
secretRef です。 認証パラメーターのプル元となるコンテナー アプリ シークレットの名前。 文字列
triggerパラメータ シークレットを使用するトリガー パラメーター 文字列

秘密

名前 説明 価値
名前 シークレット名。 文字列
価値 シークレット値。

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

テンプレート

名前 説明 価値
コンテナー コンテナー アプリのコンテナー定義の一覧。 コンテナー[]
リビジョンサフィックス リビジョン名に追加されるわかりやすいサフィックス 文字列
スケーリングする コンテナー アプリのプロパティのスケーリング。 スケール
ボリューム コンテナー アプリのボリューム定義の一覧。 ボリューム[]

追跡リソースタグ

名前 説明 価値

トラフィックウェイト

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

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

名前 説明 価値

ユーザー割り当て識別子

名前 説明 価値

ボリューム

名前 説明 価値
名前 ボリューム名。 文字列
ストレージ名 ストレージ リソースの名前。 EmptyDir を指定する必要はありません。 文字列
ストレージタイプ ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 「Azureファイル」
'EmptyDir'

ボリュームマウント

名前 説明 価値
マウントパス ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 文字列
ボリューム名 これはボリュームの名前と一致する必要があります。 文字列

使用例

Azure 検証済みモジュール

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

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

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

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

Bicep ファイル 説明
レジストリ を使用してコンテナー アプリと環境を作成する 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": "2022-01-01-preview",
  "name": "string",
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {
      }
    }
  },
  "location": "string",
  "properties": {
    "configuration": {
      "activeRevisionsMode": "string",
      "dapr": {
        "appId": "string",
        "appPort": "int",
        "appProtocol": "string",
        "enabled": "bool"
      },
      "ingress": {
        "allowInsecure": "bool",
        "customDomains": [
          {
            "bindingType": "string",
            "certificateId": "string",
            "name": "string"
          }
        ],
        "external": "bool",
        "targetPort": "int",
        "traffic": [
          {
            "latestRevision": "bool",
            "revisionName": "string",
            "weight": "int"
          }
        ],
        "transport": "string"
      },
      "registries": [
        {
          "passwordSecretRef": "string",
          "server": "string",
          "username": "string"
        }
      ],
      "secrets": [
        {
          "name": "string",
          "value": "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",
              "volumeName": "string"
            }
          ]
        }
      ],
      "revisionSuffix": "string",
      "scale": {
        "maxReplicas": "int",
        "minReplicas": "int",
        "rules": [
          {
            "azureQueue": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "queueLength": "int",
              "queueName": "string"
            },
            "custom": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              },
              "type": "string"
            },
            "http": {
              "auth": [
                {
                  "secretRef": "string",
                  "triggerParameter": "string"
                }
              ],
              "metadata": {
                "{customized property}": "string"
              }
            },
            "name": "string"
          }
        ]
      },
      "volumes": [
        {
          "name": "string",
          "storageName": "string",
          "storageType": "string"
        }
      ]
    }
  },
  "tags": {
    "{customized property}": "string"
  }
}

プロパティ値

Microsoft.App/containerApps

名前 説明 価値
apiVersion (英語) API のバージョン '2022-01-01-プレビュー'
ID コード内のシークレットや資格情報を維持することなく、他の Azure サービスと対話するための Container App のマネージド ID。 ManagedServiceIdentity
位置 リソースが存在する地理的な場所 string (必須)
名前 リソース名 string (必須)
プロパティ ContainerApp リソース固有のプロパティ コンテナAppProperties
タグ リソース タグ タグ名と値のディクショナリ。 テンプレート タグを参照してください
リソースの種類 「Microsoft.App/containerApps」

コンフィギュレーション

名前 説明 価値
アクティブリビジョンモード ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。
<list><item>Multiple: 複数のリビジョンをアクティブにすることができます。 値が指定されていない場合、これは既定値</item><item>Single: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません</item></list>
「複数」
「シングル」
Daprフレームワーク コンテナー アプリの Dapr 構成。 Dapr の
イングレス イングレス構成。 イングレス
レジストリ コンテナー アプリによって使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション レジストリ資格情報[]
秘密 コンテナー アプリによって使用されるシークレットのコレクション シークレット[]

コンテナ

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

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

名前 説明 価値
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 の
終了猶予期間秒 プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 整数 (int)
タイムアウト秒 プローブがタイムアウトする秒数。既定値は 1 秒です。 最大値は 1 です。 最大値は 240 です。 整数 (int)
プローブの種類。 「ライブネス」
「準備」
「スタートアップ」

ContainerAppProbeHttpGet

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

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket

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

コンテナAppProperties

名前 説明 価値
構成 バージョン管理されていない Container App 構成プロパティ。 構成
managedEnvironmentId の コンテナー アプリの環境のリソース ID。 文字列
テンプレート コンテナー アプリのバージョン管理されたアプリケーション定義。 テンプレート

コンテナリソース

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

カスタムドメイン

名前 説明 価値
バインディングタイプ カスタム ドメイン バインドの種類。 「無効」
「SniEnabled」
証明書ID このホスト名にバインドする証明書のリソース ID。 文字列
名前 ホスト名。 string (必須)

CustomScaleRule

名前 説明 価値
認証 カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
メタデータ カスタム スケール ルールを記述するメタデータ プロパティ。 CustomScaleRuleMetadata を する
カスタム スケール ルールの種類
例: azure-servicebus、redis など。
文字列

CustomScaleRuleメタデータ

名前 説明 価値

Dapr

名前 説明 価値
アプリID Dapr アプリケーション識別子 文字列
アプリケーションポート アプリケーションがリッスンしているポートを Dapr に通知します 整数 (int)
appプロトコル アプリケーションが使用しているプロトコルを Dapr に通知します。 有効なオプションは http と grpc です。 既定値は http です 'grpc'
「http」
有効 Dapr 側の車が有効かどうかを示すブール値 ブール (bool)

EnvironmentVar (環境変数)

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

HttpScaleRule (英語)

名前 説明 価値
認証 カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
メタデータ http スケール ルールを記述するメタデータ プロパティ。 HttpScaleRuleMetadata を する

HttpScaleRuleMetadata の

名前 説明 価値

イングレス

名前 説明 価値
allowInsecure (安全でない) HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTPS 接続に自動的にリダイレクトされます ブール (bool)
カスタムドメイン Container Apps のホスト名のカスタム ドメイン バインド。 カスタムドメイン[]
アプリが外部 http エンドポイントを公開するかどうかを示すブール値 ブール (bool)
ターゲットポート イングレスからのトラフィックのコンテナー内のターゲット ポート 整数 (int)
トラフィック アプリのリビジョンのトラフィックの重み付け トラフィックウェイト[]
転送 イングレス トランスポート プロトコル 自動車
「http」
「http2」

マネージドサービスアイデンティティ

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

キュー スケール ルール

名前 説明 価値
認証 キュー スケール ルールの認証シークレット。 ScaleRuleAuth[]
キューの長さ キューの長さ。 整数 (int)
キュー名 キュー名。 文字列

レジストリ資格情報

名前 説明 価値
passwordSecretRef レジストリ ログイン パスワードを含むシークレットの名前 文字列
サーバー コンテナレジストリサーバ 文字列
ユーザー名 Container Registry のユーザー名 文字列

規模

名前 説明 価値
マックスレプリカ 任意。 コンテナー レプリカの最大数。 既定値は 10 (設定されていない場合) です。 整数 (int)
minレプリカ 任意。 コンテナー レプリカの最小数。 整数 (int)
ルール スケーリング ルール。 スケールルール[]

ScaleRule (スケールルール)

名前 説明 価値
azureキュー Azure Queue ベースのスケーリング。 QueueScaleRule の
習慣 カスタム スケール ルール。 CustomScaleRule の
http HTTP 要求ベースのスケーリング。 HttpScaleRule を する
名前 スケール ルール名 文字列

ScaleRuleAuth (英語)

名前 説明 価値
secretRef です。 認証パラメーターのプル元となるコンテナー アプリ シークレットの名前。 文字列
triggerパラメータ シークレットを使用するトリガー パラメーター 文字列

秘密

名前 説明 価値
名前 シークレット名。 文字列
価値 シークレット値。

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

テンプレート

名前 説明 価値
コンテナー コンテナー アプリのコンテナー定義の一覧。 コンテナー[]
リビジョンサフィックス リビジョン名に追加されるわかりやすいサフィックス 文字列
スケーリングする コンテナー アプリのプロパティのスケーリング。 スケール
ボリューム コンテナー アプリのボリューム定義の一覧。 ボリューム[]

追跡リソースタグ

名前 説明 価値

トラフィックウェイト

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

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

名前 説明 価値

ユーザー割り当て識別子

名前 説明 価値

ボリューム

名前 説明 価値
名前 ボリューム名。 文字列
ストレージ名 ストレージ リソースの名前。 EmptyDir を指定する必要はありません。 文字列
ストレージタイプ ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 「Azureファイル」
'EmptyDir'

ボリュームマウント

名前 説明 価値
マウントパス ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 文字列
ボリューム名 これはボリュームの名前と一致する必要があります。 文字列

使用例

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

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

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

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@2022-01-01-preview"
  name = "string"
  parent_id = "string"
  identity {
    type = "string"
    identity_ids = [
      "string"
    ]
  }
  location = "string"
  tags = {
    {customized property} = "string"
  }
  body = {
    properties = {
      configuration = {
        activeRevisionsMode = "string"
        dapr = {
          appId = "string"
          appPort = int
          appProtocol = "string"
          enabled = bool
        }
        ingress = {
          allowInsecure = bool
          customDomains = [
            {
              bindingType = "string"
              certificateId = "string"
              name = "string"
            }
          ]
          external = bool
          targetPort = int
          traffic = [
            {
              latestRevision = bool
              revisionName = "string"
              weight = int
            }
          ]
          transport = "string"
        }
        registries = [
          {
            passwordSecretRef = "string"
            server = "string"
            username = "string"
          }
        ]
        secrets = [
          {
            name = "string"
            value = "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"
                volumeName = "string"
              }
            ]
          }
        ]
        revisionSuffix = "string"
        scale = {
          maxReplicas = int
          minReplicas = int
          rules = [
            {
              azureQueue = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                queueLength = int
                queueName = "string"
              }
              custom = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
                type = "string"
              }
              http = {
                auth = [
                  {
                    secretRef = "string"
                    triggerParameter = "string"
                  }
                ]
                metadata = {
                  {customized property} = "string"
                }
              }
              name = "string"
            }
          ]
        }
        volumes = [
          {
            name = "string"
            storageName = "string"
            storageType = "string"
          }
        ]
      }
    }
  }
}

プロパティ値

Microsoft.App/containerApps

名前 説明 価値
ID コード内のシークレットや資格情報を維持することなく、他の Azure サービスと対話するための Container App のマネージド ID。 ManagedServiceIdentity
位置 リソースが存在する地理的な場所 string (必須)
名前 リソース名 string (必須)
parent_id この拡張リソースを適用するリソースの ID。 string (必須)
プロパティ ContainerApp リソース固有のプロパティ コンテナAppProperties
タグ リソース タグ タグ名と値のディクショナリ。
リソースの種類 「Microsoft.App/containerApps@2022-01-01-preview」

コンフィギュレーション

名前 説明 価値
アクティブリビジョンモード ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。
<list><item>Multiple: 複数のリビジョンをアクティブにすることができます。 値が指定されていない場合、これは既定値</item><item>Single: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません</item></list>
「複数」
「シングル」
Daprフレームワーク コンテナー アプリの Dapr 構成。 Dapr の
イングレス イングレス構成。 イングレス
レジストリ コンテナー アプリによって使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション レジストリ資格情報[]
秘密 コンテナー アプリによって使用されるシークレットのコレクション シークレット[]

コンテナ

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

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

名前 説明 価値
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 の
終了猶予期間秒 プローブの障害時にポッドを正常に終了する必要がある時間 (秒単位)。 猶予期間は、ポッドで実行されているプロセスが終了シグナルを送信してから数秒で、プロセスが強制終了シグナルで強制的に停止される時間です。 この値は、プロセスの予想されるクリーンアップ時間よりも長く設定します。 この値が nil の場合、ポッドの terminationGracePeriodSeconds が使用されます。 それ以外の場合、この値はポッド スペックによって提供される値をオーバーライドします。値は負以外の整数である必要があります。 値 0 は、強制終了信号を介して直ちに停止することを示します (シャットダウンする機会はありません)。 これはアルファ フィールドであり、ProbeTerminationGracePeriod 機能ゲートを有効にする必要があります。 最大値は 3600 秒 (1 時間) です。 整数 (int)
タイムアウト秒 プローブがタイムアウトする秒数。既定値は 1 秒です。 最大値は 1 です。 最大値は 240 です。 整数 (int)
プローブの種類。 「ライブネス」
「準備」
「スタートアップ」

ContainerAppProbeHttpGet

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

ContainerAppProbeHttpGetHttpHeadersItem

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

ContainerAppProbeTcpSocket

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

コンテナAppProperties

名前 説明 価値
構成 バージョン管理されていない Container App 構成プロパティ。 構成
managedEnvironmentId の コンテナー アプリの環境のリソース ID。 文字列
テンプレート コンテナー アプリのバージョン管理されたアプリケーション定義。 テンプレート

コンテナリソース

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

カスタムドメイン

名前 説明 価値
バインディングタイプ カスタム ドメイン バインドの種類。 「無効」
「SniEnabled」
証明書ID このホスト名にバインドする証明書のリソース ID。 文字列
名前 ホスト名。 string (必須)

CustomScaleRule

名前 説明 価値
認証 カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
メタデータ カスタム スケール ルールを記述するメタデータ プロパティ。 CustomScaleRuleMetadata を する
カスタム スケール ルールの種類
例: azure-servicebus、redis など。
文字列

CustomScaleRuleメタデータ

名前 説明 価値

Dapr

名前 説明 価値
アプリID Dapr アプリケーション識別子 文字列
アプリケーションポート アプリケーションがリッスンしているポートを Dapr に通知します 整数 (int)
appプロトコル アプリケーションが使用しているプロトコルを Dapr に通知します。 有効なオプションは http と grpc です。 既定値は http です 'grpc'
「http」
有効 Dapr 側の車が有効かどうかを示すブール値 ブール (bool)

EnvironmentVar (環境変数)

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

HttpScaleRule (英語)

名前 説明 価値
認証 カスタム スケール ルールの認証シークレット。 ScaleRuleAuth[]
メタデータ http スケール ルールを記述するメタデータ プロパティ。 HttpScaleRuleMetadata を する

HttpScaleRuleMetadata の

名前 説明 価値

イングレス

名前 説明 価値
allowInsecure (安全でない) HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTPS 接続に自動的にリダイレクトされます ブール (bool)
カスタムドメイン Container Apps のホスト名のカスタム ドメイン バインド。 カスタムドメイン[]
アプリが外部 http エンドポイントを公開するかどうかを示すブール値 ブール (bool)
ターゲットポート イングレスからのトラフィックのコンテナー内のターゲット ポート 整数 (int)
トラフィック アプリのリビジョンのトラフィックの重み付け トラフィックウェイト[]
転送 イングレス トランスポート プロトコル 自動車
「http」
「http2」

マネージドサービスアイデンティティ

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

キュー スケール ルール

名前 説明 価値
認証 キュー スケール ルールの認証シークレット。 ScaleRuleAuth[]
キューの長さ キューの長さ。 整数 (int)
キュー名 キュー名。 文字列

レジストリ資格情報

名前 説明 価値
passwordSecretRef レジストリ ログイン パスワードを含むシークレットの名前 文字列
サーバー コンテナレジストリサーバ 文字列
ユーザー名 Container Registry のユーザー名 文字列

規模

名前 説明 価値
マックスレプリカ 任意。 コンテナー レプリカの最大数。 既定値は 10 (設定されていない場合) です。 整数 (int)
minレプリカ 任意。 コンテナー レプリカの最小数。 整数 (int)
ルール スケーリング ルール。 スケールルール[]

ScaleRule (スケールルール)

名前 説明 価値
azureキュー Azure Queue ベースのスケーリング。 QueueScaleRule の
習慣 カスタム スケール ルール。 CustomScaleRule の
http HTTP 要求ベースのスケーリング。 HttpScaleRule を する
名前 スケール ルール名 文字列

ScaleRuleAuth (英語)

名前 説明 価値
secretRef です。 認証パラメーターのプル元となるコンテナー アプリ シークレットの名前。 文字列
triggerパラメータ シークレットを使用するトリガー パラメーター 文字列

秘密

名前 説明 価値
名前 シークレット名。 文字列
価値 シークレット値。

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

テンプレート

名前 説明 価値
コンテナー コンテナー アプリのコンテナー定義の一覧。 コンテナー[]
リビジョンサフィックス リビジョン名に追加されるわかりやすいサフィックス 文字列
スケーリングする コンテナー アプリのプロパティのスケーリング。 スケール
ボリューム コンテナー アプリのボリューム定義の一覧。 ボリューム[]

追跡リソースタグ

名前 説明 価値

トラフィックウェイト

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

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

名前 説明 価値

ユーザー割り当て識別子

名前 説明 価値

ボリューム

名前 説明 価値
名前 ボリューム名。 文字列
ストレージ名 ストレージ リソースの名前。 EmptyDir を指定する必要はありません。 文字列
ストレージタイプ ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 「Azureファイル」
'EmptyDir'

ボリュームマウント

名前 説明 価値
マウントパス ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 文字列
ボリューム名 これはボリュームの名前と一致する必要があります。 文字列

使用例

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 検証済みモジュール を使用して、このリソースの種類をデプロイできます。

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