クイック スタート:ARM テンプレートを使用して Service Fabric クラスターを作成する
[アーティクル] 2024/10/15
7 人の共同作成者
フィードバック
この記事の内容
前提条件
テンプレートを確認する
テンプレートのデプロイ
デプロイされているリソースを確認する
リソースをクリーンアップする
次のステップ
さらに 2 個を表示
Azure Service Fabric は、スケーラブルで信頼性に優れたマイクロサービスとコンテナーのパッケージ化とデプロイ、管理を簡単に行うことができる分散システム プラットフォームです。 Service Fabric "クラスター " は、ネットワークで接続された一連の仮想マシンです。マイクロサービスは Service Fabric クラスターにデプロイされ、そこで管理されます。 この記事では、Azure Resource Manager テンプレート (ARM テンプレート) を使用して、Azure に Service Fabric テスト クラスターをデプロイする方法について説明します。
Azure Resource Manager テンプレート は JavaScript Object Notation (JSON) ファイルであり、プロジェクトのインフラストラクチャと構成が定義されています。 このテンプレートでは、宣言型の構文が使用されています。 デプロイを作成するプログラミング コマンドのシーケンスを記述しなくても、そのデプロイに関する意図を記述できます。
この 5 ノードの Windows クラスターは、セキュリティの保護に自己署名証明書を使用しているため、運用環境のワークロードではなく、説明のみを目的としています。 テンプレートのデプロイには、Azure PowerShell を使用します。 Azure PowerShell だけでなく、Azure portal、Azure CLI、および REST API を使用することもできます。 他のデプロイ方法については、「テンプレートのデプロイ 」を参照してください。
環境が前提条件を満たしていて、ARM テンプレートの使用に慣れている場合は、 [Azure へのデプロイ] ボタンを選択します。 Azure portal でテンプレートが開きます。
Azure サブスクリプションをお持ちでない場合は、開始する前に無料 アカウントを作成してください。
Service Fabric SDK と PowerShell モジュールをインストールします
このクイックスタートを完了するには、次のことが必要です。
サンプル テンプレートと証明書ヘルパー スクリプトをダウンロードする
Azure Resource Manager クイックスタート テンプレート リポジトリを複製またはダウンロドします。 または、使用する以下のファイルを service-fabric-secure-cluster-5-node-1-nodetype フォルダーからローカルにコピーします。
Azure にサインインし、Service Fabric クラスターの作成に使用するサブスクリプションを指定します。
Login-AzAccount -SubscriptionId "<subscription ID>"
Key Vault に格納される自己署名証明書を作成する
Service Fabric では、X.509 証明書を使用して、クラスターをセキュリティで保護 し、アプリケーションのセキュリティ機能を提供します。また、Key Vault を使用して、これらの証明書を管理します。 クラスターを正常に作成するには、ノード間通信を有効にするためのクラスター証明書が必要です。 このクイックスタート テスト クラスターを作成するために、クラスター認証用の自己署名証明書を作成します。 運用環境のワークロードには、正しく構成された Windows Server 証明書サービスを使用して作成した証明書か、認定済みの証明機関 (CA) からの証明書が必要です。
$resourceGroupName = "SFQuickstartRG"
$keyVaultName = "SFQuickstartKV"
New-AzResourceGroup -Name $resourceGroupName -Location SouthCentralUS
New-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $resourceGroupName -Location SouthCentralUS -EnabledForDeployment
.\scripts\New-ServiceFabricClusterCertificate .ps1
スクリプトによって次のメッセージが表示されます (以下の例の値のうち、CertDNSName と KeyVaultName は必ず変更してください)。
パスワード: Password!1
CertDNSName: sfquickstart .southcentralus.cloudapp.azure.com
KeyVaultName: SFQuickstartKV
KeyVaultSecretName: clustercert
完了すると、テンプレートのデプロイに必要なパラメーター値がスクリプトによって提供されます。 これらの変数は、クラスター テンプレートをデプロイするために必要となるため、以下の変数に格納してください。
$sourceVaultId = "<Source Vault Resource Id>"
$certUrlValue = "<Certificate URL>"
$certThumbprint = "<Certificate Thumbprint>"
このクイックスタートで使用されるテンプレートは Azure クイックスタート テンプレート からのものです。 この記事のテンプレートは長いため、ここでは表示できません。 テンプレートを表示するには、azuredeploy.json ファイルを参照してください。
テンプレートでは、複数の Azure リソースが定義されています。
Azure Service Fabric に関連するテンプレートをさらに探すには、「Azure クイックスタート テンプレート 」を参照してください。
azuredeploy.parameters.json を開き、パラメーター値を以下のように編集します。
clusterName は、クラスター証明書を作成したときに CertDNSName に指定した値と一致させる
adminUserName は、既定の GEN-UNIQUE トークン以外の値にする
adminPassword は、既定の GEN-PASSWORD トークン以外の値にする
certificateThumbprint 、sourceVaultResourceId 、および certificateUrlValue は、すべて空の文字列 (""
) にする
次に例を示します。
{
"$schema" : "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#" ,
"contentVersion" : "1.0.0.0" ,
"parameters" : {
"clusterName" : {
"value" : "sfquickstart"
},
"adminUsername" : {
"value" : "testadm"
},
"adminPassword" : {
"value" : "Password#1234"
},
"certificateThumbprint" : {
"value" : ""
},
"sourceVaultResourceId" : {
"value" : ""
},
"certificateUrlValue" : {
"value" : ""
}
}
}
ARM テンプレートとパラメーター ファイルのパスを変数に格納し、テンプレートをデプロイします。
$templateFilePath = "<full path to azuredeploy.json>"
$parameterFilePath = "<full path to azuredeploy.parameters.json>"
New-AzResourceGroupDeployment `
-ResourceGroupName $resourceGroupName `
-TemplateFile $templateFilePath `
-TemplateParameterFile $parameterFilePath `
-CertificateThumbprint $certThumbprint `
-CertificateUrlValue $certUrlValue `
-SourceVaultResourceId $sourceVaultId `
-Verbose
デプロイが完了したら、出力の中の managementEndpoint
値を見つけ、Web ブラウザーでそのアドレスを開いて、Service Fabric Explorer でクラスターを表示します。
また、Azure portal の Service Explorer リソース ブレードから Service Fabric Explorer エンドポイントを見つけることもできます。
不要になったら、リソース グループを削除します。これにより、リソース グループ内のリソースが削除されます。
$resourceGroupName = Read-Host -Prompt "Enter the Resource Group name"
Remove-AzResourceGroup -Name $resourceGroupName
Write-Host "Press [ENTER] to continue..."
次に、ローカル ストアからクラスター証明書を削除します。 インストールされている証明書の一覧を表示して、クラスター用のサムプリントを見つけます。
Get-ChildItem Cert:\CurrentUser\My\
そして、その証明書を削除します。
Get-ChildItem Cert:\CurrentUser\My\{THUMBPRINT} | Remove-Item
カスタム Azure Service Fabric クラスター テンプレートの作成の詳細については、次を参照してください。