Distribuire il provider di risorse MySQL nell'hub di Azure Stack

Importante

A partire dalla build 2108 dell'hub di Azure Stack, i provider di risorse SQL e MySQL vengono offerti alle sottoscrizioni a cui è stato concesso l'accesso. Se si vuole iniziare a usare questa funzionalità o se è necessario eseguire l'aggiornamento da una versione precedente, aprire un caso di supporto e i tecnici del supporto ti guideranno attraverso il processo di distribuzione o aggiornamento.

Usare il provider di risorse del server MySQL per esporre i database MySQL come servizio hub di Azure Stack.

Il provider di risorse MySQL viene eseguito come servizio in una macchina virtuale Windows Server 2016 Server Core.

Il provider di risorse MySQL viene eseguito come servizio in un componente aggiuntivo speciale di Windows Server.

Importante

Solo il provider di risorse deve creare elementi nei server che ospitano SQL o MySQL. Gli elementi creati in un server host che non vengono creati dal provider di risorse non sono supportati e possono generare uno stato non corrispondente.

Prerequisiti

Se è già stato installato un provider di risorse, è probabile che siano stati completati i prerequisiti seguenti ed è possibile ignorare questa sezione. In caso contrario, completare questi passaggi prima di continuare:

  1. Registrare l'istanza dell'hub di Azure Stack con Azure, se non è stato fatto. Questo passaggio è necessario perché ci si connetterà e si scaricano elementi in Marketplace da Azure.

  2. Se non si ha familiarità con la funzionalità di gestione del Marketplace del portale di amministrazione dell'hub di Azure Stack, vedere Scaricare gli elementi del marketplace da Azure e pubblicare nell'hub di Azure Stack. L'articolo illustra il processo di download di elementi da Azure al marketplace dell'hub di Azure Stack. Vengono illustrati entrambi gli scenari connessi e disconnessi. Se l'istanza dell'hub di Azure Stack è disconnessa o parzialmente connessa, è necessario completare altri prerequisiti per l'installazione.

  3. Aggiornare la home directory Microsoft Entra. A partire dalla build 1910, è necessario registrare una nuova applicazione nel tenant della home directory. Questa app consentirà all'hub di Azure Stack di creare e registrare correttamente provider di risorse più recenti (ad esempio Hub eventi e altri) con il tenant Microsoft Entra. Si tratta di un'azione occasionale che deve essere eseguita dopo l'aggiornamento alla build 1910 o successiva. Se questo passaggio non viene completato, le installazioni del provider di risorse del Marketplace avranno esito negativo.

Prerequisiti del provider di risorse mySQL Server

  • Sarà necessario un computer e un account che possano accedere a:

    • portale di amministrazione dell'hub di Azure Stack.
    • l'endpoint con privilegi (necessario solo quando si distribuisce il provider di risorse mySQL Server V1 o si esegue l'aggiornamento dal provider di risorse mySQL Server V1 al provider di risorse mySQL Server V2).
    • l'endpoint di amministrazione di Azure Resource Manager, https://adminmanagement.region.<fqdn>, dove <fqdn> è il nome di dominio completo.
    • Internet, se l'hub di Azure Stack è stato distribuito per usare Microsoft Entra ID come provider di identità.
  • Scaricare la versione supportata del file binario del provider di risorse MySQL in base alla tabella di mapping delle versioni riportata di seguito. Per il provider di risorse MySQL V2, scaricare l'elemento del marketplace nell'hub di Azure Stack.

    Versione supportata dell'hub di Azure Stack Versione rp di MySQL Windows Server in cui è in esecuzione il servizio RP
    2206, 2301, 2306, 2311 MySQL RP versione 2.0.13.x Componente aggiuntivo Microsoft AzureStack Windows Server 1.2009.0
    2108, 2206 MySQL RP versione 2.0.6.x Componente aggiuntivo Microsoft AzureStack Windows Server 1.2009.0
  • Assicurarsi che la macchina virtuale Windows Server richiesta sia scaricata in Azure Stack Hub Marketplace. Scaricare manualmente l'immagine in base alla tabella di mapping della versione precedente, se necessario.

  • Verificare che i prerequisiti di integrazione del data center siano soddisfatti: R

    Prerequisito Riferimento
    L'inoltro DNS condizionale è impostato correttamente. Integrazione del data center dell'hub di Azure Stack - DNS
    Le porte in ingresso per i provider di risorse sono aperte. Integrazione del data center dell'hub di Azure Stack - Pubblicare gli endpoint
    L'oggetto del certificato PKI e san sono impostati correttamente. Prerequisiti per la distribuzione dell'hub di Azure Stack obbligatori per la distribuzione dell'hub diAzure Stack prerequisiti per il certificato PaaS
  • Preparare il certificato. (Solo per installazioni di sistemi integrati).

    • È necessario specificare il certificato PKI PaaS SQL descritto nella sezione facoltativa Relativa ai certificati PaaS dei requisiti PKI della distribuzione dell'hub di Azure Stack. Il nome alternativo soggetto (SAN) deve rispettare il modello di denominazione seguente: CN=*.dbadapter.<area> geografica.<fqdn>, con password protetta. Screenshot del certificato.
    • Quando si distribuisce il provider di risorse del server MySQL V1, inserire il file pfx nel percorso specificato dal parametro DependencyFilesLocalPath . Non fornire un certificato per i sistemi ASDK.
    • Quando si distribuisce il provider di risorse mySQL Server V2, preparare il certificato per la procedura di installazione seguente.

Scenario disconnesso

Quando si distribuisce il provider di risorse mySQL Server V2 in uno scenario disconnesso, seguire le istruzioni del marketplace per scaricare l'elemento del provider di risorse mySQL Server e l'elemento Del componente aggiuntivo RP Windows Server nell'ambiente dell'hub di Azure Stack.

Quando si distribuisce il provider di risorse mySQL Server V1 in uno scenario disconnesso, completare la procedura seguente per scaricare i moduli di PowerShell necessari e registrare manualmente il repository.

  1. Accedere a un computer con connettività Internet e usare gli script seguenti per scaricare i moduli di 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"
    
  2. A seconda della versione del provider di risorse che si sta distribuendo, eseguire uno degli script.

    # 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
    
  3. Copiare quindi i pacchetti scaricati in un dispositivo USB.

  4. Accedere alla workstation disconnessa e copiare i pacchetti dal dispositivo USB in una posizione nella workstation.

  5. Registrare questo percorso come repository locale.

    # 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" 
    

Distribuire il provider di risorse MySQL V2

Se si esegue l'aggiornamento da una versione V1, fare riferimento alla documentazione Aggiornare il provider di risorse del server MySQL.

Avviare l'installazione

  1. Se non è già stato fatto, accedere al portale dell'amministratore dell'hub di Azure Stack, selezionare Gestione marketplace a sinistra e quindi scegliere Provider di risorse.

  2. Dopo aver scaricato il provider di risorse MySQL e altri software necessari, gestione del Marketplace mostra i pacchetti "Provider di risorse mySQL Server" con lo stato "Non installato". Potrebbero essere presenti anche altri pacchetti con lo stato impostato su "Scaricato".

    Screenshot della gestione del marketplace prima di installare il punto di ripristino.

  3. Selezionare la riga da installare. La pagina del pacchetto di installazione del provider di risorse MySQL Server mostra un banner blu nella parte superiore. Selezionare il banner per avviare l'installazione. Screenshot dell'installazione iniziale della gestione del marketplace.

Installare i prerequisiti

  1. Si verrà trasferiti alla pagina di installazione. Selezionare Installa prerequisiti per avviare il processo di installazione. Screenshot dei prerequisiti di installazione della gestione del Marketplace.

  2. Attendere che l'installazione dei prerequisiti abbia esito positivo. Verrà visualizzato un segno di spunta verde accanto a Installa prerequisiti prima di procedere al passaggio successivo. Screenshot dei prerequisiti di installazione della gestione del marketplace completata.

Preparare i segreti

  1. Sotto il 2. Preparare il passaggio Dei segreti , selezionare Aggiungi certificato e verrà visualizzato il pannello Aggiungi un certificato . Screenshot della preparazione dei segreti per la gestione del marketplace.

  2. Selezionare il pulsante sfoglia in Aggiungere un certificato, a destra del campo del nome file del certificato. Selezionare il file di certificato con estensione pfx ottenuto dopo aver completato i prerequisiti.

  3. Immettere la password specificata per creare una stringa sicura per SQL Server certificato SSL del provider di risorse. Quindi selezionare Aggiungi. Screenshot dell'aggiunta del certificato per la gestione del marketplace.

Configurare e installare il provider di risorse

  1. Se l'installazione del certificato ha esito positivo, verrà visualizzato un segno di spunta verde accanto a Preparare i segreti, prima di procedere al passaggio successivo. Selezionare ora il pulsante Configura + Installa accanto a 3 Installa provider di risorse. Screenshot dell'installazione di RP di gestione del marketplace.

  2. Sarà quindi necessario fornire un URI BLOB dell'hub di Azure Stack per MySQL Connector.

    • Esaminare la licenza GPL di MySQL Connector qui e scaricare la versione 8.0.21 in una cartella locale.

    • Create un account di archiviazione con la sottoscrizione dell'operatore predefinito e creare un contenitore con il livello di accesso "BLOB" o "Contenitore". Screenshot oof creazione di un account di archiviazione.Screenshot della creazione di un contenitore di archiviazione.

    • Caricare il file di mysql-connector-net-8.0.21.msi dalla cartella locale al contenitore di archiviazione appena creato. Screenshot del caricamento del connettore MySQL nel contenitore.

    Importante

    Assicurarsi che la versione del connettore MySQL sia 8.0.21.

    • Copiare l'URI BLOB. Screenshot della copia dell'URI del connettore MySQL.

    • Indietro alla pagina di configurazione di MySQL RP. Incollare l'URI BLOB, ad esempio https://< storageAccountName.BLOB>.<area>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi) nella casella di testo e fare clic su OK. Screenshot dell'URI del connettore MySQL.

  3. Verrà quindi visualizzata la pagina seguente, che indica che il provider di risorse MySQL è in corso di installazione. Screenshot dell'installazione di RP di gestione del marketplace.

  4. Attendere la notifica che l'installazione è stata completata. Questo processo richiede in genere una o più ore, a seconda del tipo dell'hub di Azure Stack. Screenshot dell'installazione di RP di gestione del marketplace in corso.

  5. Verificare che l'installazione del provider di risorse di MySQL Server abbia avuto esito positivo, tornare alla pagina Gestione marketplace, Provider di risorse . Lo stato del provider di risorse del server MySQL deve essere visualizzato "Installato". Screenshot dell'RP di gestione del marketplace installato.

Distribuire il provider di risorse SQL V1

Dopo aver completato tutti i prerequisiti, eseguire l'estrattore automatico per estrarre il pacchetto di installazione scaricato in una directory temporanea. Eseguire lo script DeployMySqlProvider.ps1 da un computer che può accedere sia all'endpoint amministratore di Azure Stack Hub di Azure Resource Manager che all'endpoint con privilegi, per distribuire il provider di risorse MySQL. Lo script DeployMySqlProvider.ps1 viene estratto come parte dei file di installazione del provider di risorse MySQL scaricati per la versione dell'hub di Azure Stack.

Importante

Prima di distribuire il provider di risorse, esaminare le note sulla versione per informazioni sulle nuove funzionalità, correzioni e eventuali problemi noti che potrebbero influire sulla distribuzione.

Per distribuire il provider di risorse MySQL, aprire una nuova finestra di PowerShell con privilegi elevati (non PowerShell ISE) e passare alla directory in cui è stato estratto il file binario del provider di risorse MySQL.

Importante

È consigliabile usare Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process per cancellare la cache prima di eseguire lo script di distribuzione o aggiornamento.

Nota

Se si distribuisce il provider di risorse mySQL Server V1 in un ambiente disconnesso, copiare il file mysql-connector-net-6.10.5.msi in un percorso locale. Specificare il nome del percorso usando il parametro DependencyFilesLocalPath .

Eseguire lo script diDeployMySqlProvider.ps1 , che completa le attività seguenti:

  • Carica i certificati e altri artefatti in un account di archiviazione nell'hub di Azure Stack.
  • Pubblica i pacchetti della raccolta in modo che sia possibile distribuire i database MySQL usando la raccolta.
  • Pubblica un pacchetto della raccolta per la distribuzione di server di hosting.
  • Distribuisce una macchina virtuale usando l'immagine principale di Windows Server 2016 o l'immagine del componente aggiuntivo rp di Microsoft AzureStack windows Server scaricata e quindi installa il provider di risorse MySQL.
  • Registra un record DNS locale che esegue il mapping alla macchina virtuale del provider di risorse.
  • Registra il provider di risorse con il Resource Manager di Azure locale per l'account dell'operatore.

Nota

Quando viene avviata la distribuzione del provider di risorse MySQL, viene creato il gruppo di risorse system.local.mysqladapter . È possibile che siano necessari fino a 75 minuti per completare le distribuzioni necessarie per questo gruppo di risorse. Non è consigliabile inserire altre risorse nel gruppo di risorse system.local.mysqladapter .

parametri DeployMySqlProvider.ps1

È possibile specificare questi parametri dalla riga di comando. Se non si esegue o se la convalida dei parametri ha esito negativo, viene richiesto di fornire i parametri necessari.

Nome parametro Descrizione Commento o valore predefinito
CloudAdminCredential Credenziali per l'amministratore del cloud, necessarie per accedere all'endpoint con privilegi. Obbligatorio
AzCredential Credenziali per l'account amministratore del servizio hub di Azure Stack. Usare le stesse credenziali usate per la distribuzione dell'hub di Azure Stack. Lo script avrà esito negativo se l'account usato con AzCredential richiede l'autenticazione a più fattori (MFA). Obbligatorio
VMLocalCredential Credenziali per l'account amministratore locale della macchina virtuale del provider di risorse MySQL. Obbligatorio
PrivilegedEndpoint Indirizzo IP o nome DNS dell'endpoint con privilegi. Obbligatorio
AzureEnvironment Ambiente di Azure dell'account amministratore del servizio usato per la distribuzione dell'hub di Azure Stack. Obbligatorio solo per le distribuzioni di Microsoft Entra. I nomi di ambiente supportati sono AzureCloud, AzureUSGovernment o se si usa un Microsoft Entra ID Cina, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Solo per i sistemi integrati, il file pfx del certificato deve essere inserito in questa directory. Per gli ambienti disconnessi, scaricare mysql-connector-net-6.10.5.msi in questa directory. È possibile copiare facoltativamente un pacchetto MSU Windows Update qui. Facoltativo (obbligatorio per sistemi integrati o ambienti disconnessi)
DefaultSSLCertificatePassword Password per il certificato pfx. Obbligatorio
MaxRetryCount Numero di tentativi di ripetizione di ogni operazione se si verifica un errore. 2
RetryDuration Intervallo di timeout tra tentativi, in secondi. 120
Disinstalla Rimuove il provider di risorse e tutte le risorse associate (vedere le note seguenti). No
DebugMode Impedisce la pulizia automatica in caso di errore. No
AcceptLicense Ignora il prompt per accettare la licenza GPL. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Distribuire il provider di risorse MySQL usando uno script personalizzato

Se si distribuisce il provider di risorse MySQL versione 1.1.33.0 o versioni precedenti, è necessario installare versioni specifiche dei moduli AzureRm.BootStrapper e Azure Stack Hub in PowerShell.

Se si distribuisce il provider di risorse MySQL versione 1.1.47.0 o successiva, lo script di distribuzione scarica automaticamente e installa i moduli di PowerShell necessari per il percorso C:\Programmi\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

Nota

Nello scenario disconnesso, è necessario scaricare i moduli di PowerShell necessari e registrare manualmente il repository come prerequisito.

Per eliminare qualsiasi configurazione manuale durante la distribuzione del provider di risorse, è possibile personalizzare lo script seguente. Modificare le informazioni e le password predefinite dell'account in base alle esigenze per la distribuzione dell'hub di Azure Stack.

# 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

Al termine dello script di installazione del provider di risorse, aggiornare il browser per assicurarsi di visualizzare gli aggiornamenti più recenti e chiudere la sessione corrente di PowerShell.

Verificare la distribuzione V1 usando il portale dell'hub di Azure Stack

  1. Accedere al portale di amministrazione come amministratore del servizio.
  2. Selezionare Gruppi di risorse.
  3. Selezionare il sistema.<gruppo di risorse location.mysqladapter>.
  4. Nella pagina di riepilogo panoramica del gruppo di risorse non devono essere presenti distribuzioni non riuscite.
  5. Infine, selezionare Macchine virtuali nel portale di amministrazione per verificare che la macchina virtuale del provider di risorse MySQL sia stata creata correttamente ed è in esecuzione.

Configurazione importante per Microsoft Entra ID

Se l'hub di Azure Stack usa Microsoft Entra ID come provider di identità, assicurarsi che la macchina virtuale in cui sia installato il provider di risorse MySQL Server disponga della connettività Internet in uscita.

Se è necessario ottenere l'indirizzo IP della macchina virtuale che ha installato il provider di risorse MySQL Server (ad esempio, aggiungere l'indirizzo IP all'elenco di elementi consentiti del firewall), è necessario aprire un caso di supporto e chiedere al tecnico del supporto di rendere temporaneamente visibile la sottoscrizione del provider di risorse MySQL Server. È quindi possibile individuare la macchina virtuale nella sottoscrizione e ottenere il relativo INDIRIZZO IP.

Passaggi successivi

Aggiungere server di hosting