重要
2025 年 3 月 31 日の時点で、クラウド サービス (延長サポート) は非推奨となり、2027 年 3 月 31 日に完全に廃止されます。 この非推奨化の詳細と移行方法について説明します。
この記事では、allowModelOverride プロパティを使用して Azure Cloud Services のロール サイズとインスタンス数を更新する方法について説明します。 このプロパティを使用する場合、サービス構成ファイル (.cscfg) とサービス定義ファイル (.csdef) を更新する必要はありません。 そのため、クラウド サービスを再パッケージ化して再デプロイすることなく、スケールアップ、スケールダウン、スケールイン、またはスケールアウトすることができます。
allowModelOverride プロパティを設定する
allowModelOverride プロパティを true
または false
に設定できます。
allowModelOverride が
true
に設定されている場合、API 呼び出しにより、.csdef ファイルと .cscfg ファイルの値が検証されることなく、クラウド サービスのロール サイズとインスタンス数が更新されます。注釈
.cscfg ファイルは、ロール インスタンス数を反映するように更新されます。 (.cspkg 内に埋め込まれている) .csdef ファイルは、古い値を保持します。
allowModelOverride が
false
に設定されている場合、ロール サイズとインスタンス数の値がそれぞれ .csdef ファイルと .cscfg ファイルの値と一致しないと、API 呼び出しでエラーがスローされます。
既定値は false
です。 このプロパティが false
に設定された後に true
にリセットされた場合は、.csdef ファイルと .cscfg ファイルが再度検証されます。
次のサンプルは、Azure Resource Manager (ARM) テンプレート、PowerShell、または SDK を使用して allowModelOverride プロパティを設定する方法を示しています。
ARM テンプレート
ここで allowModelOverride プロパティを true
に設定すると、roleProfile
セクションで定義されたロール プロパティを使用してクラウド サービスが更新されます。
"properties": {
"packageUrl": "[parameters('packageSasUri')]",
"configurationUrl": "[parameters('configurationSasUri')]",
"upgradeMode": "[parameters('upgradeMode')]",
"allowModelOverride": true,
"roleProfile": {
"roles": [
{
"name": "WebRole1",
"sku": {
"name": "Standard_D1_v2",
"capacity": "1"
}
},
{
"name": "WorkerRole1",
"sku": {
"name": "Standard_D1_v2",
"capacity": "1"
}
}
]
},
PowerShell
新しい AllowModelOverride
コマンドレットで New-AzCloudService
スイッチを設定すると、ロール プロファイルで定義されている SKU プロパティを使用してクラウド サービスが更新されます。
New-AzCloudService `
-Name "ContosoCS" `
-ResourceGroupName "ContosOrg" `
-Location "East US" `
-AllowModelOverride `
-PackageUrl $cspkgUrl `
-ConfigurationUrl $cscfgUrl `
-UpgradeMode 'Auto' `
-RoleProfile $roleProfile `
-NetworkProfile $networkProfile `
-ExtensionProfile $extensionProfile `
-OSProfile $osProfile `
-Tag $tag
SDK
AllowModelOverride
変数を true
に設定すると、ロール プロファイルで定義されている SKU プロパティを使用してクラウド サービスが更新されます。
CloudService cloudService = new CloudService
{
Properties = new CloudServiceProperties
{
RoleProfile = cloudServiceRoleProfile
Configuration = < Add Cscfg xml content here>
PackageUrl = <Add cspkg SAS url here>,
ExtensionProfile = cloudServiceExtensionProfile,
OsProfile= cloudServiceOsProfile,
NetworkProfile = cloudServiceNetworkProfile,
UpgradeMode = 'Auto',
AllowModelOverride = true
},
Location = m_location
};
CloudService createOrUpdateResponse = m_CrpClient.CloudServices.CreateOrUpdate("ContosOrg", "ContosoCS", cloudService);
Azure portal
Azure portal では、allowModelOverride プロパティを使用して .csdef ファイルと .cscfg ファイルのロール サイズとインスタンス数を上書きすることはできません。