次の方法で共有


Cloud Services (延長サポート) の .cscfg および .csdef ファイルの SKU 設定をオーバーライドする

重要

2025 年 3 月 31 日の時点で、クラウド サービス (延長サポート) は非推奨となり、2027 年 3 月 31 日に完全に廃止されます。 この非推奨化の詳細と移行方法について説明します。

この記事では、allowModelOverride プロパティを使用して Azure Cloud Services のロール サイズとインスタンス数を更新する方法について説明します。 このプロパティを使用する場合、サービス構成ファイル (.cscfg) とサービス定義ファイル (.csdef) を更新する必要はありません。 そのため、クラウド サービスを再パッケージ化して再デプロイすることなく、スケールアップ、スケールダウン、スケールイン、またはスケールアウトすることができます。

allowModelOverride プロパティを設定する

allowModelOverride プロパティを true または false に設定できます。

  • allowModelOverridetrue に設定されている場合、API 呼び出しにより、.csdef ファイルと .cscfg ファイルの値が検証されることなく、クラウド サービスのロール サイズとインスタンス数が更新されます。

    注釈

    .cscfg ファイルは、ロール インスタンス数を反映するように更新されます。 (.cspkg 内に埋め込まれている) .csdef ファイルは、古い値を保持します。

  • allowModelOverridefalse に設定されている場合、ロール サイズとインスタンス数の値がそれぞれ .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 ファイルのロール サイズとインスタンス数を上書きすることはできません。

次のステップ