Operace údržby poskytovatele prostředků MySQL ve službě Azure Stack Hub

Důležité

Od buildu 2108 služby Azure Stack Hub jsou poskytovatelé prostředků SQL a MySQL nabízeni pro předplatná, která mají 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ých virtuálních počítačích. 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žšího oprávnění (POLP), můžete použít dbAdapterMaintenance koncového bodu Jea (PowerShell Just Enough Administration ). 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 doplňkovou komponentu. Microsoft podle potřeby poskytuje aktualizace pro poskytovatele prostředků MySQL.

V případě MySQL RP V1 je po vydání aktualizovaného poskytovatele prostředků Serveru MySQL k dispozici 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 poskytovatele do nového virtuálního počítače.

V případě MySQL RP V2 se poskytovatelé prostředků 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 poskytovatele

MySQL RP V1 běží na uživatelském virtuálním počítači. Při jejich vydání musíte použít požadované opravy a aktualizace. Balíček služba Windows Update můžete nainstalovat během instalace poskytovatele prostředků nebo ho aktualizovat.

MySQL RP 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 při aktualizaci poskytovatele prostředků.

Aktualizace definic Windows Defender virtuálních počítačů

Tyto pokyny platí jenom pro SQL RP V1 spuštěné v integrovaných systémech Služby Azure Stack Hub.

Pokud chcete aktualizovat definice Defenderu, postupujte takto:

  1. Stáhněte si aktualizaci definic Windows Defender z Windows Defender Definition.

    Na stránce definic se posuňte dolů na "Ruční stažení a instalace definic". Stáhněte si 64bitový soubor "Windows Defender Antivirus 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.

  2. Otevřete relaci PowerShellu ke koncovému bodu údržby virtuálního počítače adaptéru poskytovatele prostředků MySQL.

  3. Zkopírujte soubor aktualizace definic do virtuálního počítače adaptéru poskytovatele prostředků pomocí relace koncového bodu údržby.

  4. V relaci PowerShellu údržby spusťte příkaz Update-DBAdapterWindowsDefenderDefinitions .

  5. Po instalaci definic doporučujeme odstranit soubor aktualizace definic pomocí příkazu Remove-ItemOnUserDrive ).

Příklad skriptu PowerShellu pro aktualizaci definic

K aktualizaci definic 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 spuštěné 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 adaptéru 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í.

  1. Přihlaste se k portálu pro správu služby Azure Stack Hub.

  2. V podokně vlevo vyberte Virtuální počítače , vyhledejte virtuální počítač adaptér poskytovatele prostředků MySQL a vyberte virtuální počítač.

  3. V nastavení diagnostiky virtuálního počítače přejděte na kartu Protokoly a zvolte Vlastní a přizpůsobte shromažďované protokoly událostí.

    Přejít na nastavení diagnostiky

  4. Přidejte Microsoft-AzureStack-DatabaseAdapter/Operational!* ke shromažďování protokolů provozních událostí poskytovatele prostředků MySQL.

    Přidání protokolů událostí

  5. Pokud chcete povolit shromažďování protokolů služby IIS, zkontrolujte protokoly služby IIS a protokoly neúspěšných požadavků.

    Přidání protokolů služby IIS

  6. 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, najdete je v účtu systémového úložiště 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 zodpovídá operátor služby Azure Stack Hub za obměně 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 nasazování.
  • Heslo účtu místního správce virtuálního počítače poskytovatele prostředků zadaného během nasazování
  • Heslo uživatele diagnostiky poskytovatele prostředků (dbadapterdiag).
  • (verze >= 1.1.47.0) Key Vault certifikát vygenerovaný během nasazení.

Příklady v PowerShellu pro obměně tajných kódů

Změňte 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ěňte heslo uživatele diagnostiky:

.\SecretRotationMySQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -DiagnosticsUserPassword  $passwd

Změňte 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čení certifikátu Key Vault

.\SecretRotationSQLProvider.ps1 `
    -Privilegedendpoint $Privilegedendpoint `
    -CloudAdminCredential $cloudCreds `
    -AzCredential $adminCreds `
    -KeyVaultPfxPassword $keyvaultCertPasswd

parametry SecretRotationMySQLProvider.ps1

Parametr Popis Komentář
Prostředí Azure Prostředí Azure účtu správce služby použité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 ID Microsoft Entra Číny, 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é
PrivilegedEndpoint Privileged Endpoint pro přístup k Get-AzureStackStampInformation. Povinné
DiagnosticsUserPassword Heslo k uživatelskému účtu diagnostiky 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 Key Vault pro databázový adaptér. 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 tajných kódů pro poskytovatele prostředků s přidanou hodnotou (RP) se v současné době podporuje jenom prostřednictvím PowerShellu.

Podobně jako infrastruktura služby Azure Stack Hub i poskytovatelé prostředků s přidanou hodnotou používají interní i externí tajné kódy. Jako operátor zodpovídáte za:

  • Poskytování aktualizovaných externích tajných klíčů, například nového certifikátu TLS sloužícího k zabezpečení koncových bodů poskytovatele prostředků

  • Správa obměna tajných kódů poskytovatele prostředků v pravidelných intervalech

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ší tyto výstrahy:

  • Blížící se vypršení platnosti interního certifikátu

  • Blížící se vypršení platnosti externího certifikátu

Požadavky

V rámci přípravy na obměně:

  1. Pokud jste to ještě neudělali, před pokračováním nainstalujte modul Az PowerShellu pro službu Azure Stack Hub . Pro obměně 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 Azure PowerShell Az ve službě Azure Stack Hub.

  2. Nainstalujte Azs.Deployment. moduly Správa 1.0.0: Galerie prostředí PowerShell | Azs.Deployment. Správa 1.0.0

Install-Module -Name Azs.Deployment.Admin
  1. Pokud se blíží vypršení platnosti externího certifikátu, před získáním nebo obnovením certifikátu X509, včetně podrobností o požadovaném formátu PFX, zkontrolujte požadavky na certifikát infrastruktury veřejných klíčů (PKI) služby Azure Stack Hub . Projděte si také požadavky uvedené v části Volitelné certifikáty PaaS pro 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 pouze 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:

  1. Dokončete kroky v tématu Generování žádostí o podepsání certifikátu (CDR) 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 spustit správnou rutinu pro svého poskytovatele prostředků v kroku Generovat žádosti o certifikáty pro jiné služby Azure Stack Hub. New-AzsDbAdapterCertificateSigningRequest Například se používá pro SQL a MySQL RPs. Po dokončení odešlete vygenerovaný soubor . SOUBOR REQ pro nový certifikát u vaší certifikační autority (CA).

  2. Jakmile od certifikační autority obdržíte soubor certifikátu, proveďte kroky v tématu Příprava certifikátů k nasazení nebo obměně. Znovu použijete nástroj Readiness Checker ke zpracování souboru vráceného z certifikační autority.

  3. Nakonec dokončete kroky v tématu Ověření certifikátů PKI služby Azure Stack Hub. Nástroj Readiness Checker ještě jednou použijete k provádění ověřovacích testů nového certifikátu.

Obměna interního certifikátu

Otevřete konzolu PowerShellu se zvýšenými oprávněními a provedením následujících kroků obměňte externí tajné kódy poskytovatele prostředků:

  1. Přihlaste se k prostředí služby Azure Stack Hub pomocí přihlašovacích údajů operátora. Informace o přihlašovacím skriptu PowerShellu najdete v tématu Připojení ke službě Azure Stack Hub pomocí 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.

  2. Určete ID produktu poskytovatele prostředků. Spuštěním rutiny Get-AzsProductDeployment načtěte seznam nejnovějších nasazení poskytovatele prostředků. "value" Vrácená kolekce obsahuje element pro každého nasazeného poskytovatele prostředků. Najděte 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í poskytovatele prostředků MySQL může mít ID "microsoft.mysqlrp"produktu .

  3. Spuštěním rutiny Invoke-AzsProductRotateSecretsAction obměňte interní certifikát:

    Invoke-AzsProductRotateSecretsAction -ProductId $productId
    

Obměna externího certifikátu

Nejprve si poznamenejte hodnoty následujících parametrů.

Zástupný symbol Description 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 tajný klíč certifikátu uložen. SSLCert
<cert-pfx-file-path> Cesta k souboru PFX certifikátu. C:\dir\dbadapter-cert-file.pfx
<pfx-password> Heslo přiřazené k vašemu certifikátu SOUBOR PFX. strong@CertSecret6

Otevřete konzolu PowerShellu se zvýšenými oprávněními a proveďte následující kroky:

  1. Přihlaste se k prostředí služby Azure Stack Hub pomocí přihlašovacích údajů operátora. Informace o přihlašovacím skriptu PowerShellu najdete v tématu Připojení ke službě Azure Stack Hub pomocí 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.

  2. Získejte hodnotu parametru product-id. Spuštěním rutiny Get-AzsProductDeployment načtěte seznam nejnovějších nasazení poskytovatele prostředků. "value" Vrácená kolekce obsahuje element pro každého nasazeného poskytovatele prostředků. Najděte 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 číslo aktuálně nasazené verze.

    Například nasazení poskytovatele prostředků MySQL může mít ID "microsoft.mysqlrp"produktu , a verze "2.0.0.2".

  3. Zřetězením ID produktu a verze poskytovatele prostředků sestavte ID balíčku poskytovatele prostředků. Například s použitím hodnot odvozených v předchozím kroku je microsoft.mysqlrp.2.0.0.2ID balíčku RP SQL .

  4. Pomocí ID balíčku odvozeného v předchozím kroku spusťte příkaz Get-AzsProductSecret -PackageId , který načte seznam typů tajných kódů používaných poskytovatelem prostředků. Ve vrácené value kolekci vyhledejte prvek obsahující hodnotu "Certificate" pro "properties"."secretKind" vlastnost . Tento element obsahuje vlastnosti tajného klíče certifikátu poskytovatele prostředků. Poznamenejte si název přiřazený tomuto tajnému klíči certifikátu, který je identifikován posledním segmentem "name" vlastnosti přímo nad "properties".

    Například kolekce tajných kódů vrácená pro poskytovatele prostředků SQL obsahuje "Certificate" tajný klíč s názvem SSLCert.

  5. Pomocí rutiny Set-AzsProductSecret naimportujte nový certifikát do Key Vault, který použije proces obměně. Před spuštěním skriptu odpovídajícím způsobem nahraďte zástupné hodnoty proměnných.

    $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
    
  6. 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 obměně tajných kódů můžete monitorovat v konzole PowerShellu nebo na portálu pro správu výběrem poskytovatele prostředků ve službě Marketplace:

Obrazovka probíhající obměně tajných kódů

Poznámka

Doba obměně tajných kódů může stát 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 do podpora Microsoftu. Od verze 1.1.93 podporuje poskytovatel prostředků MySQL standardní způsob shromažďování protokolů z prostředí služby 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 prostředí služby Azure Stack Hub. Pokud používáte starší verzi, doporučujeme aktualizovat poskytovatele prostředků MySQL na nejnovější verzi.

Ke shromažďování protokolů z uzamčeného virtuálního počítače použijte koncový bod Jea (Just Enough Administration) PowerShellu DBAdapterDiagnostics. Tento koncový bod poskytuje následující příkazy:

  • Get-AzsDBAdapterLog. Tento příkaz vytvoří balíček ZIP diagnostických protokolů poskytovatele prostředků a uloží soubor na jednotku uživatele relace. Tento příkaz můžete spustit bez parametrů a shromáždí se poslední č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 na koncový bod a proces

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 používané 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 vzdálenou relaci PowerShellu k virtuálnímu počítači poskytovatele prostředků 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:

  • Hodnota FromDate je čtyři hodiny před aktuálním časem.
  • ToDate je aktuální čas.

Ukázkový skript 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ů Serveru MySQL verze 1

Omezení:
Pokud skript nasazení, upgradu nebo obměny tajných kódů selhal, nemůže standardní mechanismus shromažďování protokolů shromáždit některé protokoly.

Alternativní ř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 najde další protokoly.

Další kroky

Přidání hostitelských serverů MySQL