次の方法で共有


ノードの種類にエフェメラル OS ディスクを使用する Service Fabric マネージド クラスターの概要

既定では、Azure Service Fabric マネージド クラスターでは、特定のノードの種類のノードにマネージド OS ディスクが使用されます。 コスト効率を高めるために、マネージド クラスターではエフェメラル OS ディスクの構成が提供されます。 エフェメラル OS ディスクは、ローカルの仮想マシン (VM) ストレージで作成され、リモートの Azure Storage に保存されません。 エフェメラル OS ディスクは無料で、マネージド OS ディスクを使用する必要性に取って代わります。

エフェメラル OS ディスクの主な利点は次のとおりです。

  • 一時ディスクのように読み取りや書き込みの待機時間が短縮され、ノードのスケーリングやクラスターのアップグレードが高速になります。
  • Marketplace、カスタム イメージ、Azure Compute Gallery (旧称 Shared Image Gallery) でサポートされます。
  • VM およびスケール セット インスタンスを元のブート状態に速やかにリセットまたは再イメージ化することができます。
  • すべての Azure リージョンで使用可能。

エフェメラル OS ディスクは、アプリケーションが個々の VM の障害に耐えられるが、VM のデプロイ時間や個々の VM インスタンスの再イメージ化による影響を受ける場合に適切に動作します。 マネージド OS ディスクと同様に、データのバックアップと復元は保証されません。

この記事では、Azure Resource Manager テンプレート (ARM テンプレート) を使用して、特にエフェメラル OS ディスクを使用する Service Fabric マネージド クラスターのノードの種類を作成する方法について説明します。

前提条件

このガイドは、マネージド クラスターのクイック スタート ガイド「Azure Resource Manager を使用して Service Fabric マネージド クラスターをデプロイする」に基づいています。

作業を開始する前に、次のことを行います。

  • Azure サブスクリプションを持っていない場合は無料アカウントを作成する
  • マネージド クラスター ARM テンプレートを取得します。 サンプルの Resource Manager テンプレートは、GitHub の Azure サンプルで入手できます。 これらのテンプレートは、クラスター テンプレートの作成を始める際に使用できます。
  • エフェメラル OS ディスクは、プライマリ ノードとセカンダリ ノードの種類の両方でサポートされます。 このガイドでは、エフェメラル OS ディスクを使用するプライマリ ノードとセカンダリ ノードの 2 つのノードの種類で Standard SKU クラスターをデプロイする方法について説明します。
  • エフェメラル OS ディスクは、すべての SKU でサポートされるわけではありません。 エフェメラル OS ディスクは、DSv1、DSv2、DSv3、Esv3、Fs、FsV2、GS、M、Mdsv2、Bs、Dav4、Eav4 などの VM サイズでサポートされています。 デプロイする SKU がエフェメラル OS ディスクをサポートしていることを確認してください。 個々の SKU の詳細については、「サポートされている VM SKU」を参照し、左側のウィンドウで目的の SKU に移動します。
  • Service Fabric のエフェメラル OS ディスクは、VM SKU の一時ディスクの領域に配置されます。 使用している VM SKU に、エフェメラル OS ディスクを配置するための 127 GiB を超える一時ディスク領域があることを確認します。

テンプレートを確認する

このガイドで使用するテンプレートは、Azure サンプルの Service Fabric クラスター テンプレートから入手したものです。

クライアント証明書を作成する

Service Fabric マネージド クラスターでは、アクセスの制御用のキーとしてクライアント証明書が使用されます。 クラスターへのアクセスの制御に使用するクライアント証明書が既にある場合は、この手順はスキップしてかまいません。

新しいクライアント証明書を作成する必要がある場合は、Azure Key Vault から証明書の設定と取得を行う方法に関するページの手順に従ってください。 証明書の拇印を書き留めておいてください。これは次の手順でテンプレートをデプロイする際に必要となります。

テンプレートのデプロイ

  1. エフェメラル OS ディスクの Service Fabric クラスター サンプル テンプレートからテンプレートを選択します。これには、エフェメラル OS ディスク サポートの仕様が含まれています。

  2. 以下のテンプレート パラメーターに、独自の値を指定します。

    • サブスクリプション:Azure サブスクリプションを選択します。
    • リソース グループ: [新規作成] を選択します。 リソース グループの一意の名前 (myResourceGroup など) を入力し、 [OK] を選択します。
    • [場所] :場所を選択します。
    • クラスター名:自分のクラスター用に一意の名前 (mysfcluster など) を入力します。
    • 管理ユーザー名: クラスター内の基になる VM で RDP に使用する管理者の名前を入力します。
    • 管理パスワード: クラスター内の基になる VM で RDP に使用する管理者のパスワードを入力します。
    • クライアント証明書の拇印:クラスターにアクセスするために使用するクライアント証明書の拇印を指定します。 証明書がない場合は、証明書の設定と取得に関する手順に従って、自己署名証明書を作成します。
    • ノード タイプ名: ノード タイプの一意の名前を入力します (例: nt1)。
  3. 次のいずれかの方法で ARM テンプレートをデプロイします。

    • ARM ポータルのカスタム テンプレート エクスペリエンス: カスタム デプロイ - Microsoft Azure。 次の画像を選択して Azure にサインインし、テンプレート パラメーターに独自の値を指定してから、テンプレートをデプロイします。

      Resource Manager テンプレートを Azure に配置するボタン。

    • ARM PowerShell コマンドレット: New-AzResourceGroupDeployment (Az.Resources)。 ARM テンプレートとパラメーター ファイルのパスを変数に格納し、テンプレートをデプロイします。

      $templateFilePath = "<full path to azuredeploy.json>"
      $parameterFilePath = "<full path to azuredeploy.parameters.json>"
      
      New-AzResourceGroupDeployment ` 
         -Name $DeploymentName ` 
         -ResourceGroupName $resourceGroupName ` 
         -TemplateFile $templateFilePath ` 
         -TemplateParameterFile $parameterFilePath `
         -Debug -Verbose
      

    デプロイが正常に完了するまで待機します

  4. 独自のテンプレートを使用してエフェメラル OS ディスクを使用するようにノードの種類を構成するには、次のようにします。

    • Service Fabric API バージョン 2022-06-01-preview 以降を使用する
    • テンプレートの azuredeploy.json を編集し、ノードの種類のセクションに次のプロパティを追加します。
      "properties": { 
      "useEphemeralOSDisk": true 
      }
      

    これらの仕様を含むサンプル テンプレート「Azure-Sample - Service Fabric クラスター テンプレート」を利用できます。

Service Fabric マネージド クラスターのノードの種類にエフェメラル OS ディスクを使用するように移行する

ノードの種類は、作成時にのみエフェメラル OS ディスクを使用するように構成できます。 既存のノードの種類は、エフェメラル OS ディスクを使用するように変換することはできません。 すべての移行シナリオで、エフェメラル OS ディスクを使用する新しいノードの種類をクラスターに追加し、サービスをそのノードの種類に移行します。

  1. 前に指定したエフェメラル OS ディスクを使用するように構成された新しいノードの種類を追加します。
  2. 必要なワークロードを新しいノード タイプに移行します。
  3. 古いノード タイプを無効にしてクラスターから削除します。

次のステップ