Wdrażanie dostawcy zasobów MySQL w usłudze Azure Stack Hub
Ważne
Począwszy od kompilacji usługi Azure Stack Hub 2108, dostawcy zasobów SQL i MySQL są oferowani subskrypcjom, którym udzielono dostępu. Jeśli chcesz rozpocząć korzystanie z tej funkcji lub jeśli chcesz uaktualnić poprzednią wersję, otwórz zgłoszenie do pomocy technicznej , a nasi inżynierowie pomocy technicznej przeprowadzi Cię przez proces wdrażania lub uaktualniania.
Użyj dostawcy zasobów serwera MySQL, aby uwidocznić bazy danych MySQL jako usługę Azure Stack Hub.
Dostawca zasobów MySQL działa jako usługa na maszynie wirtualnej Windows Server 2016 Server Core.
Dostawca zasobów MySQL jest uruchamiany jako usługa w specjalnym dodatku RP systemu Windows Server.
Ważne
Tylko dostawca zasobów powinien tworzyć elementy na serwerach hostujących program SQL lub MySQL. Elementy utworzone na serwerze hosta, które nie są tworzone przez dostawcę zasobów, są nieobsługiwane i mogą spowodować niezgodność stanu.
Wymagania wstępne
Jeśli dostawca zasobów został już zainstalowany, prawdopodobnie zostały spełnione następujące wymagania wstępne i można pominąć tę sekcję. W przeciwnym razie wykonaj następujące kroki przed kontynuowaniem:
Zarejestruj wystąpienie usługi Azure Stack Hub na platformie Azure, jeśli nie zostało to zrobione. Ten krok jest wymagany w miarę nawiązywania połączenia z witryną Marketplace i pobierania elementów z platformy Azure.
Jeśli nie znasz funkcji zarządzania witryną Marketplace portalu administratora usługi Azure Stack Hub, zapoznaj się z artykułem Pobieranie elementów witryny Marketplace z platformy Azure i publikowanie w usłudze Azure Stack Hub. W tym artykule przedstawiono proces pobierania elementów z platformy Azure do witryny Azure Stack Hub Marketplace. Obejmuje zarówno scenariusze połączone, jak i rozłączone. Jeśli wystąpienie usługi Azure Stack Hub jest rozłączone lub częściowo połączone, istnieją dodatkowe wymagania wstępne, które należy spełnić w ramach przygotowań do instalacji.
Zaktualizuj katalog główny Microsoft Entra. Począwszy od kompilacji 1910, nowa aplikacja musi być zarejestrowana w dzierżawie katalogu macierzystego. Ta aplikacja umożliwi usłudze Azure Stack Hub pomyślne utworzenie i zarejestrowanie nowszych dostawców zasobów (takich jak Event Hubs i inne) w dzierżawie Microsoft Entra. Jest to jednorazowa akcja, którą należy wykonać po uaktualnieniu do kompilacji 1910 lub nowszej. Jeśli ten krok nie zostanie ukończony, instalacje dostawcy zasobów witryny Marketplace nie powiedzą się.
- Po pomyślnym zaktualizowaniu wystąpienia usługi Azure Stack Hub do wersji 1910 lub nowszej postępuj zgodnie z instrukcjami dotyczącymi klonowania/pobierania repozytorium Narzędzi usługi Azure Stack Hub.
- Następnie postępuj zgodnie z instrukcjami dotyczącymi aktualizowania katalogu głównego usługi Azure Stack Hub Microsoft Entra (po zainstalowaniu aktualizacji lub nowych dostawców zasobów).
Wymagania wstępne dostawcy zasobów serwera MySQL
Potrzebny będzie komputer i konto, do którego można uzyskać dostęp:
- portal administratora usługi Azure Stack Hub.
- uprzywilejowany punkt końcowy (wymagany tylko w przypadku wdrażania dostawcy zasobów serwera MySQL w wersji 1 lub uaktualniania z dostawcy zasobów serwera MySQL v1 do dostawcy zasobów serwera MySQL v2).
- punkt końcowy administratora usługi Azure Resource Manager ,
https://adminmanagement.region.<fqdn>
gdzie<fqdn>
jest w pełni kwalifikowaną nazwą domeny. - jeśli usługa Azure Stack Hub została wdrożona w celu użycia Tożsamość Microsoft Entra jako dostawcy tożsamości.
Pobierz obsługiwaną wersję pliku binarnego dostawcy zasobów MySQL zgodnie z poniższą tabelą mapowania wersji. W przypadku dostawcy zasobów MySQL w wersji 2 pobierz element witryny Marketplace do usługi Azure Stack Hub.
Obsługiwana wersja usługi Azure Stack Hub Wersja dostawcy usługi MySQL System Windows Server, na którym działa usługa RP 2206, 2301, 2306, 2311 MySQL RP w wersji 2.0.13.x Dodatek Microsoft AzureStack dla systemu Windows Server 1.2009.0 2108, 2206 MySQL RP w wersji 2.0.6.x Dodatek Microsoft AzureStack dla systemu Windows Server 1.2009.0 Upewnij się, że wymagana maszyna wirtualna z systemem Windows Server została pobrana do witryny Azure Stack Hub Marketplace. W razie potrzeby ręcznie pobierz obraz zgodnie z tabelą mapowania wersji powyżej.
Upewnij się, że wymagania wstępne dotyczące integracji centrum danych zostały spełnione:R
Wymaganie wstępne Odwołanie Warunkowe przekazywanie DNS jest poprawnie ustawione. Integracja centrum danych usługi Azure Stack Hub — DNS Porty przychodzące dla dostawców zasobów są otwarte. Integracja centrum danych usługi Azure Stack Hub — publikowanie punktów końcowych Podmiot certyfikatu PKI i sieć SAN są poprawnie ustawione. Obowiązkowe wymagania wstępne dotyczące wdrożenia infrastruktury kluczy publicznych w usłudze Azure StackHub wdrożenia paaS wdrożenia usługi Azure Stack Hub Przygotuj certyfikat. (Tylko w przypadku instalacji zintegrowanych systemów).
- Należy podać certyfikat PKI usługi SQL PaaS opisany w opcjonalnej sekcji Certyfikaty PaaS wymagań dotyczących wdrażania infrastruktury kluczy publicznych w usłudze Azure Stack Hub. Alternatywna nazwa podmiotu (SAN) musi być zgodna z następującym wzorcem nazewnictwa: CN=*.dbadapter.<region>.<nazwa fqdn> z chronionym hasłem.
- Podczas wdrażania dostawcy zasobów serwera MySQL V1 umieść plik pfx w lokalizacji określonej przez parametr DependencyFilesLocalPath . Nie udostępniaj certyfikatu dla systemów ASDK.
- Podczas wdrażania dostawcy zasobów serwera MySQL w wersji 2 przygotuj certyfikat do wykonania następujących kroków instalacji.
Scenariusz rozłączony
Podczas wdrażania dostawcy zasobów serwera MySQL Server w wersji 2 w scenariuszu odłączonym postępuj zgodnie z instrukcjami pobierania elementów witryny Marketplace do usługi Azure Stack Hub , aby pobrać element dostawcy zasobów serwera MySQL Server i element dodatku RP systemu Windows Server do środowiska usługi Azure Stack Hub.
Podczas wdrażania dostawcy zasobów serwera MySQL w wersji 1 w scenariuszu rozłączonym wykonaj następujące kroki, aby pobrać wymagane moduły programu PowerShell i ręcznie zarejestrować repozytorium.
Zaloguj się do komputera z łącznością internetową i użyj następujących skryptów, aby pobrać moduły programu PowerShell.
Import-Module -Name PowerShellGet -ErrorAction Stop Import-Module -Name PackageManagement -ErrorAction Stop # path to save the packages, c:\temp\azs1.6.0 as an example here $Path = "c:\temp\azs1.6.0"
W zależności od wersji wdrażanego dostawcy zasobów uruchom jeden ze skryptów.
# for resource provider version >= 1.1.93.0 Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.5.0 Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.8.2
# for resource provider version <= 1.1.47.0 Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureRM -Path $Path -Force -RequiredVersion 2.3.0 Save-Package -ProviderName NuGet -Source https://www.powershellgallery.com/api/v2 -Name AzureStack -Path $Path -Force -RequiredVersion 1.6.0
Następnie skopiuj pobrane pakiety do urządzenia USB.
Zaloguj się do odłączonej stacji roboczej i skopiuj pakiety z urządzenia USB do lokalizacji na stacji roboczej.
Zarejestruj tę lokalizację jako repozytorium lokalne.
# requires -Version 5 # requires -RunAsAdministrator # requires -Module PowerShellGet # requires -Module PackageManagement $SourceLocation = "C:\temp\azs1.6.0" $RepoName = "azs1.6.0" Register-PSRepository -Name $RepoName -SourceLocation $SourceLocation -InstallationPolicy Trusted New-Item -Path $env:ProgramFiles -name "SqlMySqlPsh" -ItemType "Directory"
Wdrażanie dostawcy zasobów MySQL w wersji 2
W przypadku uaktualniania z wersji 1 zapoznaj się z dokumentem Aktualizowanie dostawcy zasobów serwera MySQL.
Rozpocznij instalację
Jeśli jeszcze tego nie zrobiono, zaloguj się do portalu administratora usługi Azure Stack Hub, wybierz pozycję Zarządzanie witryną Marketplace po lewej stronie, wybierz pozycję Dostawcy zasobów.
Po pobraniu dostawcy zasobów MySQL i innego wymaganego oprogramowania usługa Marketplace management wyświetla pakiety "Dostawca zasobów serwera MySQL" ze stanem "Nie zainstalowano". Mogą istnieć inne pakiety, które pokazują stan "Pobrane".
Wybierz wiersz, który chcesz zainstalować. Strona pakietu instalacyjnego dostawcy zasobów serwera MySQL zawiera niebieski transparent u góry. Wybierz baner, aby rozpocząć instalację.
Instalacja wymagań wstępnych
Następnie zostanie przeniesiona na stronę instalacji. Wybierz pozycję Zainstaluj wymagania wstępne , aby rozpocząć proces instalacji.
Poczekaj, aż instalacja wymagań wstępnych zakończy się pomyślnie. Przed przejściem do następnego kroku powinien zostać wyświetlony zielony znacznik wyboru obok pozycji Zainstaluj wymagania wstępne .
Przygotowywanie wpisów tajnych
Poniżej 2. Krok Przygotowywanie wpisów tajnych , wybierz pozycję Dodaj certyfikat, a zostanie wyświetlony panel Dodawanie certyfikatu .
Wybierz przycisk przeglądania w obszarze Dodaj certyfikat po prawej stronie pola nazwy pliku certyfikatu. Wybierz plik certyfikatu pfx pozyskany podczas wypełniania wymagań wstępnych.
Wprowadź podane hasło, aby utworzyć bezpieczny ciąg dla certyfikatu SSL dostawcy zasobów SQL Server. Następnie wybierz pozycję Dodaj.
Konfigurowanie i instalowanie dostawcy zasobów
Po pomyślnym zakończeniu instalacji certyfikatu powinien zostać wyświetlony zielony znacznik wyboru obok pozycji Przygotowywanie wpisów tajnych przed przejściem do następnego kroku. Teraz wybierz przycisk Konfiguruj i zainstaluj obok pozycji 3 Zainstaluj dostawcę zasobów.
Następnie musisz podać identyfikator URI obiektu blob usługi Azure Stack Hub dla łącznika MySQL.
Zapoznaj się z licencją GPL łącznika MySQL tutaj i pobierz wersję 8.0.21 do folderu lokalnego.
Twórca konto magazynu z domyślną subskrypcją operatora i utwórz kontener z poziomem dostępu "Blob" lub "Kontener".
Przekaż plik mysql-connector-net-8.0.21.msi z folderu lokalnego do nowo utworzonego kontenera magazynu.
Ważne
Upewnij się, że wersja łącznika MySQL to 8.0.21.
Skopiuj identyfikator URI obiektu blob.
Wstecz do strony konfiguracji dostawcy usługi MySQL. Wklej identyfikator URI obiektu blob (np. https://< storageAccountName.blob>.<region>.<Nazwa FQDN>/<containerName>/mysql-connector-net-8.0.21.msi) w polu tekstowym i kliknij przycisk OK.
Następnie zobaczysz następującą stronę, która wskazuje, że dostawca zasobów MySQL jest instalowany.
Poczekaj na ukończenie instalacji. Ten proces zwykle trwa co najmniej jedną godzinę, w zależności od typu usługi Azure Stack Hub.
Sprawdź, czy instalacja dostawcy zasobów serwera MySQL zakończyła się pomyślnie, wracając do strony Zarządzanie witryną Marketplace, dostawcy zasobów . Stan dostawcy zasobów serwera MySQL powinien zawierać wartość "Zainstalowano".
Wdrażanie dostawcy zasobów SQL w wersji 1
Po ukończeniu wszystkich wymagań wstępnych uruchom narzędzie do samodzielnego wyodrębniania, aby wyodrębnić pobrany pakiet instalacyjny do katalogu tymczasowego. Uruchom skrypt DeployMySqlProvider.ps1 z komputera, który ma dostęp zarówno do punktu końcowego administratora usługi Azure Resource Manager usługi Azure Stack Hub, jak i uprzywilejowanego punktu końcowego, aby wdrożyć dostawcę zasobów MySQL. Skrypt DeployMySqlProvider.ps1 jest wyodrębniany jako część plików instalacyjnych dostawcy zasobów MySQL pobranych dla używanej wersji usługi Azure Stack Hub.
Ważne
Przed wdrożeniem dostawcy zasobów przejrzyj informacje o wersji, aby dowiedzieć się więcej o nowych funkcjach, poprawkach i znanych problemach, które mogą mieć wpływ na wdrożenie.
Aby wdrożyć dostawcę zasobów MySQL, otwórz nowe okno programu PowerShell z podwyższonym poziomem uprawnień (a nie program PowerShell ISE) i przejdź do katalogu, w którym wyodrębniono pliki binarne dostawcy zasobów MySQL.
Ważne
Zdecydowanie zalecamy używanie polecenia Clear-AzureRmContext -Scope CurrentUser i Clear-AzureRmContext -Scope Process w celu wyczyszczenia pamięci podręcznej przed uruchomieniem skryptu wdrożenia lub aktualizacji.
Uwaga
Jeśli wdrażasz dostawcę zasobów serwera MySQL w wersji 1 w środowisku odłączonym, skopiuj plik mysql-connector-net-6.10.5.msi do ścieżki lokalnej. Podaj nazwę ścieżki przy użyciu parametru DependencyFilesLocalPath .
Uruchom skrypt DeployMySqlProvider.ps1 , który wykonuje następujące zadania:
- Przekazuje certyfikaty i inne artefakty do konta magazynu w usłudze Azure Stack Hub.
- Publikuje pakiety galerii, aby można było wdrażać bazy danych MySQL przy użyciu galerii.
- Publikuje pakiet galerii na potrzeby wdrażania serwerów hostingu.
- Wdraża maszynę wirtualną przy użyciu obrazu podstawowego Windows Server 2016 lub pobranego obrazu dodatku Microsoft AzureStack dla systemu Windows Server, a następnie instaluje dostawcę zasobów MySQL.
- Rejestruje lokalny rekord DNS mapujący na maszynę wirtualną dostawcy zasobów.
- Rejestruje dostawcę zasobów za pomocą lokalnego Resource Manager platformy Azure dla konta operatora.
Uwaga
Po uruchomieniu wdrożenia dostawcy zasobów MySQL zostanie utworzona grupa zasobów system.local.mysqladapter . Ukończenie wdrożeń wymaganych do tej grupy zasobów może potrwać do 75 minut. Nie należy umieszczać żadnych innych zasobów w grupie zasobów system.local.mysqladapter .
parametry DeployMySqlProvider.ps1
Te parametry można określić w wierszu polecenia. Jeśli nie, lub jeśli jakakolwiek walidacja parametru zakończy się niepowodzeniem, zostanie wyświetlony monit o podanie wymaganych parametrów.
Nazwa parametru | Opis | Komentarz lub wartość domyślna |
---|---|---|
CloudAdminCredential | Poświadczenia administratora chmury niezbędne do uzyskania dostępu do uprzywilejowanego punktu końcowego. | Wymagane |
AzCredential | Poświadczenia konta administratora usługi Azure Stack Hub. Użyj tych samych poświadczeń, które zostały użyte do wdrożenia usługi Azure Stack Hub. Skrypt zakończy się niepowodzeniem, jeśli konto, którego używasz z modułem AzCredential, wymaga uwierzytelniania wieloskładnikowego (MFA). | Wymagane |
VMLocalCredential | Poświadczenia konta administratora lokalnego maszyny wirtualnej dostawcy zasobów MySQL. | Wymagane |
PrivilegedEndpoint | Adres IP lub nazwa DNS uprzywilejowanego punktu końcowego. | Wymagane |
AzureEnvironment | Środowisko platformy Azure konta administratora usługi używane do wdrażania usługi Azure Stack Hub. Wymagane tylko w przypadku wdrożeń Microsoft Entra. Obsługiwane nazwy środowisk to AzureCloud, AzureUSGovernment lub jeśli są używane chiny Tożsamość Microsoft Entra, AzureChinaCloud. | AzureCloud |
DependencyFilesLocalPath | Tylko w przypadku systemów zintegrowanych plik pfx certyfikatu musi zostać umieszczony w tym katalogu. W przypadku środowisk bez połączenia pobierz mysql-connector-net-6.10.5.msi do tego katalogu. Opcjonalnie możesz skopiować jeden Windows Update pakiet MSU tutaj. | Opcjonalne (obowiązkowe dla systemów zintegrowanych lub odłączonych środowisk) |
DefaultSSLCertificatePassword | Hasło certyfikatu pfx. | Wymagane |
MaxRetryCount | Ile razy chcesz ponowić próbę wykonania każdej operacji, jeśli wystąpi błąd. | 2 |
RetryDuration | Interwał limitu czasu między ponawianiami prób w sekundach. | 120 |
Odinstalowywanie | Usuwa dostawcę zasobów i wszystkie skojarzone zasoby (zobacz poniższe uwagi). | Nie |
Debugmode | Zapobiega automatycznemu czyszczeniu po awarii. | Nie |
AcceptLicense | Pomija monit o zaakceptowanie licencji GPL. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html |
Wdrażanie dostawcy zasobów MySQL przy użyciu skryptu niestandardowego
Jeśli wdrażasz dostawcę zasobów MySQL w wersji 1.1.33.0 lub wcześniejszych, musisz zainstalować określone wersje modułów AzureRm.BootStrapper i Azure Stack Hub w programie PowerShell.
Jeśli wdrażasz dostawcę zasobów MySQL w wersji 1.1.47.0 lub nowszej, skrypt wdrażania automatycznie pobierze i zainstaluje niezbędne moduły programu PowerShell do ścieżki C:\Program Files\SqlMySqlPsh.
# Install the AzureRM.Bootstrapper module, set the profile and install the AzureStack module
# Note that this might not be the most currently available version of Azure Stack Hub PowerShell
Install-Module -Name AzureRm.BootStrapper -Force
Use-AzureRmProfile -Profile 2018-03-01-hybrid -Force
Install-Module -Name AzureStack -RequiredVersion 1.6.0
Uwaga
W scenariuszu rozłączonym należy pobrać wymagane moduły programu PowerShell i ręcznie zarejestrować repozytorium jako wymaganie wstępne.
Aby wyeliminować konfigurację ręczną podczas wdrażania dostawcy zasobów, możesz dostosować następujący skrypt. Zmień domyślne informacje o koncie i hasła zgodnie z potrzebami dla wdrożenia usługi Azure Stack Hub.
# Use the NetBIOS name for the Azure Stack Hub domain. On the Azure Stack Hub SDK, the default is AzureStack but could have been changed at install time.
$domain = "AzureStack"
# For integrated systems, use the IP address of one of the ERCS VMs.
$privilegedEndpoint = "AzS-ERCS01"
# Provide the Azure environment used for deploying Azure Stack Hub. Required only for Azure AD deployments. Supported environment names are AzureCloud, AzureUSGovernment, or AzureChinaCloud.
$AzureEnvironment = "<EnvironmentName>"
# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\TEMP\MYSQLRP'
# The service admin account (can be Azure Active Directory or Active Directory Federation Services).
$serviceAdmin = "admin@mydomain.onmicrosoft.com"
$AdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$AdminCreds = New-Object System.Management.Automation.PSCredential ($serviceAdmin, $AdminPass)
# Set the credentials for the new resource provider VM local admin account
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("mysqlrpadmin", $vmLocalAdminPass)
# And the cloudadmin credential required for privileged endpoint access.
$CloudAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$CloudAdminCreds = New-Object System.Management.Automation.PSCredential ("$domain\cloudadmin", $CloudAdminPass)
# Change the following as appropriate.
$PfxPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
# For version 1.1.47.0 or later, the PowerShell modules used by the RP deployment are placed in C:\Program Files\SqlMySqlPsh,
# The deployment script adds this path to the system $env:PSModulePath to ensure correct modules are used.
$rpModulePath = Join-Path -Path $env:ProgramFiles -ChildPath 'SqlMySqlPsh'
$env:PSModulePath = $env:PSModulePath + ";" + $rpModulePath
# Change to the directory folder where you extracted the installation files. Don't provide a certificate on ASDK!
. $tempDir\DeployMySQLProvider.ps1 `
-AzCredential $AdminCreds `
-VMLocalCredential $vmLocalAdminCreds `
-CloudAdminCredential $cloudAdminCreds `
-PrivilegedEndpoint $privilegedEndpoint `
-AzureEnvironment $AzureEnvironment `
-DefaultSSLCertificatePassword $PfxPass `
-DependencyFilesLocalPath $tempDir\cert `
-AcceptLicense
Po zakończeniu skryptu instalacji dostawcy zasobów odśwież przeglądarkę, aby upewnić się, że widzisz najnowsze aktualizacje i zamknij bieżącą sesję programu PowerShell.
Weryfikowanie wdrożenia w wersji 1 przy użyciu portalu usługi Azure Stack Hub
- Zaloguj się do portalu administratora jako administrator usługi.
- Wybierz pozycję Grupy zasobów.
- Wybierz system.<location.mysqladapter>, grupa zasobów.
- Na stronie podsumowania przeglądu grupy zasobów nie powinno być wdrożeń, które zakończyły się niepowodzeniem.
- Na koniec wybierz pozycję Maszyny wirtualne w portalu administratora, aby sprawdzić, czy maszyna wirtualna dostawcy zasobów MySQL została pomyślnie utworzona i uruchomiona.
Ważna konfiguracja Tożsamość Microsoft Entra
Jeśli usługa Azure Stack Hub używa Tożsamość Microsoft Entra jako dostawca tożsamości, upewnij się, że maszyna wirtualna, która zainstalowała dostawcę zasobów serwera MySQL, ma wychodzącą łączność z Internetem.
Jeśli istnieje potrzeba uzyskania adresu IP maszyny wirtualnej, na której zainstalowano dostawcę zasobów serwera MySQL (tj. dodaj adres IP do listy dozwolonych zapory), musisz otworzyć zgłoszenie do pomocy technicznej i mieć inżyniera pomocy technicznej tymczasowo uwidocznić subskrypcję dostawcy zasobów serwera MySQL. Następnie możesz zlokalizować maszynę wirtualną w subskrypcji i uzyskać jej adres IP.