この記事では、コンテナー グループ プロファイルを作成し、そのプロファイルを使用して Azure Container Instances のスタンバイ プールを構成する手順について説明します。
コンテナー グループ プロファイルは、プール内のコンテナーを構成する方法をスタンバイ プールに指示します。 コンテナー グループ プロファイルに変更を加えた場合は、更新内容がプール内のインスタンスに適用されるように、スタンバイ プールも更新する必要があります。
az container container-group-profile create を使用して、コンテナー グループ プロファイルを作成します。 必要に応じて、コンテナー グループ プロファイルに構成マップの詳細を含めることができます。 構成マップの詳細については、「構成マップの使用」を参照してください。
az container container-group-profile create \
--resource-group myResourceGroup \
--name mycontainergroupprofile \
--location WestCentralUS \
--image nginx \
--os-type Linux \
--ip-address Public \
--ports 8000 \
--cpu 1 \
--memory 1.5 \
--restart-policy Never
New-AzContainerInstanceContainerGroupProfile を使用して、コンテナー グループ プロファイルを作成します。 必要に応じて、コンテナー グループ プロファイルに構成マップの詳細を含めることができます。 構成マップの詳細については、「構成マップの使用」を参照してください。
$port1 = New-AzContainerInstancePortObject -Port 8000 -Protocol TCP
$port2 = New-AzContainerInstancePortObject -Port 8001 -Protocol TCP
$container = New-AzContainerInstanceObject -Name mycontainer -Image nginx -RequestCpu 1 -RequestMemoryInGb 1.5 -Port @($port1, $port2)
New-AzContainerInstanceContainerGroupProfile `
-ResourceGroupName myResourceGroup `
-Name mycontainergroupprofile `
-Location WestCentralUS `
-Container $container `
-OsType Linux `
-RestartPolicy "Never" `
-IpAddressType Public
コンテナー グループ プロファイルを作成し、テンプレート ファイルを保存します。 az deployment group create または New-AzResourceGroupDeployment を使用してテンプレートをデプロイします。 必要に応じて、コンテナー グループ プロファイルに構成マップの詳細を含めることができます。 構成マップの詳細については、「構成マップの使用」を参照してください。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.ContainerInstance/containerGroups",
"apiVersion": "2024-05-01-preview",
"name": "[parameters('profileName')]",
"location": "[parameters('location')]",
"properties": {
"containers": [
{
"name": "mycontainergroupprofile",
"properties": {
"image": "[parameters('containerImage')]",
"ports": [
{
"port": 8000
}
],
"resources": {
"requests": {
"cpu": 1,
"memoryInGB": 1.5
}
},
"command": [],
"environmentVariables": []
}
}
],
"osType": "Linux",
"ipAddress": {
"type": "Public",
"ports": [
{
"protocol": "TCP",
"port": 8000
}
]
},
"imageRegistryCredentials": [],
"sku": "Standard"
}
}
],
"parameters": {
"profileName": {
"type": "string",
"defaultValue": "mycontainergroupprofile",
"metadata": {
"description": "Name of the container profile"
}
},
"location": {
"type": "string",
"defaultValue": "West Central US",
"metadata": {
"description": "Location for the resource"
}
},
"containerImage": {
"type": "string",
"defaultValue": "mcr.microsoft.com/azuredocs/aci-helloworld:latest",
"metadata": {
"description": "The container image to use"
}
}
}
}
作成または更新を使用してコンテナー グループ プロファイルを作成します。 必要に応じて、コンテナー グループ プロファイルに構成マップの詳細を含めることができます。 構成マップの詳細については、「構成マップの使用」を参照してください。
PUT https://management.azure.com/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/myContainerGroupProfile?api-version=2024-05-01-preview
Request Body
{
"location": "West Central US",
"properties":{
"containers": [
{
"name":"mycontainergroupprofile",
"properties": {
"command":[],
"environmentVariables":[],
"image":"mcr.microsoft.com/azuredocs/aci-helloworld:latest",
"ports":[
{
"port":8000
}
],
"resources": {
"requests": {
"cpu":1,
"memoryInGB":1.5
}
}
}
}
],
"imageRegistryCredentials":[],
"ipAddress":{
"ports":[
{
"protocol":"TCP",
"port":8000
}
],
"type":"Public"
},
"osType":"Linux",
"sku":"Standard"
}
}
az standby-container-group-pool create を使用してスタンバイ プール作成し、それをコンテナー グループ プロファイルに関連付けます。
az standby-container-group-pool create \
--resource-group myResourceGroup
--location WestCentralUS \
--name myStandbyPool \
--max-ready-capacity 20 \
--refill-policy always \
--container-profile-id "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/myContainerGroupProfile"
New-AzStandbyContainerGroupPool を使用してスタンバイ プール作成し、それをコンテナー グループ プロファイルに関連付けます。
New-AzStandbyContainerGroupPool `
-ResourceGroup myResourceGroup `
-Location "WestCentralUS" `
-Name myStandbyPool `
-MaxReadyCapacity 20 `
-RefillPolicy always `
-ContainerProfileId "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile"
スタンバイ プールを作成し、コンテナー グループ プロファイルに関連付けます。 テンプレートを作成し、az deployment group create または New-AzResourceGroupDeployment を使用してデプロイします。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"location": {
"type": "string",
"defaultValue": "West Central US"
},
"name": {
"type": "string",
"defaultValue": "myStandbyPool"
},
"maxReadyCapacity" : {
"type": "int",
"defaultValue": 10
},
"refillPolicy" : {
"type": "string",
"defaultValue": "always"
},
"containerGroupProfile" : {
"type": "string",
"defaultValue": "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile"
}
},
"resources": [
{
"type": "Microsoft.StandbyPool/standbyContainerGroupPools",
"apiVersion": "2024-03-01",
"name": "[parameters('name')]",
"location": "[parameters('location')]",
"properties": {
"elasticityProfile": {
"maxReadyCapacity": "[parameters('maxReadyCapacity')]",
"refillPolicy": "[parameters('refillPolicy')]"
},
"containerGroupProfile": "[parameters('containerGroupProfile')]"
}
}
]
}
スタンバイ プールを作成し、作成または更新を使用してコンテナー グループ プロファイルに関連付けます。
PUT https://management.azure.com/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.StandbyPool/standbyContainerGroupPools/myStandbyPool?api-version=2024-03-01
Request Body
{
"properties": {
"elasticityProfile": {
"maxReadyCapacity": 20,
"refillPolicy": "always"
},
"containerGroupProperties": {
"containerGroupProfile": {
"id": "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile",
"revision": 1
}
}
},
"location": "West Central US"
}