Operace údržby poskytovatele prostředků MySQL ve službě Azure Stack Hub
Důležitý
Počínaje buildem 2108 služby Azure Stack Hub jsou poskytovatelé prostředků SQL a MySQL dostupní předplatným, kterým byl udělen přístup. Pokud chcete tuto funkci začít používat nebo pokud potřebujete upgradovat z předchozí verze, otevřete případ podpory a naši technici podpory vás provedou procesem nasazení nebo upgradu.
Poskytovatel prostředků MySQL běží na uzamčeném virtuálním počítači. Pokud chcete povolit operace údržby, musíte aktualizovat zabezpečení virtuálního počítače. K tomu můžete použít princip nejnižší úrovně oprávnění (POLP) s využitím PowerShell Just Enough Administration (JEA) koncového bodu DBAdapterMaintenance. Instalační balíček poskytovatele prostředků obsahuje skript pro tuto operaci.
Opravy a aktualizace
Poskytovatel prostředků MySQL není obsluhován jako součást služby Azure Stack Hub, protože se jedná o komponentu doplňku. Aktualizace poskytovatele prostředků MySQL jsou poskytovány podle potřeby společností Microsoft.
Při vydání aktualizovaného poskytovatele prostředků Serveru MySQL pro MySQL RP V1 se poskytne skript pro instalaci aktualizace. Tento skript vytvoří nový virtuální počítač poskytovatele prostředků a migruje stav starého virtuálního počítače zprostředkovatele na nový virtuální počítač.
Poskytovatelé prostředků pro MySQL RP V2 se aktualizují pomocí stejné funkce aktualizace, která se používá k instalaci aktualizací služby Azure Stack Hub.
Další informace najdete v tématu Aktualizace poskytovatele prostředků MySQL.
Aktualizace virtuálního počítače zprostředkovatele
MySQL RP V1 běží na uživatelském virtuálním počítači, musíte po vydání použít požadované opravy a aktualizace. Balíček služby Windows Update můžete nainstalovat během instalace nebo aktualizace poskytovatele prostředků.
Rp MySQL V2 běží na spravovaném Windows Serveru, který je skrytý. Virtuální počítač poskytovatele prostředků nemusíte opravovat ani aktualizovat. Aktualizuje se automaticky, když aktualizujete RP.
Aktualizace definic v programu Windows Defender virtuálního počítače
Tyto pokyny platí jenom pro SQL RP V1 běžící v integrovaných systémech služby Azure Stack Hub.
Pokud chcete aktualizovat definice Defenderu, postupujte takto:
Stáhněte si aktualizaci definic programu Windows Defender z definice programu Windows Defender.
Na stránce definice se posuňte dolů na "Ruční stažení a instalace definic". Stáhněte si 64bitový soubor "Antivirová ochrana v programu Windows Defender pro Windows 10 a Windows 8.1".
Případně můžete použít tento přímý odkaz ke stažení nebo spuštění souboru fpam-fe.exe.
Otevřete relaci PowerShell pro údržbový koncový bod VM adaptéru zdroje poskytovatele MySQL.
Zkopírujte soubor aktualizace definic do virtuálního počítače adaptéru poskytovatele prostředků prostřednictvím relace údržbového koncového bodu.
V relaci PowerShell údržby spusťte příkaz Update-DBAdapterWindowsDefenderDefinitions.
Po instalaci definic doporučujeme odstranit soubor aktualizace definic pomocí příkazu Remove-ItemOnUserDrive).
příklad skriptu PowerShellu pro aktualizaci definic.
Pokud chcete aktualizovat definice Defenderu, můžete upravit a spustit následující skript. Nahraďte hodnoty ve skriptu hodnotami z vašeho prostředí.
# Set credentials for the local admin on the resource provider VM.
$vmLocalAdminPass = ConvertTo-SecureString '<local admin user password>' -AsPlainText -Force
$vmLocalAdminUser = "<local admin user name>"
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential `
($vmLocalAdminUser, $vmLocalAdminPass)
# Provide the public IP address for the adapter VM.
$databaseRPMachine = "<RP VM IP address>"
$localPathToDefenderUpdate = "C:\DefenderUpdates\mpam-fe.exe"
# Download Windows Defender update definitions file from https://www.microsoft.com/en-us/wdsi/definitions.
Invoke-WebRequest -Uri 'https://go.microsoft.com/fwlink/?LinkID=121721&arch=x64' `
-Outfile $localPathToDefenderUpdate
# Create a session to the maintenance endpoint.
$session = New-PSSession -ComputerName $databaseRPMachine `
-Credential $vmLocalAdminCreds -ConfigurationName DBAdapterMaintenance `
-SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
# Copy the defender update file to the adapter VM.
Copy-Item -ToSession $session -Path $localPathToDefenderUpdate `
-Destination "User:\"
# Install the update definitions.
Invoke-Command -Session $session -ScriptBlock `
{Update-AzSDBAdapterWindowsDefenderDefinition -DefinitionsUpdatePackageFile "User:\mpam-fe.exe"}
# Cleanup the definitions package file and session.
Invoke-Command -Session $session -ScriptBlock `
{Remove-AzSItemOnUserDrive -ItemPath "User:\mpam-fe.exe"}
$session | Remove-PSSession
Konfigurace rozšíření Azure Diagnostics pro poskytovatele prostředků MySQL
Tyto pokyny platí jenom pro SQL RP V1 běžící v integrovaných systémech služby Azure Stack Hub.
Rozšíření Azure Diagnostics je ve výchozím nastavení nainstalované na virtuálním počítači poskytovatele prostředků MySQL. Následující kroky ukazují, jak přizpůsobit rozšíření pro shromažďování protokolů provozních událostí poskytovatele prostředků MySQL a protokolů služby IIS pro účely řešení potíží a auditování.
Přihlaste se k portálu pro správu služby Azure Stack Hub.
V podokně vlevo vyberte Virtuální počítače, vyhledejte virtuální počítač poskytovatele prostředků MySQL a vyberte virtuální počítač.
V nastavení diagnostiky virtuálního počítače přejděte na záložku Protokoly a vyberte možnost Vlastní pro přizpůsobení shromažďovaných protokolů událostí.
Přidejte Microsoft-AzureStack-DatabaseAdapter/Operational!* pro shromažďování protokolů provozních událostí poskytovatele prostředků MySQL.
Pokud chcete povolit shromažďování protokolů služby IIS, zkontrolujte protokoly služby IIS a protokoly neúspěšných požadavků.
Nakonec vyberte Uložit a uložte všechna nastavení diagnostiky.
Jakmile jsou protokoly událostí a shromažďování protokolů služby IIS nakonfigurované pro poskytovatele prostředků MySQL, protokoly najdete v systémovém účtu úložiště s názvem mysqladapterdiagaccount.
Další informace o rozšíření Azure Diagnostics najdete v tématu Co je rozšíření Azure Diagnostics.
Rotace tajných kódů
Tyto pokyny platí jenom pro integrované systémy služby Azure Stack Hub.
Při použití poskytovatelů prostředků SQL a MySQL s integrovanými systémy Azure Stack Hub je operátor služby Azure Stack Hub zodpovědný za obměnu následujících tajných kódů infrastruktury poskytovatele prostředků, aby se zajistilo, že nevyprší jejich platnost:
- Externí certifikát SSL poskytnutý během nasazení.
- Heslo účtu místního správce virtuálního počítače poskytovatele prostředků zadané během nasazování.
- Heslo uživatele dbadapterdiag (Resource Provider Diagnostic).
- (verze >= 1.1.47.0) Certifikát služby Key Vault vygenerovaný během nasazování
Příklady PowerShellu pro obměně tajných kódů
Změnit všechny tajné kódy najednou:
.\SecretRotationMySQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DiagnosticsUserPassword $passwd `
-DependencyFilesLocalPath $certPath `
-DefaultSSLCertificatePassword $certPasswd `
-VMLocalCredential $localCreds `
-KeyVaultPfxPassword $keyvaultCertPasswd
Změnit heslo diagnostického uživatele:
.\SecretRotationMySQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DiagnosticsUserPassword $passwd
Změnit heslo účtu místního správce virtuálního počítače:
.\SecretRotationMySQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-VMLocalCredential $localCreds
obměna certifikátu SSL
.\SecretRotationMySQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-DependencyFilesLocalPath $certPath `
-DefaultSSLCertificatePassword $certPasswd
Otočte certifikát Key Vault
.\SecretRotationSQLProvider.ps1 `
-Privilegedendpoint $Privilegedendpoint `
-CloudAdminCredential $cloudCreds `
-AzCredential $adminCreds `
-KeyVaultPfxPassword $keyvaultCertPasswd
parametry SecretRotationMySQLProvider.ps1
Parametr | Popis | Komentář |
---|---|---|
AzureEnvironment | Prostředí Azure účtu správce služby používaného k nasazení služby Azure Stack Hub. Vyžaduje se pouze pro nasazení Microsoft Entra. Podporované názvy prostředí jsou AzureCloud, AzureUSGovernment, nebo pokud používáte Microsoft Entra ID pro Čínu, AzureChinaCloud. | Volitelný |
AzCredential | Přihlašovací údaje účtu správce služby Azure Stack Hub Skript selže, pokud účet, který používáte s AzCredential, vyžaduje vícefaktorové ověřování (MFA). | Povinný |
CloudAdminCredential | Přihlašovací údaje účtu domény správce cloudu služby Azure Stack Hub | Povinný |
Privilegovaný koncový bod | Privilegovaný koncový bod pro přístup k Get-AzureStackStampInformation. | Povinný |
DiagnosticsUserPassword | Diagnostika hesla uživatelského účtu | Volitelný |
VMLocalCredential | Účet místního správce na virtuálním počítači MySQLAdapter. | Volitelný |
DefaultSSLCertificatePassword | Výchozí heslo certifikátu SSL (*.pfx). | Volitelný |
DependencyFilesLocalPath | Místní cesta k souborům závislostí. | Volitelný |
KeyVaultPfxPassword | Heslo použité k vygenerování certifikátu služby Key Vault pro adaptér databáze. | Volitelný |
Tyto pokyny platí jenom pro mySQL RP V2 spuštěné v integrovaných systémech služby Azure Stack Hub.
Poznámka
Obměna hesel pro poskytovatele zdrojů s přidanou hodnotou (RPs) je aktuálně podporována pouze prostřednictvím PowerShellu.
Podobně jako infrastruktura služby Azure Stack Hub používají poskytovatelé prostředků s přidanou hodnotou interní i externí tajné kódy. Jako operátor zodpovídáte za:
Poskytuje aktualizované externí tajné kódy, například nový certifikát TLS používaný k zabezpečení koncových bodů poskytovatele prostředků.
Řízení pravidelné rotace tajných kódů poskytovatele prostředků.
Když se blíží vypršení platnosti tajných kódů, na portálu pro správu se vygenerují následující výstrahy. Dokončení obměně tajných kódů vyřeší tato upozornění:
Čekání na vypršení platnosti interního certifikátu
Čekání na vypršení platnosti externího certifikátu
Požadavky
Při přípravě na proces obměně:
Pokud jste to ještě neudělali, před pokračováním nainstalujte modul Az PowerShellu pro Azure Stack Hub. Pro obměnu tajných kódů služby Azure Stack Hub se vyžaduje verze 2.0.2-Preview nebo novější. Další informace najdete v tématu Migrace z AzureRM na Az Azure PowerShellu ve službě Azure Stack Hub.
Instalace modulů Azs.Deployment.Admin 1.0.0: Galerie Prostředí PowerShell | Azs.Deployment.Admin 1.0.0
Install-Module -Name Azs.Deployment.Admin
- Pokud se blíží vypršení platnosti externího certifikátu, projděte si požadavky na certifikát infrastruktury veřejných klíčů (PKI) služby Azure Stack Hub důležité informace o požadavcích před získáním nebo obnovením certifikátu X509, včetně podrobností o požadovaném formátu PFX. Projděte si také požadavky uvedené v části Volitelné certifikáty PaaS, pro vašeho konkrétního poskytovatele prostředků s přidanou hodnotou.
Příprava nového certifikátu TLS pro obměnu externích certifikátů
Poznámka
Pokud se blíží vypršení platnosti jenom interního certifikátu, můžete tuto část přeskočit.
Dále vytvořte nebo obnovte certifikát TLS pro zabezpečení koncových bodů poskytovatele prostředků s přidanou hodnotou:
Proveďte kroky v Vygenerování žádostí o podepsání certifikátů (CRS) pro obnovení certifikátu pro vašeho poskytovatele prostředků. Tady použijete nástroj Azure Stack Hub Readiness Checker k vytvoření CSR. Nezapomeňte pro svého poskytovatele prostředků spustit správný cmdlet v kroku "Generování žádostí o certifikáty pro jiné služby Azure Stack Hub". Například
New-AzsDbAdapterCertificateSigningRequest
se používá pro RPS SQL a MySQL. Po dokončení odešlete vygenerovaný . Soubor REQ do certifikační autority (CA) pro nový certifikát.Jakmile od certifikační autority obdržíte soubor certifikátu, proveďte kroky v části Příprava certifikátů na nasazení nebo obměnu. Znovu použijete nástroj Readiness Checker ke zpracování souboru vráceného z certifikační autority.
Na závěr proveďte kroky v Ověřte certifikáty PKI služby Azure Stack Hub. Nástroj Readiness Checker použijete ještě jednou k provádění ověřovacích testů na novém certifikátu.
Otočení interního certifikátu
Otevřete konzolu PowerShell se zvýšenými oprávněními a proveďte následující kroky k obměně externích tajemství poskytovatele prostředků:
Přihlaste se k prostředí služby Azure Stack Hub pomocí přihlašovacích údajů operátora. Viz Připojení ke službě Azure Stack Hub pomocí PowerShellu pro skript přihlášení PowerShellu. Nezapomeňte použít rutiny Az PowerShellu (místo AzureRM) a nahradit všechny zástupné hodnoty, jako jsou adresy URL koncových bodů a název tenanta adresáře.
Určete ID produktu poskytovatele prostředků. Spusťte rutinu
Get-AzsProductDeployment
a načtěte seznam nejnovějších nasazení poskytovatele prostředků. Vrácená kolekce"value"
obsahuje prvek pro každého nasazeného poskytovatele prostředků. Vyhledejte poskytovatele prostředků, který vás zajímá, a poznamenejte si hodnoty těchto vlastností:-
"name"
– obsahuje ID produktu poskytovatele prostředků ve druhém segmentu hodnoty.
Například nasazení MySQL RP může mít ID produktu
"microsoft.mysqlrp"
.-
Spuštěním rutiny
Invoke-AzsProductRotateSecretsAction
otočte interní certifikát:Invoke-AzsProductRotateSecretsAction -ProductId $productId
Otočení externího certifikátu
Nejprve je potřeba si uvědomit hodnoty pro následující parametry.
Zástupný | Popis | Příklad hodnoty |
---|---|---|
<product-id> |
ID produktu nejnovějšího nasazení poskytovatele prostředků. | microsoft.mysqlrp |
<installed-version> |
Verze nejnovějšího nasazení poskytovatele prostředků | 2.0.0.2 |
<package-id> |
ID balíčku se sestaví zřetězením ID produktu a nainstalované verze. | microsoft.mysqlrp.2.0.0.2 |
<cert-secret-name> |
Název, pod kterým je uložený tajný klíč certifikátu. | SSLCert |
<cert-pfx-file-path> |
Cesta k vašemu certifikátu ve formátu PFX. | C:\dir\dbadapter-cert-file.pfx |
<pfx-password> |
Heslo přiřazené k vašemu certifikátu . PFX soubor. | strong@CertSecret6 |
Otevřete konzolu PowerShellu se zvýšenými oprávněními a proveďte následující kroky:
Přihlaste se k prostředí služby Azure Stack Hub pomocí přihlašovacích údajů operátora. Viz Připojení ke službě Azure Stack Hub pomocí PowerShellu pro skript přihlášení v PowerShellu. Nezapomeňte použít rutiny Az PowerShellu (místo AzureRM) a nahradit všechny zástupné hodnoty, jako jsou adresy URL koncových bodů a název tenanta adresáře.
Získejte hodnotu parametru ID produktu. Spusťte rutinu
Get-AzsProductDeployment
a načtěte seznam nejnovějších nasazení poskytovatelů prostředků. Vrácená kolekce"value"
obsahuje objekt pro každého jednotlivého nasazeného poskytovatele prostředků. Vyhledejte poskytovatele prostředků, který vás zajímá, a poznamenejte si hodnoty těchto vlastností:-
"name"
– obsahuje ID produktu poskytovatele prostředků ve druhém segmentu hodnoty. -
"properties"."deployment"."version"
– obsahuje aktuálně nasazené číslo verze.
Například nasazení RP MySQL může mít ID produktu
"microsoft.mysqlrp"
a číslo verze"2.0.0.2"
.-
Sestavte ID balíčku poskytovatele prostředků tak, že zřetězíte produktové ID a verzi poskytovatele prostředků. Například pomocí hodnot odvozených v předchozím kroku je ID balíčku SQL RP
microsoft.mysqlrp.2.0.0.2
.Pomocí ID balíčku odvozeného v předchozím kroku spusťte
Get-AzsProductSecret -PackageId
a načtěte seznam typů tajných kódů používaných poskytovatelem prostředků. Ve vrácené kolekcivalue
vyhledejte prvek obsahující hodnotu"Certificate"
pro vlastnost"properties"."secretKind"
. Tento element obsahuje vlastnosti certifikátového tajemství Relying Party. Poznamenejte si název přiřazený tomuto tajnému kódu certifikátu, který je identifikován posledním segmentem vlastnosti"name"
, těsně nad"properties"
.Například kolekce tajemství vrácená pro SQL RP obsahuje tajemství
"Certificate"
s názvemSSLCert
.Pomocí rutiny
Set-AzsProductSecret
naimportujte nový certifikát do služby Key Vault, který bude používán procesem obměny. Před spuštěním skriptu nahraďte zástupné hodnoty proměnné odpovídajícím způsobem.$productId = '<product-id>' $packageId = $productId + '.' + '<installed-version>' $certSecretName = '<cert-secret-name>' $pfxFilePath = '<cert-pfx-file-path>' $pfxPassword = ConvertTo-SecureString '<pfx-password>' -AsPlainText -Force Set-AzsProductSecret -PackageId $packageId -SecretName $certSecretName -PfxFileName $pfxFilePath -PfxPassword $pfxPassword -Force
Nakonec pomocí rutiny
Invoke-AzsProductRotateSecretsAction
obměňte tajné kódy:Invoke-AzsProductRotateSecretsAction -ProductId $productId
Monitorování průběhu obměně tajných kódů
Průběh rotace tajných klíčů můžete monitorovat buď v konzoli PowerShell nebo v administrátorském portálu vybráním poskytovatele prostředků ve službě Marketplace.
Poznámka
Tajná doba rotace může trvat déle než 10 minut. Po dokončení se stav poskytovatele prostředků změní na Nainstalovaný.
Shromažďování diagnostických protokolů
Azure Stack Hub nabízí několik způsobů, jak shromažďovat, ukládat a odesílat diagnostické protokoly podpoře Microsoftu. Od verze 1.1.93 podporuje poskytovatel prostředků MySQL standardní způsob shromažďování protokolů z vašeho prostředí Azure Stack Hub. Další informace najdete v tématu shromažďování diagnostických protokolů.
Od verze 1.1.93 podporuje poskytovatel prostředků MySQL standardní způsob shromažďování protokolů z vašeho prostředí Azure Stack Hub. Pokud používáte starší verzi, doporučujeme aktualizovat poskytovatele prostředků MySQL na nejnovější verzi.
Pokud chcete shromažďovat protokoly z uzamčeného virtuálního počítače, použijte koncový bod PowerShellu JEA (Just Enough Administration) s názvem DBAdapterDiagnostics. Tento koncový bod poskytuje následující příkazy:
Get-AzsDBAdapterLog. Tento příkaz vytvoří zipovací balíček s diagnostickými protokoly poskytovatele prostředků a uloží jej na uživatelský disk relace. Tento příkaz můžete spustit bez jakýchkoli parametrů a shromažďuje se posledních čtyři hodiny protokolů.
Remove-AzsDBAdapterLog. Tento příkaz odebere existující balíčky protokolů na virtuálním počítači poskytovatele prostředků.
Požadavky a proces koncového bodu
Při instalaci nebo aktualizaci poskytovatele prostředků se vytvoří uživatelský účet dbadapterdiag. Tento účet použijete ke shromažďování diagnostických protokolů.
Poznámka
Heslo účtu dbadapterdiag je stejné jako heslo, které se používá pro místního správce na virtuálním počítači vytvořeném během nasazení nebo aktualizace zprostředkovatele.
Pokud chcete použít příkazy DBAdapterDiagnostics, vytvořte pro virtuální počítač poskytovatele prostředků vzdálenou relaci PowerShellu a spusťte příkaz Get-AzsDBAdapterLog.
Časový rozsah pro shromažďování protokolů nastavíte pomocí parametrů FromDate a ToDate. Pokud nezadáte jeden nebo oba tyto parametry, použijí se následující výchozí hodnoty:
- FromDate je čtyři hodiny před aktuálním časem.
- ToDate je aktuální čas.
příklad skriptu PowerShellu pro shromažďování protokolů:
Následující skript ukazuje, jak shromažďovat diagnostické protokoly z virtuálního počítače poskytovatele prostředků.
# Create a new diagnostics endpoint session.
$databaseRPMachineIP = '<RP VM IP address>'
$diagnosticsUserName = 'dbadapterdiag'
$diagnosticsUserPassword = '<Enter Diagnostic password>'
$diagCreds = New-Object System.Management.Automation.PSCredential `
($diagnosticsUserName, (ConvertTo-SecureString -String $diagnosticsUserPassword -AsPlainText -Force))
$session = New-PSSession -ComputerName $databaseRPMachineIP -Credential $diagCreds `
-ConfigurationName DBAdapterDiagnostics -SessionOption (New-PSSessionOption -Culture en-US -UICulture en-US)
# Sample that captures logs from the previous hour.
$fromDate = (Get-Date).AddHours(-1)
$dateNow = Get-Date
$sb = {param($d1,$d2) Get-AzSDBAdapterLog -FromDate $d1 -ToDate $d2}
$logs = Invoke-Command -Session $session -ScriptBlock $sb -ArgumentList $fromDate,$dateNow
# Copy the logs to the user drive.
$sourcePath = "User:\{0}" -f $logs
$destinationPackage = Join-Path -Path (Convert-Path '.') -ChildPath $logs
Copy-Item -FromSession $session -Path $sourcePath -Destination $destinationPackage
# Cleanup the logs.
$cleanup = Invoke-Command -Session $session -ScriptBlock {Remove-AzsDBAdapterLog}
# Close the session.
$session | Remove-PSSession
Známá omezení poskytovatele prostředků MySQL Serveru verze 1
Omezení:
Pokud nasazení, upgrade nebo skript obměny tajných kódů selhal, nelze některé protokoly shromažďovat standardním mechanismem shromažďování protokolů.
náhradní řešení:
Kromě použití standardního mechanismu shromažďování protokolů přejděte do složky Protokoly v extrahované složce, kde skript vyhledá, a vyhledejte další protokoly.