Windows Server で実行されるスタンドアロン クラスターの作成
Azure Service Fabric を使用すると、Windows Server を実行するあらゆる仮想マシンまたはコンピューター上に Service Fabric クラスターを作成できます。 つまり相互に接続された一連の Windows Server コンピューターを含む環境さえあれば、オンプレミスであれ、クラウド プロバイダーであれ、Service Fabric アプリケーションをデプロイして実行できるということです。 Service Fabric には、Service Fabric クラスターを作成するためのセットアップ パッケージ (スタンドアロン Windows Server パッケージ) が用意されています。 Azure 上の従来の Service Fabric クラスターはマネージド サービスとして使用できるのに対して、スタンドアロンの Service Fabric クラスターはセルフサービスです。 違いについては、Azure とスタンドアロン Service Fabric クラスターの比較に関する記事をご覧ください。
この記事では、Service Fabric スタンドアロン クラスターの作成手順について説明します。
Note
このスタンドアロン Windows Server パッケージは無料で商用利用が可能であり、運用環境デプロイに使用できます。 このパッケージには、Service Fabric の "プレビュー" 段階の新機能が含まれている場合があります。 プレビュー機能の一覧については、「このパッケージに含まれるプレビュー機能」セクションまで下にスクロールします。 使用許諾契約書のコピーのダウンロード ができるようになりました。
Windows Server 用 Service Fabric パッケージのサポートを受ける
- Windows Server 用 Service Fabric スタンドアロン パッケージに関するコミュニティへの質問を Azure Service Fabric の Microsoft Q&A 質問ページで投稿します。
- Service Fabric の専門家によるサポートについては、チケットを申請してください。
- Microsoft Premier サポートの一環として、このパッケージのサポートを受けることもできます。
- 詳細については、「Azure Service Fabric のサポート オプション」を参照してください。
- サポート目的でログを収集するには、Service Fabric スタンドアロン ログ コレクターを実行します。
Windows Server 用 Service Fabric パッケージをダウンロードする
クラスターの作成には、次の場所にある Windows Server 用 Service Fabric パッケージ (Windows Server 2012 R2 以降) を使用します。
ダウンロード リンク - Service Fabric スタンドアロン パッケージ - Windows Server
パッケージ内容の詳細についてはこちらを参照してください。
Service Fabric ランタイム パッケージは、クラスターの作成時に自動でダウンロードされます。 インターネットに接続されていないマシンからデプロイを行う場合は、次の場所から帯域外用のランタイム パッケージをダウンロードしてください。
ダウンロード リンク - Service Fabric ランタイム - Windows Server
スタンドアロン クラスター構成は次の場所にあります。
スタンドアロン クラスター構成のサンプル
クラスターを作成する
セットアップ パッケージと共に、いくつかのサンプル クラスター構成ファイルがインストールされます。 ClusterConfig.Unsecure.DevCluster.json は最も単純なクラスター構成です。1 台のコンピューターで動作する 3 ノード クラスターとなっており、セキュリティ対策は施されていません。 その他の構成ファイルには、X.509 証明書または Windows セキュリティによって安全性が確保された 1 台または複数台のコンピューターから成るクラスターが記述されています。 このチュートリアルのために既定の構成設定を変更する必要はありませんが、構成ファイルに目を通して、設定の概要を把握しておいてください。 nodes セクションでは、クラスター内の 3 つのノードの name、IP address、node type、fault domain、および upgrade domain が記述されています。 properties セクションでは、クラスターのセキュリティ、信頼性レベル、診断コレクション、およびノードの種類が定義されています。
この記事で作成するクラスターは安全ではありません。 だれでも匿名で接続し、管理操作を実行することができるため、運用クラスターは常に X.509 証明書または Windows セキュリティを使用して保護する必要があります。 セキュリティを構成できるのはクラスターを作成するときだけであり、クラスターの作成後はセキュリティを有効にすることはできません。 構成ファイルを更新して、証明書によるセキュリティまたは Windows のセキュリティを有効にします。 Service Fabric クラスターのセキュリティについて詳しくは、クラスターのセキュリティ保護についてのページを参照してください。
手順 1:クラスターを作成する
シナリオ A: セキュリティで保護されていないローカルの開発クラスターを作成する
サンプルに含まれる "ClusterConfig.Unsecure.DevCluster.json" ファイルを使用すると、Service Fabric を 1 台のマシンから成る開発クラスターにデプロイできます。
スタンドアロン パッケージをマシンに解凍してサンプルの構成ファイルをローカル マシンにコピーしてから、管理者権限の PowerShell セッションでスタンドアロン パッケージのフォルダーにある CreateServiceFabricCluster.ps1 スクリプトを実行します。
.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.Unsecure.DevCluster.json -AcceptEULA
トラブルシューティングの詳細については、「Service Fabric スタンドアロン クラスターのデプロイの準備と計画」の「環境のセットアップ」を参照してください。
開発シナリオの実行が完了したら、Service Fabric クラスターは、「クラスターの削除」の手順を参照してマシンから削除できます。
シナリオ B: 複数のコンピューターから成るクラスターを作成する
クラスターのデプロイの計画と準備に関するページで説明されている計画および準備の手順を完了すると、独自のクラスター構成ファイルを使用して運用クラスターを作成できるようになります。
クラスターのデプロイと構成を行うクラスター管理者には、コンピューターに対する管理特権が必要です。 ドメイン コントローラーに Service Fabric をインストールすることはできません。
スタンドアロン パッケージの TestConfiguration.ps1 スクリプトをベスト プラクティス アナライザーとして使って、特定の環境にクラスターをデプロイできるかどうかを検証します。 前提条件と環境の要件については、デプロイの準備のページを参照してください。 スクリプトを実行して、開発クラスターを作成できるかどうかを検証します。
.\TestConfiguration.ps1 -ClusterConfigFilePath .\ClusterConfig.json
次のような出力が表示されます。 1 番下の "Passed" フィールドで "True" が返された場合、サニティ チェックは成功であり、クラスターは入力した構成を基にデプロイ可能と考えられます。
Trace folder already exists. Traces will be written to existing trace folder: C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer\DeploymentTraces Running Best Practices Analyzer... Best Practices Analyzer completed successfully. LocalAdminPrivilege : True IsJsonValid : True IsCabValid : True RequiredPortsOpen : True RemoteRegistryAvailable : True FirewallAvailable : True RpcCheckPassed : True NoConflictingInstallations : True FabricInstallable : True Passed : True
クラスターを作成します。CreateServiceFabricCluster.ps1 を実行して、構成内の各マシンに Service Fabric クラスターをデプロイします。
.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -AcceptEULA
Note
デプロイのトレースは、CreateServiceFabricCluster.ps1 PowerShell スクリプトを実行した VM/マシンに書き込まれます。 このトレースは、スクリプトを実行したディレクトリの DeploymentTraces サブフォルダーにあります。 Service Fabric がマシンに正常にデプロイされたかどうかを確かめるには、FabricDataRoot ディレクトリにインストールされたファイルを確認します。このディレクトリはクラスター構成ファイルの FabricSettings セクションで指定した場所にあります (既定では c:\ProgramData\SF)。 また、タスク マネージャーで FabricHost.exe と Fabric.exe の各プロセスが実行されていることも確認します。
シナリオ C: オフラインの (インターネットから切断された) クラスターを作成する
Service Fabric ランタイム パッケージは、クラスターの作成時に自動でダウンロードされます。 インターネットに接続していないコンピューターにクラスターをデプロイする場合、Service Fabric ランタイム パッケージを別にダウンロードしておき、クラスターの作成時にそのパスを指定する必要があります。
ランタイム パッケージはインターネットに接続されている他のコンピューターから別にダウンロードすることができます (ダウンロード リンク - Service Fabric ランタイム - Windows Server)。 オフライン クラスターをデプロイしている場所にランタイム パッケージをコピーし、次の例のように -FabricRuntimePackagePath
パラメーターを指定して CreateServiceFabricCluster.ps1
を実行してクラスターを作成します。
.\CreateServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -FabricRuntimePackagePath .\MicrosoftAzureServiceFabric.cab
.\ClusterConfig.json と .\MicrosoftAzureServiceFabric.cab は、それぞれクラスター構成とランタイムの .cab ファイルのパスです。
手順 2:クラスターに接続する
クラスターに接続し、クラスターが実行されており使用可能であることを確認します。 Service Fabric ランタイムをインストールすると、ServiceFabric PowerShell モジュールがインストールされます。 クラスター ノードのいずれか、または Service Fabric ランタイムがインストールされたリモート コンピューターから、クラスターに接続できます。 クラスターへの接続は、Connect-ServiceFabricCluster コマンドレットで確立します。
セキュリティで保護されていないクラスターに接続するには、次の PowerShell コマンドを実行します。
Connect-ServiceFabricCluster -ConnectionEndpoint <*IPAddressofaMachine*>:<Client connection end point port>
次に例を示します。
Connect-ServiceFabricCluster -ConnectionEndpoint 192.13.123.234:19000
その他の方法でクラスターに接続する例については、「セキュリティ保護されたクラスターに接続する」を参照してください。 クラスターに接続した後、Get-ServiceFabricNode コマンドレットを使って、クラスターに含まれている一連のノードとノードごとの状態情報を表示します。 すべてのノードで HealthState が OK になっている必要があります。
PS C:\temp\Microsoft.Azure.ServiceFabric.WindowsServer> Get-ServiceFabricNode |Format-Table
NodeDeactivationInfo NodeName IpAddressOrFQDN NodeType CodeVersion ConfigVersion NodeStatus NodeUpTime NodeDownTime HealthState
-------------------- -------- --------------- -------- ----------- ------------- ---------- ---------- ------------ -----------
vm2 localhost NodeType2 5.6.220.9494 0 Up 00:03:38 00:00:00 OK
vm1 localhost NodeType1 5.6.220.9494 0 Up 00:03:38 00:00:00 OK
vm0 localhost NodeType0 5.6.220.9494 0 Up 00:02:43 00:00:00 OK
手順 3:Service Fabric Explorer を使用したクラスターの視覚化
Service Fabric Explorer は、クラスターを視覚化してアプリケーションを管理するための最適なツールです。 Service Fabric Explorer はクラスターで動作するサービスであり、ブラウザーを使用して http://localhost:19080/Explorer
にアクセスすることができます。
クラスター ダッシュボードにクラスターの概要 (アプリケーションとノードの正常性の概要など) が表示されます。 ノード ビューには、クラスターの物理的なレイアウトが表示されます。 特定のノードについて、そのノードでコードがデプロイされているアプリケーション、
ノードの追加と削除
ビジネス ニーズの変化に応じて、スタンドアロン Service Fabric クラスターでノードを追加または削除できます。 詳細の手順については、「Service Fabric スタンドアロン クラスターでノードを追加または削除する」 をお読みください。
クラスターの削除
クラスターを削除するには、パッケージ フォルダーにある RemoveServiceFabricCluster.ps1 PowerShell スクリプトを実行し、JSON 構成ファイルのパスを渡してください。 必要に応じて、削除対象のログの場所を指定することもできます。
このスクリプトは、クラスター構成ファイルにノードとして列挙されているすべてのマシンに管理者アクセスできれば、どのマシンでも実行できます。 このスクリプトが実行されるマシンがクラスターに属している必要はありません。
# Removes Service Fabric from each machine in the configuration
.\RemoveServiceFabricCluster.ps1 -ClusterConfigFilePath .\ClusterConfig.json -Force
# Removes Service Fabric from the current machine
.\CleanFabric.ps1
収集されるテレメトリ データとオプトアウトの方法
製品品質の向上を図るために、Service Fabric の使用状況に関するテレメトリが既定で収集されます。 この URL に到達できなかった場合、テレメトリを無効にしない限り、セットアップは失敗します。
- アップロードはベスト エフォートで実行され、クラスターの動作には一切影響しません。 テレメトリの送信元になるのは、Failover Manager プライマリを実行しているノードだけです。 それ以外のノードからはテレメトリが送信されません。
- テレメトリは次のデータで構成されています。
- サービスの数
- ServiceTypes の数
- アプリケーションの数
- ApplicationUpgrades の数
- FailoverUnits の数
- InBuildFailoverUnits の数
- UnhealthyFailoverUnits の数
- レプリカの数
- InBuildReplicas の数
- StandByReplicas の数
- OfflineReplicas の数
- CommonQueueLength
- QueryQueueLength
- FailoverUnitQueueLength
- CommitQueueLength
- ノードの数
- IsContextComplete: True または False
- ClusterId: これは、クラスターごとにランダムに生成された GUID です。
- ServiceFabricVersion
- テレメトリのアップロード元となった仮想マシンまたはコンピューターの IP アドレス
テレメトリを無効にするには、クラスターの構成ファイル内の properties に enableTelemetry: false を追加します。
このパッケージに含まれるプレビュー機能
[なし] :
Note
Windows Server (バージョン 5.3.204.x) 用のスタンドアロン クラスターの新しい GA バージョン以降では、クラスターを今後のリリースに手動でアップグレードすることも、自動的にアップグレードすることもできます。 詳細については、スタンドアロン Service Fabric クラスターのバージョンのアップグレードに関するドキュメントをご覧ください。
次のステップ
- PowerShell を使用してアプリケーションのデプロイと削除を実行する
- スタンドアロン Windows クラスターの構成設定
- スタンドアロン Service Fabric クラスターでノードを追加または削除する
- スタンドアロン Service Fabric クラスターのバージョンをアップグレードする
- Windows を実行する Azure VM を使用してスタンドアロン Service Fabric クラスターを作成する
- Windows 上のスタンドアロン クラスターを Windows セキュリティで保護する
- X.509 証明書を使用した Windows でのスタンドアロン クラスターの保護