次の方法で共有


チュートリアル: Service Fabric クラスターのインストールと作成

Service Fabric で採用されている "すべての OS、すべてのクラウド" のアプローチの一環として、Service Fabric スタンドアロン クラスターには、独自の環境を選んでクラスターを作成する選択肢が用意されています。 このチュートリアル シリーズでは、AWS または Azure 上でホストされるスタンドアロンのクラスターを作成し、そこにアプリケーションをインストールします。

このチュートリアルは、シリーズの第 2 部です。 このチュートリアルでは、Service Fabric スタンドアロン クラスターの作成手順について説明します。

この記事では、次の方法について学習します。

  • Service Fabric スタンドアロン パッケージをダウンロードしてインストールする
  • Service Fabric クラスターを作成する
  • Service Fabric クラスターに接続する

Windows Server 用 Service Fabric パッケージをダウンロードする

Service Fabric には、Service Fabric スタンドアロン クラスターを作成するためのセットアップ パッケージが用意されています。 ローカル コンピューターでセットアップ パッケージをダウンロードします。 正常にダウンロードされたら、RDP 接続を介して VM にコピーし、デスクトップに貼り付けます。

zip ファイルを選択し、コンテキスト メニューを開いて、 [すべて展開]>[展開] を選択します。 ファイルを展開すると、zip ファイルと同じ名前のフォルダーがデスクトップに生成されます。

さらに詳しい情報が必要な場合は、セットアップ パッケージの内容をご覧ください。

構成ファイルを設定する

ここでは、3 ノードの Windows クラスターを作成します。そこで、ClusterConfig.Unsecure.MultiMachine.json ファイルに変更を加える必要があります。

次に、ファイルの 8 行目、15 行目、22 行目に出現する 3 つの ipAddress 行を、各インスタンスの IP アドレスに更新します。

ノードを更新した後の内容は、次のとおりです。

{
  "nodeName": "vm0",
  "ipAddress": "172.31.27.1",
  "nodeTypeRef": "NodeType0",
  "faultDomain": "fd:/dc1/r0",
  "upgradeDomain": "UD0"
}

次に、いくつかのプロパティを更新する必要があります。 34 行目で、診断ストアの接続文字列に変更を加える必要があります。変更後は、"connectionstring": "C:\\ProgramData\\SF\\DiagnosticsStore" のようになります。

最後に、この構成の nodeTypes セクションに、Windows が使用することになるエフェメラル ポートをマッピングする新しいセクションを追加します。 構成ファイルは、次のようになっている必要があります。

"applicationPorts": {
    "startPort": "20001",
    "endPort": "20031"
},
"ephemeralPorts": {
    "startPort": "20606",
    "endPort": "20861"
},
"isPrimary": true

環境の検証

スタンドアロン パッケージの TestConfiguration.ps1 スクリプトをベスト プラクティス アナライザーとして使って、特定の環境にクラスターをデプロイできるかどうかを検証します。 前提条件と環境の要件については、デプロイの準備のページを参照してください。 スクリプトを実行して、開発クラスターを作成できるかどうかを検証します。

cd .\Desktop\Microsoft.Azure.ServiceFabric.WindowsServer.6.2.274.9494\
.\TestConfiguration.ps1 -ClusterConfigFilePath .\ClusterConfig.Unsecure.MultiMachine.json

次の例のような出力が表示されます。 一番下の "Passed" フィールドで True が返された場合、サニティ チェックは成功であり、クラスターは入力した構成を基にデプロイ可能と考えられます。

Trace folder already exists. Traces will be written to existing trace folder: C:\Users\Administrator\Desktop\Microsoft.Azure.ServiceFabric.WindowsServer.6.2.274.9494\DeploymentTraces
Running Best Practices Analyzer...
Best Practices Analyzer completed successfully.


LocalAdminPrivilege        : True
IsJsonValid                : True
IsCabValid                 :
RequiredPortsOpen          : True
RemoteRegistryAvailable    : True
FirewallAvailable          : True
RpcCheckPassed             : True
NoConflictingInstallations : True
FabricInstallable          : True
DataDrivesAvailable        : True
NoDomainController         : True
Passed                     : True

クラスターを作成する

クラスターの構成に問題がないことを確認したら、CreateServiceFabricCluster.ps1 スクリプトを実行して、構成ファイル内の仮想マシンに Service Fabric クラスターをデプロイします。

.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.Unsecure.MultiMachine.json -AcceptEULA

すべて正常に実行されれば、次のような出力結果が得られます。

Your cluster is successfully created! You can connect and manage your cluster using Microsoft Azure Service Fabric Explorer or PowerShell. To connect through PowerShell, run 'Connect-ServiceFabricCluster [ClusterConnectionEndpoint]'.

Note

デプロイのトレースは、CreateServiceFabricCluster.ps1 PowerShell スクリプトを実行した VM/マシンに書き込まれます。 このトレースは、スクリプトを実行したディレクトリの DeploymentTraces サブフォルダーにあります。 Service Fabric がマシンに正常にデプロイされたかどうかを確かめるには、FabricDataRoot ディレクトリにインストールされたファイルを確認します。このディレクトリはクラスター構成ファイルの FabricSettings セクションで指定した場所にあります (既定では c:\ProgramData\SF)。 また、タスク マネージャーで FabricHost.exe と Fabric.exe の各プロセスが実行されていることも確認します。

Service Fabric Explorer を開く

これで、Service Fabric Explorer を使用してクラスターに接続できるようになりました。いずれかのマシンから http://localhost:19080/Explorer/index.html で直接接続するか、リモートから http://<IPAddressofaMachine>:19080/Explorer/index.html で接続することができます。

ノードの追加と削除

ビジネス ニーズの変化に応じて、スタンドアロン Service Fabric クラスターでノードを追加または削除できます。 詳細の手順については、「Service Fabric スタンドアロン クラスターでノードを追加または削除する」 をお読みください。

次のステップ

この記事では、次の手順をはじめ、ストレージ アカウントに大量のランダム データを並列でアップロードする方法について学びました。

  • 接続文字列の構成
  • アプリケーションのビルド
  • アプリケーションの実行
  • 接続数の検証

シリーズの第 3 部に進んで、作成したクラスターにアプリケーションをインストールしましょう。