Bagikan melalui


Secara manual meneruskan sertifikat klaster Service Fabric

Ketika sertifikat klaster Service Fabric hampir kedaluwarsa, Anda perlu memperbarui sertifikat. Penerusan sertifikat sederhana jika klaster disiapkan untuk menggunakan sertifikat berdasarkan nama umum (bukan thumbprint). Dapatkan sertifikat baru dari otoritas sertifikat dengan tanggal kedaluwarsa baru. Sertifikat yang ditandatangani sendiri tidak mendukung untuk klaster Service Fabric produksi, untuk menyertakan sertifikat yang dihasilkan selama alur kerja pembuatan Klaster portal Azure. Sertifikat baru harus memiliki nama umum yang sama dengan sertifikat yang lebih lama.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Klaster Service Fabric akan secara otomatis menggunakan sertifikat yang dinyatakan dengan lebih jauh ke tanggal kedaluwarsa di masa mendatang; ketika lebih dari satu sertifikat validasi diinstal pada host. Praktik terbaik adalah menggunakan templat Resource Manager untuk menyediakan Sumber Daya Azure. Untuk lingkungan non-produksi, skrip berikut dapat digunakan untuk mengunggah sertifikat baru ke vault kunci dan kemudian menginstal sertifikat pada set skala komputer virtual:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser -Force

$SubscriptionId  =  <subscription ID>

# Sign in to your Azure account and select your subscription
Login-AzAccount -SubscriptionId $SubscriptionId

$region = "southcentralus"
$KeyVaultResourceGroupName  = "keyvaultgroup"
$VaultName = "cntestvault2"
$certFilename = "C:\users\sfuser\sftutorialcluster20180419110824.pfx"
$certname = "cntestcert"
$Password  = "!P@ssw0rd321"
$VmssResourceGroupName     = "sfclustertutorialgroup"
$VmssName                  = "prnninnxj"

# Create new Resource Group 
New-AzResourceGroup -Name $KeyVaultResourceGroupName -Location $region

# Get the key vault.  The key vault must be enabled for deployment.
$keyVault = Get-AzKeyVault -VaultName $VaultName -ResourceGroupName $KeyVaultResourceGroupName 
$resourceId = $keyVault.ResourceId  

# Add the certificate to the key vault.
$PasswordSec = ConvertTo-SecureString -String $Password -AsPlainText -Force
$KVSecret = Import-AzKeyVaultCertificate -VaultName $vaultName -Name $certName  -FilePath $certFilename -Password $PasswordSec

$CertificateThumbprint = $KVSecret.Thumbprint
$CertificateURL = $KVSecret.SecretId
$SourceVault = $resourceId
$CommName    = $KVSecret.Certificate.SubjectName.Name

Write-Host "CertificateThumbprint    :"  $CertificateThumbprint
Write-Host "CertificateURL           :"  $CertificateURL
Write-Host "SourceVault              :"  $SourceVault
Write-Host "Common Name              :"  $CommName    

Set-StrictMode -Version 3
$ErrorActionPreference = "Stop"

$certConfig = New-AzVmssVaultCertificateConfig -CertificateUrl $CertificateURL -CertificateStore "My"

# Get current VM scale set 
$vmss = Get-AzVmss -ResourceGroupName $VmssResourceGroupName -VMScaleSetName $VmssName

# Add new secret to the VM scale set.
$vmss.VirtualMachineProfile.OsProfile.Secrets[0].VaultCertificates.Add($certConfig)

# Update the VM scale set 
Update-AzVmss -ResourceGroupName $VmssResourceGroupName -Name $VmssName -VirtualMachineScaleSet $vmss  -Verbose

Catatan

Rahasia Set Skala Komputer Virtual Komputasi tidak mendukung id sumber daya yang sama untuk dua rahasia terpisah, karena setiap rahasia adalah sumber daya unik versi.

Langkah berikutnya