ARM テンプレート リソース定義
containerApps リソースの種類は、次を対象とする操作と共にデプロイできます。
各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。
Microsoft.App/containerApps リソースを作成するには、次の JSON をテンプレートに追加します。
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2022-10-01",
"name": "string",
"extendedLocation": {
"name": "string",
"type": "string"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {
}
}
},
"location": "string",
"properties": {
"configuration": {
"activeRevisionsMode": "string",
"dapr": {
"appId": "string",
"appPort": "int",
"appProtocol": "string",
"enableApiLogging": "bool",
"enabled": "bool",
"httpMaxRequestSize": "int",
"httpReadBufferSize": "int",
"logLevel": "string"
},
"ingress": {
"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"
}
],
"targetPort": "int",
"traffic": [
{
"label": "string",
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"maxInactiveRevisions": "int",
"registries": [
{
"identity": "string",
"passwordSecretRef": "string",
"server": "string",
"username": "string"
}
],
"secrets": [
{
"name": "string",
"value": "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",
"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",
"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",
"tcp": {
"auth": [
{
"secretRef": "string",
"triggerParameter": "string"
}
],
"metadata": {
"{customized property}": "string"
}
}
}
]
},
"volumes": [
{
"name": "string",
"storageName": "string",
"storageType": "string"
}
]
},
"workloadProfileType": "string"
},
"tags": {
"{customized property}": "string"
}
}
プロパティ値
Microsoft.App/containerApps
| 名前 |
説明 |
価値 |
| apiVersion (英語) |
API のバージョン |
'2022-10-01' |
| 拡張ロケーション |
拡張された場所の複合型。 |
拡張ロケーション |
| ID |
コード内のシークレットや資格情報を維持することなく、他の Azure サービスと対話するための Container App のマネージド ID。 |
ManagedServiceIdentity の |
| 位置 |
リソースが存在する地理的な場所 |
string (必須) |
| 名前 |
リソース名 |
string (必須) |
| プロパティ |
ContainerApp リソース固有のプロパティ |
コンテナAppProperties |
| タグ |
リソース タグ |
タグ名と値のディクショナリ。 テンプレート の タグを参照してください |
| 型 |
リソースの種類 |
「Microsoft.App/containerApps」 |
コンフィギュレーション
| 名前 |
説明 |
価値 |
| アクティブリビジョンモード |
ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。
<リスト><アイテム>複数のリビジョンをアクティブにすることができます。</item><項目>単一: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません。 値が指定されていない場合は、これが既定値です。/list<></item を>する |
「複数」 「シングル」 |
| Daprフレームワーク |
コンテナー アプリの Dapr 構成。 |
Dapr の |
| イングレス |
イングレス構成。 |
イングレス |
| maxInactiveRevisionsの |
任意。 コンテナー アプリで使用できる非アクティブなリビジョンの最大数。 |
整数 (int) |
| レジストリ |
コンテナー アプリによって使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション |
レジストリ資格情報[] |
| 秘密 |
コンテナー アプリによって使用されるシークレットのコレクション |
シークレット[] |
コンテナ
| 名前 |
説明 |
価値 |
| 引数 |
コンテナーの開始コマンド引数。 |
文字列[] |
| コマンド |
コンテナーの開始コマンド。 |
文字列[] |
| 環境 |
コンテナー環境変数。 |
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」 |
| 名前 |
説明 |
価値 |
| 名前 |
ヘッダー フィールド名 |
string (必須) |
| 価値 |
ヘッダー フィールドの値 |
string (必須) |
ContainerAppProbeTcpSocket
| 名前 |
説明 |
価値 |
| ホスティング |
省略可能: 接続先のホスト名。既定ではポッド IP が使用されます。 |
文字列 |
| ポート |
コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
コンテナAppProperties
| 名前 |
説明 |
価値 |
| 構成 |
バージョン管理されていない Container App 構成プロパティ。 |
構成 |
| 環境ID |
環境のリソース ID。 |
文字列 |
| managedEnvironmentId の |
非推奨になりました。 コンテナー アプリの環境のリソース ID。 |
文字列 |
| テンプレート |
コンテナー アプリのバージョン管理されたアプリケーション定義。 |
テンプレート |
| ワークロードプロファイルタイプ |
コンテナー アプリの実行にピン留めするワークロード プロファイルの種類。 |
文字列 |
コンテナリソース
| 名前 |
説明 |
価値 |
| CPUの |
コアで必要な CPU (例: 0.5) |
整数 (int) |
| メモリ |
必要なメモリ (例: "250Mb" ) |
文字列 |
CorsPolicy(コルスポリシー)
| 名前 |
説明 |
価値 |
| allowCredentials の |
資格情報を許可するかどうか |
ブール (bool) |
| allowedヘッダー |
許可されている HTTP ヘッダー |
文字列[] |
| allowedメソッド |
許可される HTTP メソッド |
文字列[] |
| allowedOrigins |
許可される配信元 |
string[] (必須) |
| exposeヘッダー |
HTTP ヘッダーを公開する |
文字列[] |
| マックスエイジ |
クライアントが結果をキャッシュできる最大時間 |
整数 (int) |
カスタムドメイン
| 名前 |
説明 |
価値 |
| バインディングタイプ |
カスタム ドメイン バインドの種類。 |
「無効」 「SniEnabled」 |
| 証明書ID |
このホスト名にバインドする証明書のリソース ID。 |
文字列 |
| 名前 |
ホスト名。 |
string (必須) |
CustomScaleRule
| 名前 |
説明 |
価値 |
| 認証 |
カスタム スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
| メタデータ |
カスタム スケール ルールを記述するメタデータ プロパティ。 |
CustomScaleRuleMetadata を する |
| 型 |
カスタム スケール ルールの種類 例: azure-servicebus、redis など。 |
文字列 |
Dapr
| 名前 |
説明 |
価値 |
| アプリID |
Dapr アプリケーション識別子 |
文字列 |
| アプリケーションポート |
アプリケーションがリッスンしているポートを Dapr に通知します |
整数 (int) |
| appプロトコル |
アプリケーションが使用しているプロトコルを Dapr に通知します。 有効なオプションは http と grpc です。 既定値は http です |
'grpc' 「http」 |
| enableApiロギング |
Dapr サイドカーの API ログ記録を有効にします |
ブール (bool) |
| 有効 |
Dapr 側の車が有効かどうかを示すブール値 |
ブール (bool) |
| httpMaxRequestSize(英語) |
大きなファイルのアップロードを処理するために、要求本文 http および grpc サーバーパラメーターの最大サイズを MB 単位で増やします。 既定値は 4 MB です。 |
整数 (int) |
| httpReadBufferSize (英語) |
マルチ KB ヘッダーを送信するときに処理する http ヘッダー読み取りバッファーの最大サイズ (KB 単位)。 既定値は 65 KB です。 |
整数 (int) |
| ログレベル |
Dapr サイドカーのログ レベルを設定します。 使用できる値は、デバッグ、情報、警告、エラーです。 既定値は info です。 |
'デバッグ' 'エラー' '情報' 「警告」 |
EnvironmentVar (環境変数)
| 名前 |
説明 |
価値 |
| 名前 |
環境変数の名前。 |
文字列 |
| secretRef です。 |
環境変数の値をプルするコンテナー アプリ シークレットの名前。 |
文字列 |
| 価値 |
シークレット以外の環境変数の値。 |
文字列 |
拡張ロケーション
| 名前 |
説明 |
価値 |
| 名前 |
拡張された場所の名前。 |
文字列 |
| 型 |
拡張された場所の種類。 |
「カスタムロケーション」 |
HttpScaleRule (英語)
| 名前 |
説明 |
価値 |
| 認証 |
カスタム スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
| メタデータ |
http スケール ルールを記述するメタデータ プロパティ。 |
HttpScaleRuleMetadata を する |
イングレス
| 名前 |
説明 |
価値 |
| allowInsecure (安全でない) |
HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTPS 接続に自動的にリダイレクトされます |
ブール (bool) |
| クライアント証明書モード |
mTLS 認証のクライアント証明書モード。 無視は、転送時にサーバーがクライアント証明書を削除することを示します。 Accept は、サーバーがクライアント証明書を転送しますが、クライアント証明書は必要ないことを示します。 Require は、サーバーにクライアント証明書が必要であることを示します。 |
'受け入れる' '無視' '必要' |
| corsポリシー |
コンテナー アプリの CORS ポリシー |
CorsPolicy の |
| カスタムドメイン |
Container Apps のホスト名のカスタム ドメイン バインド。 |
カスタムドメイン[] |
| エクスポーズドポート |
イングレスからの TCP トラフィック用のコンテナー内の公開ポート |
整数 (int) |
| 外 |
アプリが外部 http エンドポイントを公開するかどうかを示すブール値 |
ブール (bool) |
| ipSecurityの制限 |
受信 IP アドレスを制限する規則。 |
IpSecurityRestrictionルール[] |
| ターゲットポート |
イングレスからのトラフィックのコンテナー内のターゲット ポート |
整数 (int) |
| トラフィック |
アプリのリビジョンのトラフィックの重み付け |
トラフィックウェイト[] |
| 転送 |
イングレス トランスポート プロトコル |
自動車 「http」 「http2」 'tcp' |
イニットコンテナ
| 名前 |
説明 |
価値 |
| 引数 |
コンテナーの開始コマンド引数。 |
文字列[] |
| コマンド |
コンテナーの開始コマンド。 |
文字列[] |
| 環境 |
コンテナー環境変数。 |
EnvironmentVar[] |
| イメージ |
コンテナー イメージ タグ。 |
文字列 |
| 名前 |
カスタム コンテナー名。 |
文字列 |
| リソース |
コンテナー リソースの要件。 |
ContainerResources の |
| ボリュームマウント |
コンテナー ボリュームのマウント。 |
ボリュームマウント[] |
IpSecurityRestrictionRule
| 名前 |
説明 |
価値 |
| アクション |
受信 IP を決定する規則を許可または拒否します。 注: ルールは ALL Allow または ALL Deny のみで構成できます |
「許可する」 'Deny' (必須) |
| 説明 |
コンテナー アプリに送信される IP 制限規則について説明します。 これは任意のフィールドです。 |
文字列 |
| ipAddressRange (英語) |
受信 IP アドレスと一致する CIDR 表記 |
string (必須) |
| 名前 |
IP 制限規則の名前。 |
string (必須) |
マネージドサービスアイデンティティ
| 名前 |
説明 |
価値 |
| 型 |
マネージド サービス ID の種類 (SystemAssigned 型と UserAssigned 型の両方が許可されます)。 |
「なし」 'システム割り当て' 'システム割り当て済み、ユーザー割り当て済み' 'UserAssigned' (必須) |
| userAssignedIdentities (ユーザー割り当て済みアイデンティティ) |
リソースに関連付けられているユーザー割り当て ID のセット。 userAssignedIdentities ディクショナリ キーは、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} という形式の ARM リソース ID になります。 ディクショナリ値は、要求内の空のオブジェクト ({}) にすることができます。 |
UserAssignedIdentities の |
キュー スケール ルール
| 名前 |
説明 |
価値 |
| 認証 |
キュー スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
| キューの長さ |
キューの長さ。 |
整数 (int) |
| キュー名 |
キュー名。 |
文字列 |
レジストリ資格情報
| 名前 |
説明 |
価値 |
| ID |
Azure Container Registry での認証に使用するマネージド ID。 ユーザー割り当て ID の場合は、完全なユーザー割り当て ID リソース ID を使用します。 システム割り当て ID の場合は、'system' を使用します |
文字列 |
| passwordSecretRef |
レジストリ ログイン パスワードを含むシークレットの名前 |
文字列 |
| サーバー |
コンテナレジストリサーバ |
文字列 |
| ユーザー名 |
Container Registry のユーザー名 |
文字列 |
規模
| 名前 |
説明 |
価値 |
| マックスレプリカ |
任意。 コンテナー レプリカの最大数。 既定値は 10 (設定されていない場合) です。 |
整数 (int) |
| minレプリカ |
任意。 コンテナー レプリカの最小数。 |
整数 (int) |
| ルール |
スケーリング ルール。 |
スケールルール[] |
ScaleRule (スケールルール)
| 名前 |
説明 |
価値 |
| azureキュー |
Azure Queue ベースのスケーリング。 |
QueueScaleRule の |
| 習慣 |
カスタム スケール ルール。 |
CustomScaleRule の |
| http |
HTTP 要求ベースのスケーリング。 |
HttpScaleRule を する |
| 名前 |
スケール ルール名 |
文字列 |
| TCP |
Tcp 要求ベースのスケーリング。 |
TcpScaleRule の |
ScaleRuleAuth (英語)
| 名前 |
説明 |
価値 |
| secretRef です。 |
認証パラメーターのプル元となるコンテナー アプリ シークレットの名前。 |
文字列 |
| triggerパラメータ |
シークレットを使用するトリガー パラメーター |
文字列 |
秘密
| 名前 |
説明 |
価値 |
| 名前 |
シークレット名。 |
文字列 |
| 価値 |
シークレット値。 |
糸
制約: 機密性の高い値。 セキュリティで保護されたパラメーターとして渡します。 |
TcpScaleRule の略
| 名前 |
説明 |
価値 |
| 認証 |
TCP スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
| メタデータ |
TCP スケール ルールを記述するメタデータ プロパティ。 |
TcpScaleRuleMetadata の |
テンプレート
| 名前 |
説明 |
価値 |
| コンテナー |
コンテナー アプリのコンテナー定義の一覧。 |
コンテナー[] |
| initコンテナ |
アプリ コンテナーの前に実行される特殊なコンテナーの一覧。 |
イニットコンテナ[] |
| リビジョンサフィックス |
リビジョン名に追加されるわかりやすいサフィックス |
文字列 |
| スケーリングする |
コンテナー アプリのプロパティのスケーリング。 |
スケール |
| ボリューム |
コンテナー アプリのボリューム定義の一覧。 |
ボリューム[] |
トラフィックウェイト
| 名前 |
説明 |
価値 |
| ラベル |
トラフィック ラベルをリビジョンに関連付けます |
文字列 |
| 最新リビジョン |
トラフィックの重みが最新の安定したリビジョンに属していることを示します |
ブール (bool) |
| リビジョン名 |
リビジョンの名前 |
文字列 |
| 重量 |
リビジョンに割り当てられたトラフィックの重み |
整数 (int) |
UserAssignedIdentities (ユーザー割り当てアイデンティティ)
ユーザー割り当て識別子
ボリューム
| 名前 |
説明 |
価値 |
| 名前 |
ボリューム名。 |
文字列 |
| ストレージ名 |
ストレージ リソースの名前。 EmptyDir を指定する必要はありません。 |
文字列 |
| ストレージタイプ |
ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 |
「Azureファイル」 'EmptyDir' |
ボリュームマウント
| 名前 |
説明 |
価値 |
| マウントパス |
ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 |
文字列 |
| ボリューム名 |
これはボリュームの名前と一致する必要があります。 |
文字列 |
使用例
Azure クイックスタート テンプレート
このリソースの種類 デプロイする Azure クイック スタート テンプレート 次に示します。
| テンプレート |
説明 |
レジストリ を使用してコンテナー アプリと環境を作成する
|
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 を使用して内部コンテナー アプリ環境を作成します。 |
containerApps リソースの種類は、次を対象とする操作と共にデプロイできます。
各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。
Microsoft.App/containerApps リソースを作成するには、次の Terraform をテンプレートに追加します。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2022-10-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
location = "string"
tags = {
{customized property} = "string"
}
body = {
extendedLocation = {
name = "string"
type = "string"
}
properties = {
configuration = {
activeRevisionsMode = "string"
dapr = {
appId = "string"
appPort = int
appProtocol = "string"
enableApiLogging = bool
enabled = bool
httpMaxRequestSize = int
httpReadBufferSize = int
logLevel = "string"
}
ingress = {
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"
}
]
targetPort = int
traffic = [
{
label = "string"
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
maxInactiveRevisions = int
registries = [
{
identity = "string"
passwordSecretRef = "string"
server = "string"
username = "string"
}
]
secrets = [
{
name = "string"
value = "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"
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"
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"
tcp = {
auth = [
{
secretRef = "string"
triggerParameter = "string"
}
]
metadata = {
{customized property} = "string"
}
}
}
]
}
volumes = [
{
name = "string"
storageName = "string"
storageType = "string"
}
]
}
workloadProfileType = "string"
}
}
}
プロパティ値
Microsoft.App/containerApps
| 名前 |
説明 |
価値 |
| 拡張ロケーション |
拡張された場所の複合型。 |
拡張ロケーション |
| ID |
コード内のシークレットや資格情報を維持することなく、他の Azure サービスと対話するための Container App のマネージド ID。 |
ManagedServiceIdentity の |
| 位置 |
リソースが存在する地理的な場所 |
string (必須) |
| 名前 |
リソース名 |
string (必須) |
| parent_id |
この拡張リソースを適用するリソースの ID。 |
string (必須) |
| プロパティ |
ContainerApp リソース固有のプロパティ |
コンテナAppProperties |
| タグ |
リソース タグ |
タグ名と値のディクショナリ。 |
| 型 |
リソースの種類 |
「Microsoft.App/containerApps@2022-10-01」 |
コンフィギュレーション
| 名前 |
説明 |
価値 |
| アクティブリビジョンモード |
ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。
<リスト><アイテム>複数のリビジョンをアクティブにすることができます。</item><項目>単一: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません。 値が指定されていない場合は、これが既定値です。/list<></item を>する |
「複数」 「シングル」 |
| Daprフレームワーク |
コンテナー アプリの Dapr 構成。 |
Dapr の |
| イングレス |
イングレス構成。 |
イングレス |
| maxInactiveRevisionsの |
任意。 コンテナー アプリで使用できる非アクティブなリビジョンの最大数。 |
整数 (int) |
| レジストリ |
コンテナー アプリによって使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション |
レジストリ資格情報[] |
| 秘密 |
コンテナー アプリによって使用されるシークレットのコレクション |
シークレット[] |
コンテナ
| 名前 |
説明 |
価値 |
| 引数 |
コンテナーの開始コマンド引数。 |
文字列[] |
| コマンド |
コンテナーの開始コマンド。 |
文字列[] |
| 環境 |
コンテナー環境変数。 |
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」 |
| 名前 |
説明 |
価値 |
| 名前 |
ヘッダー フィールド名 |
string (必須) |
| 価値 |
ヘッダー フィールドの値 |
string (必須) |
ContainerAppProbeTcpSocket
| 名前 |
説明 |
価値 |
| ホスティング |
省略可能: 接続先のホスト名。既定ではポッド IP が使用されます。 |
文字列 |
| ポート |
コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
コンテナAppProperties
| 名前 |
説明 |
価値 |
| 構成 |
バージョン管理されていない Container App 構成プロパティ。 |
構成 |
| 環境ID |
環境のリソース ID。 |
文字列 |
| managedEnvironmentId の |
非推奨になりました。 コンテナー アプリの環境のリソース ID。 |
文字列 |
| テンプレート |
コンテナー アプリのバージョン管理されたアプリケーション定義。 |
テンプレート |
| ワークロードプロファイルタイプ |
コンテナー アプリの実行にピン留めするワークロード プロファイルの種類。 |
文字列 |
コンテナリソース
| 名前 |
説明 |
価値 |
| CPUの |
コアで必要な CPU (例: 0.5) |
整数 (int) |
| メモリ |
必要なメモリ (例: "250Mb" ) |
文字列 |
CorsPolicy(コルスポリシー)
| 名前 |
説明 |
価値 |
| allowCredentials の |
資格情報を許可するかどうか |
ブール (bool) |
| allowedヘッダー |
許可されている HTTP ヘッダー |
文字列[] |
| allowedメソッド |
許可される HTTP メソッド |
文字列[] |
| allowedOrigins |
許可される配信元 |
string[] (必須) |
| exposeヘッダー |
HTTP ヘッダーを公開する |
文字列[] |
| マックスエイジ |
クライアントが結果をキャッシュできる最大時間 |
整数 (int) |
カスタムドメイン
| 名前 |
説明 |
価値 |
| バインディングタイプ |
カスタム ドメイン バインドの種類。 |
「無効」 「SniEnabled」 |
| 証明書ID |
このホスト名にバインドする証明書のリソース ID。 |
文字列 |
| 名前 |
ホスト名。 |
string (必須) |
CustomScaleRule
| 名前 |
説明 |
価値 |
| 認証 |
カスタム スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
| メタデータ |
カスタム スケール ルールを記述するメタデータ プロパティ。 |
CustomScaleRuleMetadata を する |
| 型 |
カスタム スケール ルールの種類 例: azure-servicebus、redis など。 |
文字列 |
Dapr
| 名前 |
説明 |
価値 |
| アプリID |
Dapr アプリケーション識別子 |
文字列 |
| アプリケーションポート |
アプリケーションがリッスンしているポートを Dapr に通知します |
整数 (int) |
| appプロトコル |
アプリケーションが使用しているプロトコルを Dapr に通知します。 有効なオプションは http と grpc です。 既定値は http です |
'grpc' 「http」 |
| enableApiロギング |
Dapr サイドカーの API ログ記録を有効にします |
ブール (bool) |
| 有効 |
Dapr 側の車が有効かどうかを示すブール値 |
ブール (bool) |
| httpMaxRequestSize(英語) |
大きなファイルのアップロードを処理するために、要求本文 http および grpc サーバーパラメーターの最大サイズを MB 単位で増やします。 既定値は 4 MB です。 |
整数 (int) |
| httpReadBufferSize (英語) |
マルチ KB ヘッダーを送信するときに処理する http ヘッダー読み取りバッファーの最大サイズ (KB 単位)。 既定値は 65 KB です。 |
整数 (int) |
| ログレベル |
Dapr サイドカーのログ レベルを設定します。 使用できる値は、デバッグ、情報、警告、エラーです。 既定値は info です。 |
'デバッグ' 'エラー' '情報' 「警告」 |
EnvironmentVar (環境変数)
| 名前 |
説明 |
価値 |
| 名前 |
環境変数の名前。 |
文字列 |
| secretRef です。 |
環境変数の値をプルするコンテナー アプリ シークレットの名前。 |
文字列 |
| 価値 |
シークレット以外の環境変数の値。 |
文字列 |
拡張ロケーション
| 名前 |
説明 |
価値 |
| 名前 |
拡張された場所の名前。 |
文字列 |
| 型 |
拡張された場所の種類。 |
「カスタムロケーション」 |
HttpScaleRule (英語)
| 名前 |
説明 |
価値 |
| 認証 |
カスタム スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
| メタデータ |
http スケール ルールを記述するメタデータ プロパティ。 |
HttpScaleRuleMetadata を する |
イングレス
| 名前 |
説明 |
価値 |
| allowInsecure (安全でない) |
HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTPS 接続に自動的にリダイレクトされます |
ブール (bool) |
| クライアント証明書モード |
mTLS 認証のクライアント証明書モード。 無視は、転送時にサーバーがクライアント証明書を削除することを示します。 Accept は、サーバーがクライアント証明書を転送しますが、クライアント証明書は必要ないことを示します。 Require は、サーバーにクライアント証明書が必要であることを示します。 |
'受け入れる' '無視' '必要' |
| corsポリシー |
コンテナー アプリの CORS ポリシー |
CorsPolicy の |
| カスタムドメイン |
Container Apps のホスト名のカスタム ドメイン バインド。 |
カスタムドメイン[] |
| エクスポーズドポート |
イングレスからの TCP トラフィック用のコンテナー内の公開ポート |
整数 (int) |
| 外 |
アプリが外部 http エンドポイントを公開するかどうかを示すブール値 |
ブール (bool) |
| ipSecurityの制限 |
受信 IP アドレスを制限する規則。 |
IpSecurityRestrictionルール[] |
| ターゲットポート |
イングレスからのトラフィックのコンテナー内のターゲット ポート |
整数 (int) |
| トラフィック |
アプリのリビジョンのトラフィックの重み付け |
トラフィックウェイト[] |
| 転送 |
イングレス トランスポート プロトコル |
自動車 「http」 「http2」 'tcp' |
イニットコンテナ
| 名前 |
説明 |
価値 |
| 引数 |
コンテナーの開始コマンド引数。 |
文字列[] |
| コマンド |
コンテナーの開始コマンド。 |
文字列[] |
| 環境 |
コンテナー環境変数。 |
EnvironmentVar[] |
| イメージ |
コンテナー イメージ タグ。 |
文字列 |
| 名前 |
カスタム コンテナー名。 |
文字列 |
| リソース |
コンテナー リソースの要件。 |
ContainerResources の |
| ボリュームマウント |
コンテナー ボリュームのマウント。 |
ボリュームマウント[] |
IpSecurityRestrictionRule
| 名前 |
説明 |
価値 |
| アクション |
受信 IP を決定する規則を許可または拒否します。 注: ルールは ALL Allow または ALL Deny のみで構成できます |
「許可する」 'Deny' (必須) |
| 説明 |
コンテナー アプリに送信される IP 制限規則について説明します。 これは任意のフィールドです。 |
文字列 |
| ipAddressRange (英語) |
受信 IP アドレスと一致する CIDR 表記 |
string (必須) |
| 名前 |
IP 制限規則の名前。 |
string (必須) |
マネージドサービスアイデンティティ
| 名前 |
説明 |
価値 |
| 型 |
マネージド サービス ID の種類 (SystemAssigned 型と UserAssigned 型の両方が許可されます)。 |
「なし」 'システム割り当て' 'システム割り当て済み、ユーザー割り当て済み' 'UserAssigned' (必須) |
| userAssignedIdentities (ユーザー割り当て済みアイデンティティ) |
リソースに関連付けられているユーザー割り当て ID のセット。 userAssignedIdentities ディクショナリ キーは、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} という形式の ARM リソース ID になります。 ディクショナリ値は、要求内の空のオブジェクト ({}) にすることができます。 |
UserAssignedIdentities の |
キュー スケール ルール
| 名前 |
説明 |
価値 |
| 認証 |
キュー スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
| キューの長さ |
キューの長さ。 |
整数 (int) |
| キュー名 |
キュー名。 |
文字列 |
レジストリ資格情報
| 名前 |
説明 |
価値 |
| ID |
Azure Container Registry での認証に使用するマネージド ID。 ユーザー割り当て ID の場合は、完全なユーザー割り当て ID リソース ID を使用します。 システム割り当て ID の場合は、'system' を使用します |
文字列 |
| passwordSecretRef |
レジストリ ログイン パスワードを含むシークレットの名前 |
文字列 |
| サーバー |
コンテナレジストリサーバ |
文字列 |
| ユーザー名 |
Container Registry のユーザー名 |
文字列 |
規模
| 名前 |
説明 |
価値 |
| マックスレプリカ |
任意。 コンテナー レプリカの最大数。 既定値は 10 (設定されていない場合) です。 |
整数 (int) |
| minレプリカ |
任意。 コンテナー レプリカの最小数。 |
整数 (int) |
| ルール |
スケーリング ルール。 |
スケールルール[] |
ScaleRule (スケールルール)
| 名前 |
説明 |
価値 |
| azureキュー |
Azure Queue ベースのスケーリング。 |
QueueScaleRule の |
| 習慣 |
カスタム スケール ルール。 |
CustomScaleRule の |
| http |
HTTP 要求ベースのスケーリング。 |
HttpScaleRule を する |
| 名前 |
スケール ルール名 |
文字列 |
| TCP |
Tcp 要求ベースのスケーリング。 |
TcpScaleRule の |
ScaleRuleAuth (英語)
| 名前 |
説明 |
価値 |
| secretRef です。 |
認証パラメーターのプル元となるコンテナー アプリ シークレットの名前。 |
文字列 |
| triggerパラメータ |
シークレットを使用するトリガー パラメーター |
文字列 |
秘密
| 名前 |
説明 |
価値 |
| 名前 |
シークレット名。 |
文字列 |
| 価値 |
シークレット値。 |
糸
制約: 機密性の高い値。 セキュリティで保護されたパラメーターとして渡します。 |
TcpScaleRule の略
| 名前 |
説明 |
価値 |
| 認証 |
TCP スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
| メタデータ |
TCP スケール ルールを記述するメタデータ プロパティ。 |
TcpScaleRuleMetadata の |
テンプレート
| 名前 |
説明 |
価値 |
| コンテナー |
コンテナー アプリのコンテナー定義の一覧。 |
コンテナー[] |
| initコンテナ |
アプリ コンテナーの前に実行される特殊なコンテナーの一覧。 |
イニットコンテナ[] |
| リビジョンサフィックス |
リビジョン名に追加されるわかりやすいサフィックス |
文字列 |
| スケーリングする |
コンテナー アプリのプロパティのスケーリング。 |
スケール |
| ボリューム |
コンテナー アプリのボリューム定義の一覧。 |
ボリューム[] |
トラフィックウェイト
| 名前 |
説明 |
価値 |
| ラベル |
トラフィック ラベルをリビジョンに関連付けます |
文字列 |
| 最新リビジョン |
トラフィックの重みが最新の安定したリビジョンに属していることを示します |
ブール (bool) |
| リビジョン名 |
リビジョンの名前 |
文字列 |
| 重量 |
リビジョンに割り当てられたトラフィックの重み |
整数 (int) |
UserAssignedIdentities (ユーザー割り当てアイデンティティ)
ユーザー割り当て識別子
ボリューム
| 名前 |
説明 |
価値 |
| 名前 |
ボリューム名。 |
文字列 |
| ストレージ名 |
ストレージ リソースの名前。 EmptyDir を指定する必要はありません。 |
文字列 |
| ストレージタイプ |
ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 |
「Azureファイル」 'EmptyDir' |
ボリュームマウント
| 名前 |
説明 |
価値 |
| マウントパス |
ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 |
文字列 |
| ボリューム名 |
これはボリュームの名前と一致する必要があります。 |
文字列 |
使用例
コンテナー・アプリのデプロイの基本的な例。
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 検証済みモジュール を使用して、このリソースの種類をデプロイできます。