仮想マシン スケール セットを追加して Service Fabric クラスターをスケールアウトする

この記事では、既存のクラスターに新しいノード タイプを追加することで、Azure Service Fabric クラスターをスケーリングする方法について説明します。 Service Fabric クラスターは、ネットワークで接続された一連の仮想マシンまたは物理マシンで、マイクロサービスがデプロイおよび管理されます。 クラスターに属しているコンピューターまたは VM を "ノード" と呼びます。 仮想マシン スケール セットは、セットとして仮想マシンのコレクションをデプロイおよび管理するために使用する Azure コンピューティング リソースです。 Azure クラスターで定義されているすべてのノードの種類は、異なるスケール セットとしてセットアップされます。 その後は、ノードの種類ごとに個別に管理できます。 Service Fabric クラスターを作成した後は、新しいノード タイプ (仮想マシン スケール セット) を既存のクラスターに追加することで、クラスターを水平方向にスケーリングできます。 クラスターは、クラスターでワークロードを実行中であっても、いつでもスケーリングできます。 クラスターをスケーリングすると、アプリケーションも自動的にスケーリングされます。

既存のクラスターに別のスケール セットを追加する

既存のクラスターへの新しいノード タイプ (仮想マシン スケール セットによって支持されている) の追加は、プライマリ ノード タイプのアップグレードと似ていますが、同じ NodeTypeRef を使わないこと、明らかにアクティブに使われている仮想マシン スケール セットを無効にしないこと、およびプライマリ ノード タイプを更新しない場合はクラスターの可用性を失わないことが異なります。

NodeTypeRef プロパティは、仮想マシン スケール セットの Service Fabric 拡張機能プロパティ内で宣言されています。

<snip>
"publisher": "Microsoft.Azure.ServiceFabric",
     "settings": {
     "clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
     "nodeTypeRef": "[parameters('vmNodeType2Name')]",
     "dataPath": "D:\\\\SvcFab",
     "durabilityLevel": "Silver",
<snip>

さらに、この新しいノード タイプを Service Fabric クラスター リソースに追加する必要があります。

<snip>
"nodeTypes": [
      {
      "name": "[parameters('vmNodeType2Name')]",
      "applicationPorts": {
                "endPort": "[parameters('nt2applicationEndPort')]",
                "startPort": "[parameters('nt2applicationStartPort')]"
      },
      "clientConnectionEndpointPort": "[parameters('nt2fabricTcpGatewayPort')]",
      "durabilityLevel": "Silver",
       "ephemeralPorts": {
                "endPort": "[parameters('nt2ephemeralEndPort')]",
                "startPort": "[parameters('nt2ephemeralStartPort')]"
      },
      "httpGatewayEndpointPort": "[parameters('nt2fabricHttpGatewayPort')]",
      "isPrimary": false,
      "vmInstanceCount": "[parameters('nt2InstanceCount')]"
},
<snip>

次のステップ