Włączanie szyfrowania dysków dla węzłów klastra usługi Azure Service Fabric w systemie Linux
Z tego samouczka dowiesz się, jak włączyć szyfrowanie dysków w węzłach klastra usługi Azure Service Fabric w systemie Linux. Należy wykonać te kroki dla każdego z typów węzłów i zestawów skalowania maszyn wirtualnych. Do szyfrowania węzłów użyjemy funkcji Azure Disk Encryption w zestawach skalowania maszyn wirtualnych.
W przewodniku omówiono następujące tematy:
- Kluczowe pojęcia, które należy wziąć pod uwagę podczas włączania szyfrowania dysków w zestawach skalowania maszyn wirtualnych klastra usługi Service Fabric w systemie Linux.
- Kroki, które należy wykonać przed włączeniem szyfrowania dysków w węzłach klastra usługi Service Fabric w systemie Linux.
- Kroki, które należy wykonać, aby włączyć szyfrowanie dysków w węzłach klastra usługi Service Fabric w systemie Linux.
Uwaga
Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.
Wymagania wstępne
Rejestracja samodzielna
Wersja zapoznawcza szyfrowania dysków dla zestawu skalowania maszyn wirtualnych wymaga samodzielnej rejestracji. Wykonaj następujące kroki:
- Uruchom następujące polecenie:
Register-AzProviderFeature -ProviderNamespace Microsoft.Compute -FeatureName "UnifiedDiskEncryption"
- Poczekaj około 10 minut, aż stan będzie wyświetlany jako Zarejestrowany. Stan można sprawdzić, uruchamiając następujące polecenie:
Get-AzProviderFeature -ProviderNamespace "Microsoft.Compute" -FeatureName "UnifiedDiskEncryption" Register-AzResourceProvider -ProviderNamespace Microsoft.Compute
Azure Key Vault
Utwórz magazyn kluczy w tej samej subskrypcji i regionie co zestaw skalowania. Następnie wybierz zasady dostępu EnabledForDiskEncryption w magazynie kluczy przy użyciu jego polecenia cmdlet programu PowerShell. Zasady można również ustawić przy użyciu interfejsu użytkownika usługi Key Vault w witrynie Azure Portal za pomocą następującego polecenia:
Set-AzKeyVaultAccessPolicy -VaultName $keyVaultName -EnabledForDiskEncryption
Zainstaluj najnowszą wersję interfejsu wiersza polecenia platformy Azure, która zawiera nowe polecenia szyfrowania.
Zainstaluj najnowszą wersję zestawu Azure SDK z wersji programu Azure PowerShell . Poniżej przedstawiono polecenia cmdlet zestawu skalowania maszyn wirtualnych usługi Azure Disk Encryption, aby włączyć (ustawić) szyfrowanie, pobrać (uzyskać) stan szyfrowania i usunąć (wyłączyć) szyfrowanie w wystąpieniu zestawu skalowania.
Polecenie | Wersja | Źródło |
---|---|---|
Get-AzVmssDiskEncryptionStatus | 1.0.0 lub nowszy | Az.Compute |
Get-AzVmssVMDiskEncryptionStatus | 1.0.0 lub nowszy | Az.Compute |
Disable-AzVmssDiskEncryption | 1.0.0 lub nowszy | Az.Compute |
Get-AzVmssDiskEncryption | 1.0.0 lub nowszy | Az.Compute |
Get-AzVmssVMDiskEncryption | 1.0.0 lub nowszy | Az.Compute |
Set-AzVmssDiskEncryptionExtension | 1.0.0 lub nowszy | Az.Compute |
Obsługiwane scenariusze szyfrowania dysków
- Szyfrowanie zestawów skalowania maszyn wirtualnych jest obsługiwane tylko w przypadku zestawów skalowania utworzonych za pomocą dysków zarządzanych. Nie jest obsługiwana w przypadku natywnych (lub niezarządzanych) zestawów skalowania dysków.
- Szyfrowanie i wyłączanie szyfrowania są obsługiwane w przypadku woluminów systemu operacyjnego i danych w zestawach skalowania maszyn wirtualnych w systemie Linux.
- Operacje ponownego obrazu i uaktualniania maszyny wirtualnej dla zestawów skalowania maszyn wirtualnych nie są obsługiwane w bieżącej wersji zapoznawczej.
Tworzenie nowego klastra i włączanie szyfrowania dysków
Użyj następujących poleceń, aby utworzyć klaster i włączyć szyfrowanie dysków przy użyciu szablonu usługi Azure Resource Manager i certyfikatu z podpisem własnym.
Logowanie się do platformy Azure
Zaloguj się przy użyciu następujących poleceń:
Login-AzAccount
Set-AzContext -SubscriptionId <guid>
azure login
az account set --subscription $subscriptionId
Użyj szablonu niestandardowego, który już masz
Jeśli musisz utworzyć szablon niestandardowy, zdecydowanie zalecamy użycie jednego z szablonów na stronie przykładów szablonów tworzenia klastra usługi Azure Service Fabric.
Jeśli masz już szablon niestandardowy, sprawdź dokładnie, czy wszystkie trzy parametry związane z certyfikatem w szablonie i plik parametrów są nazwane w następujący sposób. Upewnij się również, że wartości mają wartość null w następujący sposób:
"certificateThumbprint": {
"value": ""
},
"sourceVaultValue": {
"value": ""
},
"certificateUrlValue": {
"value": ""
},
Ponieważ tylko szyfrowanie dysków danych jest obsługiwane w przypadku zestawów skalowania maszyn wirtualnych w systemie Linux, należy dodać dysk danych przy użyciu szablonu usługi Resource Manager. Zaktualizuj szablon na potrzeby aprowizacji dysku danych w następujący sposób:
"storageProfile": {
"imageReference": {
"publisher": "[parameters('vmImagePublisher')]",
"offer": "[parameters('vmImageOffer')]",
"sku": "[parameters('vmImageSku')]",
"version": "[parameters('vmImageVersion')]"
},
"osDisk": {
"caching": "ReadOnly",
"createOption": "FromImage",
"managedDisk": {
"storageAccountType": "[parameters('storageAccountType')]"
}
},
"dataDisks": [
{
"diskSizeGB": 1023,
"lun": 0,
"createOption": "Empty"
$resourceGroupLocation="westus"
$resourceGroupName="mycluster"
$CertSubjectName="mycluster.westus.cloudapp.azure.com"
$certPassword="Password!1" | ConvertTo-SecureString -AsPlainText -Force
$certOutputFolder="c:\certificates"
$parameterFilePath="c:\templates\templateparam.json"
$templateFilePath="c:\templates\template.json"
New-AzServiceFabricCluster -ResourceGroupName $resourceGroupName -CertificateOutputFolder $certOutputFolder -CertificatePassword $certpassword -CertificateSubjectName $CertSubjectName -TemplateFile $templateFilePath -ParameterFile $parameterFilePath
Oto równoważne polecenie interfejsu wiersza polecenia. Zmień wartości w instrukcjach deklarowania na odpowiednie wartości. Interfejs wiersza polecenia obsługuje wszystkie inne parametry obsługiwane przez poprzednie polecenie programu PowerShell.
declare certPassword=""
declare resourceGroupLocation="westus"
declare resourceGroupName="mylinux"
declare certSubjectName="mylinuxsecure.westus.cloudapp.azure.com"
declare parameterFilePath="c:\mytemplates\linuxtemplateparm.json"
declare templateFilePath="c:\mytemplates\linuxtemplate.json"
declare certOutputFolder="c:\certificates"
az sf cluster create --resource-group $resourceGroupName --location $resourceGroupLocation \
--certificate-output-folder $certOutputFolder --certificate-password $certPassword \
--certificate-subject-name $certSubjectName \
--template-file $templateFilePath --parameter-file $parametersFilePath
Instalowanie dysku danych w wystąpieniu systemu Linux
Przed kontynuowaniem szyfrowania w zestawie skalowania maszyn wirtualnych upewnij się, że dodany dysk danych jest poprawnie zainstalowany. Zaloguj się do maszyny wirtualnej klastra z systemem Linux i uruchom polecenie LSBLK . Dane wyjściowe powinny wskazywać, że dodany dysk danych w kolumnie Punkt instalacji.
Wdrażanie aplikacji w klastrze usługi Service Fabric w systemie Linux
Aby wdrożyć aplikację w klastrze, wykonaj kroki i wskazówki z przewodnika Szybki start: Wdrażanie kontenerów systemu Linux w usłudze Service Fabric.
Włączanie szyfrowania dysków dla utworzonych wcześniej zestawów skalowania maszyn wirtualnych
Aby włączyć szyfrowanie dysków dla zestawów skalowania maszyn wirtualnych utworzonych w poprzednich krokach, uruchom następujące polecenia:
$VmssName = "nt1vm"
$vaultName = "mykeyvault"
$resourceGroupName = "mycluster"
$KeyVault = Get-AzKeyVault -VaultName $vaultName -ResourceGroupName $rgName
$DiskEncryptionKeyVaultUrl = $KeyVault.VaultUri
$KeyVaultResourceId = $KeyVault.ResourceId
Set-AzVmssDiskEncryptionExtension -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName -DiskEncryptionKeyVaultUrl $DiskEncryptionKeyVaultUrl -DiskEncryptionKeyVaultId $KeyVaultResourceId -VolumeType All
az vmss encryption enable -g <resourceGroupName> -n <VMSS name> --disk-encryption-keyvault <KeyVaultResourceId>
Sprawdzanie, czy szyfrowanie dysków jest włączone dla zestawu skalowania maszyn wirtualnych w systemie Linux
Aby uzyskać stan całego zestawu skalowania maszyn wirtualnych lub dowolnego wystąpienia w zestawie skalowania, uruchom następujące polecenia. Ponadto możesz zalogować się do maszyny wirtualnej klastra systemu Linux i uruchomić polecenie LSBLK . Dane wyjściowe powinny zawierać dodany dysk danych w kolumnie Punkt instalacji, a kolumna Typ powinna odczytać ciąg Crypt.
$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Get-AzVmssDiskEncryption -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName
Get-AzVmssVMDiskEncryption -ResourceGroupName $resourceGroupName -VMScaleSetName $VmssName -InstanceId "0"
az vmss encryption show -g <resourceGroupName> -n <VMSS name>
Wyłączanie szyfrowania dysków dla zestawu skalowania maszyn wirtualnych w klastrze usługi Service Fabric
Wyłącz szyfrowanie dysków dla zestawu skalowania maszyn wirtualnych, uruchamiając następujące polecenia. Należy pamiętać, że wyłączenie szyfrowania dysków dotyczy całego zestawu skalowania maszyn wirtualnych, a nie pojedynczego wystąpienia.
$VmssName = "nt1vm"
$resourceGroupName = "mycluster"
Disable-AzVmssDiskEncryption -ResourceGroupName $rgName -VMScaleSetName $VmssName
az vmss encryption disable -g <resourceGroupName> -n <VMSS name>
Następne kroki
W tym momencie należy mieć bezpieczny klaster i wiedzieć, jak włączyć i wyłączyć szyfrowanie dysków dla węzłów klastra usługi Service Fabric i zestawów skalowania maszyn wirtualnych. Aby uzyskać podobne wskazówki dotyczące węzłów klastra usługi Service Fabric w systemie Linux, zobacz Szyfrowanie dysków dla systemu Windows.