仮想マシン スケール セットは、Azure コンピューティング リソースです。 スケール セットを使用すると、仮想マシンのコレクションをセットとしてデプロイおよび管理できます。 Azure Service Fabric クラスターで定義するノードの種類ごとに、正確に 1 つのスケール セットが設定されます。複数のノードの種類は同じスケール セットでサポートできず、1 つのノードの種類は複数のスケール セットでサポートできません。
Service Fabric ランタイムは、Microsoft.Azure.ServiceFabric 仮想マシン拡張機能によって、スケール セット内の各仮想マシンにインストールされます。 各ノードの種類を個別にスケールアップまたはスケールダウンしたり、各クラスター ノードで実行されている OS SKU を変更したり、異なるポートのセットを開いたり、別の容量メトリックを使用したりできます。
次の図は、FrontEnd と BackEnd という名前の 2 種類のノードがあるクラスターを示しています。 各ノードの種類には、5 つのノードがあります。
仮想マシン スケール セットのインスタンスをノードにマップする
前の図に示されているように、スケール セットのインスタンスはインスタンス 0 で始まり、1 つずつ増えていきます。 番号はノード名に反映されます。 たとえば、ノード BackEnd_0 は、BackEnd スケール セットのインスタンス 0 です。 この特定のスケール セットには、BackEnd_0、BackEnd_1、BackEnd_2、BackEnd_3、BackEnd_4 という名前の 5 つのインスタンスがあります。
スケール セットをスケールアウトすると、新しいインスタンスが作成されます。 通常、新しいスケール セットのインスタンス名は、スケール セットの名前に次のインスタンス番号を付加したものになります。 この例では、BackEnd_5 です。
スケール セットのロード バランサーをノードの種類とスケール セットにマップする
Azure Portal でクラスターをデプロイした場合、またはサンプル Azure Resource Manager テンプレートを使用した場合、リソース グループのすべてのリソースが一覧に表示されます。 また、各スケール セットまたはノードの種類のロード バランサーを確認できます。 ロード バランサー名には、次の形式が使用されます: LB-<ノードの種類の名前> 。 たとえば、次の図で示すように、LB-sfcluster4doc-0 などです。
Service Fabric 仮想マシン拡張機能
Service Fabric 仮想マシン拡張機能は、Service Fabric を Azure 仮想マシンにブートス トラップし、ノードのセキュリティを構成します。
以下は、Service Fabric Windows 仮想マシン拡張機能のスニペットです:
"extensions": [
{
"name": "[concat('ServiceFabricNodeVmExt','_vmNodeType0Name')]",
"properties": {
"publisher": "Microsoft.Azure.ServiceFabric",
"type": "ServiceFabricNode",
"typeHandlerVersion": "1.1",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"protectedSettings": {
"StorageAccountKey1": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('supportLogStorageAccountName')),'2015-05-01-preview').key1]",
},
"settings": {
"clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
"nodeTypeRef": "[variables('vmNodeType0Name')]",
"durabilityLevel": "Silver",
"dataPath": "D:\\\\SvcFab",
"certificate": {
"commonNames": [
"[parameters('certificateCommonName')]"
],
"x509StoreName": "[parameters('certificateStoreValue')]"
}
}
}
},
Service Fabric Linux 仮想マシン拡張機能のスニペットを次に示します。
"extensions": [
{
"name": "[concat('ServiceFabricNodeVmExt','_vmNodeType0Name')]",
"properties": {
"publisher": "Microsoft.Azure.ServiceFabric",
"type": "ServiceFabricLinuxNode",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"typeHandlerVersion": "2.0",
"protectedSettings": {
"StorageAccountKey1": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('supportLogStorageAccountName')),'2015-05-01-preview').key1]",
},
"settings": {
"clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
"nodeTypeRef": "[variables('vmNodeType0Name')]",
"durabilityLevel": "Silver",
"certificate": {
"commonNames": [
"[parameters('certificateCommonName')]"
],
"x509StoreName": "[parameters('certificateStoreValue')]"
}
}
}
},
プロパティの説明を次に示します。
| 名前 | 使用できる値 | ガイダンスまたは簡単な説明 |
|---|---|---|
| 名前 | 文字列 | 拡張機能の一意の名前 |
| 型 | "ServiceFabricLinuxNode" または "ServiceFabricNode" | OS の Service Fabric が次に対してブートストラップすることを識別します。 |
| autoUpgradeMinorVersion | true または false | デプロイ時に最新のマイナー バージョンの拡張機能を使う |
| 自動アップグレードを有効にする | true または false | メジャー以外のバージョンがリリースされたら、拡張機能を自動的にアップグレードします。 ServiceFabricLinuxNode 型と ServiceFabricNode 型の両方で使用できます |
| パブリッシャ | Microsoft.Azure.ServiceFabric | Service Fabric 拡張機能パブリッシャーの名前 |
| クラスターエンドポイント | 文字列 | 管理エンドポイントへの URI:PORT |
| nodeTypeRef | 文字列 | nodeType の名前 |
| 耐久レベル | ブロンズ、シルバー、ゴールド、プラチナ | 不変 Azure インフラストラクチャを一時停止できる時間 |
| enableParallelJobs | true または false | ParallelJobs の計算機能を有効化し、同一のスケール セット内で VM の削除や再起動を並列処理で実行できるようにします。 |
| nicPrefixOverride | 文字列 | "10.0.0.0/24" などサブネットのプレフィックス |
| commonNames | string[] | インストール済みのクラスター証明書の共通名 |
| x509StoreName | 文字列 | インストールされているクラスター証明書が配置されているストアの名前 |
| typeHandlerVersion | 1.1 (Windows) または 2.0 (Linux) | 拡張機能のバージョン。 アップグレードが必要です。以前のバージョンはサポートされなくなりました。 Linux の場合は、 enableAutomaticUpgrade を true に設定して 2.0 を使用します。 |
| データパス | 文字列 | Service Fabric システムのサービスおよびアプリケーション データの状態を保存するために使用されるドライブへのパス。 |
次のステップ
- "任意の場所にデプロイ" 機能の概要と Azure で管理されるクラスターとの比較に関するページを参照します。
- クラスター セキュリティについて学習します。
- 特定のスケール セット インスタンスにリモート接続する
- 展開後にクラスター VM で RDP ポートの範囲値を更新する
- クラスター VM の管理者ユーザー名とパスワードを変更する