Service Fabric クラスターでの Windows オペレーティング システムへのパッチの適用

Virtual Machine Scale Sets での OS イメージの自動アップグレードの取得は、Azure でオペレーティング システムにパッチが適用された状態を保つためのベスト プラクティスです。 仮想マシン スケール セット ベースの OS イメージの自動アップグレードでは、スケール セットに Silver 以上の耐久性が必要です。

Virtual Machine Scale Sets による OS イメージの自動アップグレードの要件

  • Service Fabric の持続性レベルは Silver または Gold であり、Bronze ではありません。
  • スケール セット モデル定義の Service Fabric 拡張機能には、TypeHandlerVersion 1.1 以降が必要です。
  • 持続性レベルは、スケール セット モデル定義の Service Fabric クラスターと Service Fabric 拡張機能で同じである必要があります。
  • Virtual Machine Scale Sets に追加の正常性プローブやアプリケーション正常性拡張機能を使用する必要はありません。
  • ステートレス ノードタイプは唯一の例外で、耐久性はブロンズですが、OS イメージの自動アップグレードは引き続き構成できます。 詳細については、「ステートレス専用ノードタイプを使用して Azure Service Fabric クラスターをデプロイする」を参照してください

Service Fabric クラスターと Service Fabric 拡張機能で持続性の設定に不一致がないことを確認します。これは、一致しない場合にアップグレード エラーが発生する可能性があるためです。 持続性レベルは、このページで説明されているガイドラインに従って変更できます。

ブロンズ 持続性を使用する場合、OS イメージの自動アップグレードは使用できません。 パッチ オーケストレーション アプリケーション (Azure 以外でホストされているクラスターのみが対象) は、Silver 以上の持続性レベルでは推奨されませんが、Service Fabric アップグレード ドメインに関しては、Windows 更新プログラムを自動化する唯一のオプションです。

パッチ オーケストレーション アプリケーションから OS イメージの自動アップグレードに切り替える場合、最初にパッチ オーケストレーション アプリケーションの使用を非推奨にする必要があります。

OS の自動アップグレードを有効にし、Windows Update を無効にする

OS の自動更新を有効にする場合は、展開テンプレートで Windows Update を無効にする必要もあります。 これらの変更をデプロイすると、スケール セット内のすべてのマシンが再イメージ化され、スケール セットで自動更新が有効になります。

重要

Service Fabric では、OS ディスクを交換せずに、Windows Update によってオペレーティング システムのパッチを適用する VM 内アップグレードはサポートされていません。

注意

マネージド ディスクを使用する場合は、マネージド ディスクをドライブ文字にマッピングするためのカスタム拡張機能スクリプトで VM の再イメージ化が正しく処理されることを確認します。 マネージド ディスクを使用した VM の再イメージ化を正しく処理するサンプル スクリプトについては、「データ ディスクをアタッチして Service Fabric クラスターを作成する」を参照してください。

  1. OS イメージの自動アップグレードを有効にし、展開テンプレートで Windows 更新プログラムを無効にします。

    "properties": {
       "upgradePolicy": {
         "mode": "Automatic",
          "automaticOSUpgradePolicy": {
            "enableAutomaticOSUpgrade": true
          }
        }
    }
    
    "osProfile": { 
       "windowsConfiguration": { 
         "enableAutomaticUpdates": false 
        }
    }
    
    Update-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName -AutomaticOSUpgrade $true -EnableAutomaticUpdate $false
    
  2. スケール セット モデルを更新します。 この構成変更後、変更が有効になるように、スケール セット モデルを更新するには、すべてのマシンの再イメージ化が必要です。

    $scaleSet = Get-AzVmssVM -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName
    $instances = foreach($vm in $scaleSet)
    {
        Set-AzVmssVM -ResourceGroupName $resourceGroupName -VMScaleSetName $scaleSetName -InstanceId $vm.InstanceID -Reimage
    }
    

次のステップ

Virtual Machine Scale Sets で OS イメージの自動アップグレードを有効にする方法について説明します。