Bicep リソース定義
containerApps リソースの種類は、次を対象とする操作でデプロイできます。
各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。
Microsoft.App/containerApps リソースを作成するには、次の Bicep をテンプレートに追加します。
resource symbolicname 'Microsoft.App/containerApps@2022-03-01' = {
name: 'string'
location: 'string'
tags: {
tagName1: 'tagValue1'
tagName2: 'tagValue2'
}
identity: {
type: 'string'
userAssignedIdentities: {
{customized property}: {}
}
}
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: [
{
label: 'string'
latestRevision: bool
revisionName: 'string'
weight: int
}
]
transport: 'string'
}
registries: [
{
identity: 'string'
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: json('decimal-as-string')
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'
}
]
}
}
}
プロパティ値
containerApps
名前 |
説明 |
値 |
name |
リソース名 |
string (必須)
文字制限: 2 から 32
有効な文字: 小文字、数字、およびハイフン。
先頭は文字、末尾は英数字にします。 |
location |
リソースが保存されている地理的な場所 |
string (必須) |
tags |
リソース タグ。 |
タグの名前と値のディクショナリ。 「テンプレート内のタグ」を参照してください |
identity |
コード内のシークレットや資格情報を維持することなく、Container App が他の Azure サービスと対話するためのマネージド ID。 |
ManagedServiceIdentity |
properties |
ContainerApp リソース固有のプロパティ |
ContainerAppProperties |
ManagedServiceIdentity
名前 |
説明 |
値 |
type |
マネージド サービス ID の種類 (SystemAssigned 型と UserAssigned 型の両方が許可されます)。 |
'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (必須) |
userAssignedIdentities |
リソースに関連付けられているユーザー割り当て ID のセット。 userAssignedIdentities ディクショナリ キーは、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} という形式の ARM リソース ID になります。 ディクショナリ値は、要求で空のオブジェクト ({}) にすることができます。 |
UserAssignedIdentities |
UserAssignedIdentities
UserAssignedIdentity
このオブジェクトには、デプロイ中に設定するプロパティは含まれません。 すべてのプロパティは ReadOnly です。
ContainerAppProperties
名前 |
説明 |
値 |
configuration |
バージョン管理されていない Container App 構成プロパティ。 |
Configuration |
managedEnvironmentId |
コンテナー アプリの環境のリソース ID。 |
string |
template |
コンテナー アプリのバージョン管理されたアプリケーション定義。 |
テンプレート |
構成
名前 |
説明 |
値 |
activeRevisionsMode |
ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。 {list}{item}複数: 複数のリビジョンをアクティブにすることができます。{/item}{item}単一: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません。 値が指定されていない場合は、これが既定値です。{/item}{/list} |
'Multiple' 'Single' |
dapr |
コンテナー アプリの Dapr 構成。 |
Dapr |
イングレス |
イングレス構成。 |
イングレス |
registries |
コンテナー アプリで使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション |
RegistryCredentials[] |
secrets |
コンテナー アプリで使用されるシークレットのコレクション |
Secret[] |
Dapr
Name |
説明 |
値 |
appId |
Dapr アプリケーション識別子 |
string |
appPort |
アプリケーションがリッスンしているポートを Dapr に通知します |
INT |
appProtocol |
アプリケーションで使用しているプロトコルを Dapr に伝えます。 有効なオプションは http と grpc です。 既定値は http です |
'grpc' 'http' |
enabled |
Dapr 側の車が有効になっているかどうかを示すブール値 |
[bool] |
イングレス
名前 |
説明 |
値 |
allowInsecure |
への HTTP 接続が許可されているかどうかを示すブール値。 false に設定されている場合、HTTP 接続は HTTPS 接続に自動的にリダイレクトされます |
[bool] |
customDomains |
Container Apps のホスト名のカスタム ドメイン バインド。 |
CustomDomain[] |
external |
アプリが外部 http エンドポイントを公開するかどうかを示す Bool |
[bool] |
targetPort |
イングレスからのトラフィックのコンテナー内のターゲット ポート |
INT |
traffic |
アプリのリビジョンのトラフィックの重み |
TrafficWeight[] |
transport |
イングレス トランスポート プロトコル |
'auto' 'http' 'http2' |
CustomDomain
名前 |
説明 |
値 |
bindingType |
バインドの種類をCustom Domainします。 |
'Disabled' 'SniEnabled' |
certificateId |
このホスト名にバインドする証明書のリソース ID。 |
string |
name |
ホスト名 |
string (必須) |
TrafficWeight
名前 |
説明 |
値 |
label |
トラフィック ラベルをリビジョンに関連付けます |
string |
latestRevision |
トラフィックの重みが最新の安定したリビジョンに属していることを示します |
[bool] |
revisionName |
リビジョンの名前 |
string |
weight |
リビジョンに割り当てられたトラフィックの重み |
INT |
RegistryCredentials
名前 |
説明 |
値 |
identity |
Azure Container Registryでの認証に使用するマネージド ID。 ユーザー割り当て ID の場合は、完全なユーザー割り当て ID リソース ID を使用します。 システム割り当て ID の場合は、'system' を使用します |
string |
passwordSecretRef |
レジストリ ログイン パスワードを含むシークレットの名前 |
string |
server |
Container Registry Server |
string |
username |
コンテナー レジストリのユーザー名 |
string |
Secret
名前 |
説明 |
値 |
name |
シークレット名。 |
string |
value |
シークレット値。 |
string
制約: 機密性の高い値。 セキュリティで保護されたパラメーターとして を渡します。
|
Template
名前 |
説明 |
値 |
containers |
コンテナー アプリのコンテナー定義の一覧。 |
Container[] |
revisionSuffix |
リビジョン名に追加されるわかりやすいサフィックス |
string |
scale |
コンテナー アプリのプロパティのスケーリング。 |
スケール |
volumes |
コンテナー アプリのボリューム定義の一覧。 |
Volume[] |
コンテナー
EnvironmentVar
名前 |
説明 |
値 |
name |
環境変数名。 |
string |
secretRef |
環境変数の値をプルするコンテナー アプリ シークレットの名前。 |
string |
value |
シークレット以外の環境変数値。 |
string |
ContainerAppProbe
名前 |
説明 |
値 |
failureThreshold |
プローブが成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最大値は 1 です。 最大値は 10 です。 |
INT |
httpGet |
HTTPGet は、実行する http 要求を指定します。 |
ContainerAppProbeHttpGet |
initialDelaySeconds |
コンテナーの起動後、liveness probe が開始するまでの秒数。 最大値は 1 です。 最大値は 60 です。 |
INT |
periodSeconds |
プローブを実行する頻度 (秒単位)。 既定値は 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 |
型 |
プローブの種類。 |
'Liveness' '準備' 'Startup' |
ContainerAppProbeHttpGet
名前 |
説明 |
値 |
host |
接続先のホスト名。既定ではポッド IP が使用されます。 代わりに httpHeaders で "Host" を設定する必要があります。 |
string |
httpHeaders |
要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返すことができます。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
path |
HTTP サーバーでアクセスするためのパス。 |
string |
port |
コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
scheme |
ホストへの接続に使用するスキーム。 既定では HTTP です。 |
'HTTP' 'HTTPS' |
名前 |
説明 |
値 |
name |
ヘッダー フィールド名 |
string (必須) |
value |
ヘッダー フィールドの値 |
string (必須) |
ContainerAppProbeTcpSocket
名前 |
説明 |
値 |
host |
省略可能: 接続先のホスト名。既定ではポッド IP です。 |
string |
port |
コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
ContainerResources
名前 |
説明 |
値 |
cpu |
コアに必要な CPU (例: 0.5) 10 進数の値を指定するには、 json() 関数を使用します。 |
int または json decimal |
メモリ |
必要なメモリ (例: "250Mb" ) |
string |
VolumeMount
名前 |
説明 |
値 |
mountPath |
ボリュームをマウントするコンテナー内のパス。':' を含めてはいけません。 |
string |
volumeName |
これは、ボリュームの名前と一致する必要があります。 |
string |
スケール
名前 |
説明 |
値 |
maxReplicas |
省略可能。 コンテナー レプリカの最大数。 設定されていない場合、既定値は 10 です。 |
INT |
minReplicas |
省略可能。 コンテナー レプリカの最小数。 |
INT |
rules |
スケーリング ルール。 |
ScaleRule[] |
ScaleRule
QueueScaleRule
名前 |
説明 |
値 |
auth |
キュー スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
queueLength |
キューの長さ。 |
INT |
queueName |
キュー名。 |
string |
ScaleRuleAuth
名前 |
説明 |
値 |
secretRef |
認証パラメーターをプルするコンテナー アプリ シークレットの名前。 |
string |
triggerParameter |
シークレットを使用するトリガー パラメーター |
string |
CustomScaleRule
名前 |
説明 |
値 |
{カスタマイズされたプロパティ} |
|
string |
HttpScaleRule
名前 |
説明 |
値 |
{カスタマイズされたプロパティ} |
|
string |
ボリューム
名前 |
説明 |
値 |
name |
ボリューム名。 |
string |
storageName |
ストレージ リソースの名前。 EmptyDir を指定する必要はありません。 |
string |
storageType |
ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 |
'AzureFile' 'EmptyDir' |
クイック スタート テンプレート
次のクイックスタート テンプレートでは、このリソースの種類をデプロイします。
ARM テンプレート リソース定義
containerApps リソースの種類は、次を対象とする操作でデプロイできます。
各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。
Microsoft.App/containerApps リソースを作成するには、次の JSON をテンプレートに追加します。
{
"type": "Microsoft.App/containerApps",
"apiVersion": "2022-03-01",
"name": "string",
"location": "string",
"tags": {
"tagName1": "tagValue1",
"tagName2": "tagValue2"
},
"identity": {
"type": "string",
"userAssignedIdentities": {
"{customized property}": {}
}
},
"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": [
{
"label": "string",
"latestRevision": "bool",
"revisionName": "string",
"weight": "int"
}
],
"transport": "string"
},
"registries": [
{
"identity": "string",
"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": "[json('decimal-as-string')]",
"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"
}
]
}
}
}
プロパティ値
containerApps
名前 |
説明 |
値 |
type |
リソースの種類 |
'Microsoft.App/containerApps' |
apiVersion |
リソース API のバージョン |
'2022-03-01' |
name |
リソース名 |
string (必須)
文字制限: 2 から 32
有効な文字: 小文字、数字、およびハイフン。
先頭は文字、末尾は英数字にします。 |
location |
リソースが保存されている地理的な場所 |
string (必須) |
tags |
リソース タグ。 |
タグの名前と値のディクショナリ。 「テンプレート内のタグ」を参照してください |
identity |
コード内のシークレットや資格情報を維持することなく、Container App が他の Azure サービスと対話するためのマネージド ID。 |
ManagedServiceIdentity |
properties |
ContainerApp リソース固有のプロパティ |
ContainerAppProperties |
ManagedServiceIdentity
名前 |
説明 |
値 |
type |
マネージド サービス ID の種類 (SystemAssigned 型と UserAssigned 型の両方が許可されます)。 |
'None' 'SystemAssigned' 'SystemAssigned,UserAssigned' 'UserAssigned' (必須) |
userAssignedIdentities |
リソースに関連付けられているユーザー割り当て ID のセット。 userAssignedIdentities ディクショナリ キーは、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} という形式の ARM リソース ID になります。 ディクショナリ値は、要求で空のオブジェクト ({}) にすることができます。 |
UserAssignedIdentities |
UserAssignedIdentities
UserAssignedIdentity
このオブジェクトには、デプロイ中に設定するプロパティは含まれません。 すべてのプロパティは ReadOnly です。
ContainerAppProperties
名前 |
説明 |
値 |
configuration |
バージョン管理されていない Container App 構成プロパティ。 |
Configuration |
managedEnvironmentId |
コンテナー アプリの環境のリソース ID。 |
string |
template |
コンテナー アプリのバージョン管理されたアプリケーション定義。 |
テンプレート |
構成
名前 |
説明 |
値 |
activeRevisionsMode |
ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。 {list}{item}複数: 複数のリビジョンをアクティブにすることができます。{/item}{item}単一: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません。 値が指定されていない場合は、これが既定値です。{/item}{/list} |
'Multiple' 'Single' |
dapr |
コンテナー アプリの Dapr 構成。 |
Dapr |
イングレス |
イングレス構成。 |
イングレス |
registries |
コンテナー アプリで使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション |
RegistryCredentials[] |
secrets |
コンテナー アプリで使用されるシークレットのコレクション |
Secret[] |
Dapr
Name |
説明 |
値 |
appId |
Dapr アプリケーション識別子 |
string |
appPort |
アプリケーションがリッスンしているポートを Dapr に通知します |
INT |
appProtocol |
アプリケーションで使用しているプロトコルを Dapr に伝えます。 有効なオプションは http と grpc です。 既定値は http です |
'grpc' 'http' |
enabled |
Dapr 側の車が有効になっているかどうかを示すブール値 |
[bool] |
イングレス
名前 |
説明 |
値 |
allowInsecure |
への HTTP 接続が許可されているかどうかを示す Bool。 false に設定されている場合、HTTP 接続は HTTPS 接続に自動的にリダイレクトされます |
[bool] |
customDomains |
Container Apps のホスト名のカスタム ドメイン バインド。 |
CustomDomain[] |
external |
アプリが外部 http エンドポイントを公開するかどうかを示す Bool |
[bool] |
targetPort |
イングレスからのトラフィックのコンテナー内のターゲット ポート |
INT |
traffic |
アプリのリビジョンのトラフィックの重み付け |
TrafficWeight[] |
transport |
イングレス トランスポート プロトコル |
'auto' 'http' 'http2' |
CustomDomain
名前 |
説明 |
値 |
bindingType |
バインドの種類をCustom Domainします。 |
'Disabled' 'SniEnabled' |
certificateId |
このホスト名にバインドする証明書のリソース ID。 |
string |
name |
ホスト名 |
string (必須) |
TrafficWeight
名前 |
説明 |
値 |
label |
トラフィック ラベルをリビジョンに関連付けます |
string |
latestRevision |
トラフィックの重みが最新の安定したリビジョンに属していることを示します |
[bool] |
revisionName |
リビジョンの名前 |
string |
weight |
リビジョンに割り当てられたトラフィックの重み |
INT |
RegistryCredentials
名前 |
説明 |
値 |
identity |
Azure Container Registryで認証するために使用するマネージド ID。 ユーザー割り当て ID の場合は、完全なユーザー割り当て ID リソース ID を使用します。 システム割り当て ID の場合は、'system' を使用します |
string |
passwordSecretRef |
レジストリ ログイン パスワードを含むシークレットの名前 |
string |
server |
Container Registry Server |
string |
username |
コンテナー レジストリのユーザー名 |
string |
Secret
名前 |
説明 |
値 |
name |
シークレット名。 |
string |
value |
シークレット値。 |
string
制約: 機密性の高い値。 セキュリティで保護されたパラメーターとして を渡します。
|
Template
名前 |
説明 |
値 |
containers |
コンテナー アプリのコンテナー定義の一覧。 |
Container[] |
revisionSuffix |
リビジョン名に追加されるわかりやすいサフィックス |
string |
scale |
コンテナー アプリのプロパティのスケーリング。 |
スケール |
volumes |
コンテナー アプリのボリューム定義の一覧。 |
Volume[] |
コンテナー
EnvironmentVar
名前 |
説明 |
値 |
name |
環境変数名。 |
string |
secretRef |
環境変数の値をプルするコンテナー アプリ シークレットの名前。 |
string |
value |
シークレット以外の環境変数値。 |
string |
ContainerAppProbe
名前 |
説明 |
値 |
failureThreshold |
プローブが成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最大値は 1 です。 最大値は 10 です。 |
INT |
httpGet |
HTTPGet は、実行する http 要求を指定します。 |
ContainerAppProbeHttpGet |
initialDelaySeconds |
コンテナーの起動後、liveness probe が開始するまでの秒数。 最大値は 1 です。 最大値は 60 です。 |
INT |
periodSeconds |
プローブを実行する頻度 (秒単位)。 既定値は 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 |
型 |
プローブの種類。 |
'Liveness' 'Readiness' 'スタートアップ' |
ContainerAppProbeHttpGet
名前 |
説明 |
値 |
host |
接続先のホスト名。既定ではポッド IP です。 代わりに httpHeaders で "Host" を設定することをお考えでしょう。 |
string |
httpHeaders |
要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返し使用できます。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
path |
HTTP サーバーでアクセスするためのパス。 |
string |
port |
コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
scheme |
ホストへの接続に使用するスキーム。 既定では HTTP です。 |
'HTTP' 'HTTPS' |
名前 |
説明 |
値 |
name |
ヘッダー フィールド名 |
string (必須) |
value |
ヘッダー フィールドの値 |
string (必須) |
ContainerAppProbeTcpSocket
名前 |
説明 |
値 |
host |
省略可能: 接続先のホスト名。既定値はポッド IP です。 |
string |
port |
コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
ContainerResources
名前 |
説明 |
値 |
cpu |
コアに必要な CPU (例: 0.5) 10 進値を指定するには、 json() 関数を使用します。 |
int または json decimal |
メモリ |
必要なメモリ (例: "250Mb" ) |
string |
VolumeMount
名前 |
説明 |
値 |
mountPath |
ボリュームをマウントするコンテナー内のパス。':' を含めてはなりません。 |
string |
volumeName |
これは、ボリュームの名前と一致する必要があります。 |
string |
スケール
名前 |
説明 |
値 |
maxReplicas |
省略可能。 コンテナー レプリカの最大数。 設定されていない場合、既定値は 10 です。 |
INT |
minReplicas |
省略可能。 コンテナー レプリカの最小数。 |
INT |
rules |
スケーリング ルール。 |
ScaleRule[] |
ScaleRule
QueueScaleRule
名前 |
説明 |
値 |
auth |
キュー スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
queueLength |
キューの長さ。 |
INT |
queueName |
キュー名。 |
string |
ScaleRuleAuth
名前 |
説明 |
値 |
secretRef |
認証パラメーターをプルするコンテナー アプリ シークレットの名前。 |
string |
triggerParameter |
シークレットを使用するトリガー パラメーター |
string |
CustomScaleRule
名前 |
説明 |
値 |
{カスタマイズされたプロパティ} |
|
string |
HttpScaleRule
名前 |
説明 |
値 |
{カスタマイズされたプロパティ} |
|
string |
ボリューム
名前 |
説明 |
値 |
name |
ボリューム名。 |
string |
storageName |
ストレージ リソースの名前。 EmptyDir を指定する必要はありません。 |
string |
storageType |
ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 |
'AzureFile' 'EmptyDir' |
クイック スタート テンプレート
次のクイックスタート テンプレートでは、このリソースの種類をデプロイします。
containerApps リソースの種類は、次を対象とする操作でデプロイできます。
各 API バージョンの変更されたプロパティの一覧については、「 変更ログ」を参照してください。
Microsoft.App/containerApps リソースを作成するには、次の Terraform をテンプレートに追加します。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.App/containerApps@2022-03-01"
name = "string"
location = "string"
parent_id = "string"
tags = {
tagName1 = "tagValue1"
tagName2 = "tagValue2"
}
identity {
type = "string"
identity_ids = []
}
body = jsonencode({
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 = [
{
label = "string"
latestRevision = bool
revisionName = "string"
weight = int
}
]
transport = "string"
}
registries = [
{
identity = "string"
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 = "decimal-as-string"
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"
}
]
}
}
})
}
プロパティ値
containerApps
名前 |
説明 |
値 |
type |
リソースの種類 |
"Microsoft.App/containerApps@2022-03-01" |
name |
リソース名 |
string (必須)
文字制限: 2 から 32
有効な文字: 小文字、数字、およびハイフン。
先頭は文字、末尾は英数字にします。 |
location |
リソースが保存されている地理的な場所 |
string (必須) |
parent_id |
リソース グループにデプロイするには、そのリソース グループの ID を使用します。 |
string (必須) |
tags |
リソース タグ。 |
タグの名前と値のディクショナリ。 |
identity |
コード内のシークレットや資格情報を維持することなく、Container App が他の Azure サービスと対話するためのマネージド ID。 |
ManagedServiceIdentity |
properties |
ContainerApp リソース固有のプロパティ |
ContainerAppProperties |
ManagedServiceIdentity
名前 |
説明 |
値 |
type |
マネージド サービス ID の種類 (SystemAssigned 型と UserAssigned 型の両方が許可されます)。 |
"SystemAssigned" "SystemAssigned,UserAssigned" "UserAssigned" (必須) |
identity_ids |
リソースに関連付けられているユーザー割り当て ID のセット。 userAssignedIdentities ディクショナリ キーは、'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName} という形式の ARM リソース ID になります。 ディクショナリ値は、要求で空のオブジェクト ({}) にすることができます。 |
ユーザー ID ID の配列。 |
UserAssignedIdentities
UserAssignedIdentity
このオブジェクトには、デプロイ中に設定するプロパティは含まれません。 すべてのプロパティは ReadOnly です。
ContainerAppProperties
名前 |
説明 |
値 |
configuration |
バージョン管理されていない Container App 構成プロパティ。 |
Configuration |
managedEnvironmentId |
コンテナー アプリの環境のリソース ID。 |
string |
template |
コンテナー アプリのバージョン管理されたアプリケーション定義。 |
テンプレート |
構成
名前 |
説明 |
値 |
activeRevisionsMode |
ActiveRevisionsMode は、コンテナー アプリのアクティブなリビジョンの処理方法を制御します。 {list}{item}複数: 複数のリビジョンをアクティブにすることができます。{/item}{item}単一: 一度にアクティブにできるリビジョンは 1 つだけです。 リビジョンの重みは、このモードでは使用できません。 値が指定されていない場合は、これが既定値です。{/item}{/list} |
"Multiple" "Single" |
dapr |
コンテナー アプリの Dapr 構成。 |
Dapr |
イングレス |
イングレス構成。 |
イングレス |
registries |
コンテナー アプリで使用されるコンテナーのプライベート コンテナー レジストリ資格情報のコレクション |
RegistryCredentials[] |
secrets |
コンテナー アプリで使用されるシークレットのコレクション |
Secret[] |
Dapr
Name |
説明 |
値 |
appId |
Dapr アプリケーション識別子 |
string |
appPort |
アプリケーションがリッスンしているポートを Dapr に通知します |
INT |
appProtocol |
アプリケーションで使用しているプロトコルを Dapr に伝えます。 有効なオプションは http と grpc です。 既定値は http です |
"grpc" "http" |
enabled |
Dapr 側の車が有効になっているかどうかを示すブール値 |
[bool] |
イングレス
名前 |
説明 |
値 |
allowInsecure |
への HTTP 接続が許可されているかどうかを示す Bool。 false に設定されている場合、HTTP 接続は HTTPS 接続に自動的にリダイレクトされます |
[bool] |
customDomains |
Container Apps のホスト名のカスタム ドメイン バインド。 |
CustomDomain[] |
external |
アプリが外部 http エンドポイントを公開するかどうかを示す Bool |
[bool] |
targetPort |
イングレスからのトラフィックのコンテナー内のターゲット ポート |
INT |
traffic |
アプリのリビジョンのトラフィックの重み付け |
TrafficWeight[] |
transport |
イングレス トランスポート プロトコル |
"auto" "http" "http2" |
CustomDomain
名前 |
説明 |
値 |
bindingType |
バインドの種類をCustom Domainします。 |
"無効" "SniEnabled" |
certificateId |
このホスト名にバインドする証明書のリソース ID。 |
string |
name |
ホスト名 |
string (必須) |
TrafficWeight
名前 |
説明 |
値 |
label |
トラフィック ラベルをリビジョンに関連付けます |
string |
latestRevision |
トラフィックの重みが最新の安定したリビジョンに属していることを示します |
[bool] |
revisionName |
リビジョンの名前 |
string |
weight |
リビジョンに割り当てられたトラフィックの重み |
INT |
RegistryCredentials
名前 |
説明 |
値 |
identity |
Azure Container Registryでの認証に使用するマネージド ID。 ユーザー割り当て ID の場合は、完全なユーザー割り当て ID リソース ID を使用します。 システム割り当て ID の場合は、'system' を使用します |
string |
passwordSecretRef |
レジストリ ログイン パスワードを含むシークレットの名前 |
string |
server |
Container Registry Server |
string |
username |
コンテナー レジストリのユーザー名 |
string |
Secret
名前 |
説明 |
値 |
name |
シークレット名。 |
string |
value |
シークレット値。 |
string
制約: 機密性の高い値。 セキュリティで保護されたパラメーターとして を渡します。
|
Template
名前 |
説明 |
値 |
containers |
コンテナー アプリのコンテナー定義の一覧。 |
Container[] |
revisionSuffix |
リビジョン名に追加されるわかりやすいサフィックス |
string |
scale |
コンテナー アプリのプロパティのスケーリング。 |
スケール |
volumes |
コンテナー アプリのボリューム定義の一覧。 |
Volume[] |
コンテナー
EnvironmentVar
名前 |
説明 |
値 |
name |
環境変数名。 |
string |
secretRef |
環境変数の値をプルするコンテナー アプリ シークレットの名前。 |
string |
value |
シークレット以外の環境変数値。 |
string |
ContainerAppProbe
名前 |
説明 |
値 |
failureThreshold |
プローブが成功した後に失敗したと見なされるプローブの連続する最小障害。 既定値は 3 です。 最大値は 1 です。 最大値は 10 です。 |
INT |
httpGet |
HTTPGet は、実行する http 要求を指定します。 |
ContainerAppProbeHttpGet |
initialDelaySeconds |
コンテナーの起動後、liveness probe が開始するまでの秒数。 最大値は 1 です。 最大値は 60 です。 |
INT |
periodSeconds |
プローブを実行する頻度 (秒単位)。 既定値は 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 |
型 |
プローブの種類。 |
"Liveness" "準備" "スタートアップ" |
ContainerAppProbeHttpGet
名前 |
説明 |
値 |
host |
接続先のホスト名。既定ではポッド IP です。 代わりに httpHeaders で "Host" を設定することをお考えでしょう。 |
string |
httpHeaders |
要求で設定するカスタム ヘッダー。 HTTP では、ヘッダーを繰り返し使用できます。 |
ContainerAppProbeHttpGetHttpHeadersItem[] |
path |
HTTP サーバーでアクセスするためのパス。 |
string |
port |
コンテナーでアクセスするポートの名前または番号。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
scheme |
ホストへの接続に使用するスキーム。 既定では HTTP です。 |
"HTTP" "HTTPS" |
名前 |
説明 |
値 |
name |
ヘッダー フィールド名 |
string (必須) |
value |
ヘッダー フィールドの値 |
string (必須) |
ContainerAppProbeTcpSocket
名前 |
説明 |
値 |
host |
省略可能: 接続先のホスト名。既定値はポッド IP です。 |
string |
port |
コンテナーでアクセスするポートの番号または名前。 数値は 1 ~ 65535 の範囲である必要があります。 名前はIANA_SVC_NAMEである必要があります。 |
int (必須) |
ContainerResources
名前 |
説明 |
値 |
cpu |
コアに必要な CPU (例: 0.5) 10 進数の値を文字列として指定します。 |
int または json decimal |
メモリ |
必要なメモリ (例: "250Mb" ) |
string |
VolumeMount
名前 |
説明 |
値 |
mountPath |
ボリュームをマウントするコンテナー内のパス。':' を含めてはいけません。 |
string |
volumeName |
これは、ボリュームの名前と一致する必要があります。 |
string |
スケール
名前 |
説明 |
値 |
maxReplicas |
省略可能。 コンテナー レプリカの最大数。 設定されていない場合、既定値は 10 です。 |
INT |
minReplicas |
省略可能。 コンテナー レプリカの最小数。 |
INT |
rules |
スケーリング ルール。 |
ScaleRule[] |
ScaleRule
QueueScaleRule
名前 |
説明 |
値 |
auth |
キュー スケール ルールの認証シークレット。 |
ScaleRuleAuth[] |
queueLength |
キューの長さ。 |
INT |
queueName |
キュー名。 |
string |
ScaleRuleAuth
名前 |
説明 |
値 |
secretRef |
認証パラメーターをプルするコンテナー アプリ シークレットの名前。 |
string |
triggerParameter |
シークレットを使用するトリガー パラメーター |
string |
CustomScaleRule
名前 |
説明 |
値 |
{カスタマイズされたプロパティ} |
|
string |
HttpScaleRule
名前 |
説明 |
値 |
{カスタマイズされたプロパティ} |
|
string |
ボリューム
名前 |
説明 |
値 |
name |
ボリューム名。 |
string |
storageName |
ストレージ リソースの名前。 EmptyDir を指定する必要はありません。 |
string |
storageType |
ボリュームのストレージの種類。 指定しない場合は、EmptyDir を使用します。 |
"AzureFile" "EmptyDir" |