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

Importante

A partire dalla compilazione dell'hub di Azure Stack 2108, 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 di supporto guideranno l'utente attraverso il processo di distribuzione o aggiornamento.

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

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

Il provider di risorse MySQL viene eseguito come servizio in un componente aggiuntivo speciale 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 non creati dal provider di risorse non sono supportati e possono causare uno stato non corrispondente.

Prerequisiti

Se è già stato installato un provider di risorse, è probabile che siano stati completati i prerequisiti seguenti e sia 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 quando ci si connetterà e si scaricano elementi nel 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. Copre sia scenari connessi che disconnessi. Se l'istanza dell'hub di Azure Stack è disconnessa o parzialmente connessa, sono necessari prerequisiti aggiuntivi per completare la preparazione per l'installazione.

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

Prerequisiti del provider di risorse di MySQL Server

  • Sarà necessario un computer e un account che può accedere:

    • il portale di amministratore dell'hub di Azure Stack.
    • l'endpoint con privilegi (necessario solo quando si distribuisce il provider di risorse di MySQL Server V1 o l'aggiornamento da MySQL Server resource provider V1 al provider di risorse di MySQL Server V2).
    • l'endpoint amministratore 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 Azure Active Directory (Azure AD) come provider di identità.
  • Scaricare la versione supportata del file binario del provider di risorse MySQL in base alla tabella di mapping delle versioni seguente. 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 di MySQL RP Windows Server in cui è in esecuzione il servizio RP
    2108 MySQL RP versione 2.0.6.x Componente aggiuntivo RP di Microsoft AzureStack Windows Server 1.2009.0
    2108, 2102, 2008, 2005 MySQL RP versione 1.1.93.5 Componente aggiuntivo RP di Microsoft AzureStack Windows Server
  • Assicurarsi che la macchina virtuale server Windows richiesta venga scaricata in Azure Stack Hub Marketplace. Scaricare manualmente l'immagine in base alla tabella di mapping delle versioni 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 endpoint
    L'oggetto del certificato PKI e SAN sono impostati correttamente. Prerequisiti obbligatori per la distribuzione dell'hub di Azure Stack
  • Preparare il certificato. (Solo per installazioni integrate).

    • È necessario specificare il certificato PAaS PKI SQL descritto nella sezione dei certificati PaaS facoltativi 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>.< fqdn>, con password protetta. Screenshot of the certificate.
    • Quando si distribuisce il provider di risorse di MySQL Server 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 di MySQL Server V2, preparare il certificato per la procedura di installazione seguente.

Scenario disconnesso

Quando si distribuisce il provider di risorse di MySQL Server V2 in uno scenario disconnesso, seguire le istruzioni del marketplace di download nell'hub di Azure Stack per scaricare l'elemento del provider di risorse mySQL Server e l'elemento rp-on Windows server nell'ambiente dell'hub di Azure Stack.

Quando si distribuisce il provider di risorse di 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 distribuita, 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 di amministrazione dell'hub di Azure Stack, selezionare Gestione marketplace a sinistra, selezionare Provider di risorse.

  2. Una volta scaricato il provider di risorse MySQL e altri software necessari, La gestione del Marketplace mostra i pacchetti "Provider di risorse mySQL Server" con stato "Non installato". Potrebbero essere presenti altri pacchetti che mostrano lo stato "Scaricato".

    Screenshot of marketplace management before installing the RP.

  3. Selezionare la riga da installare. La pagina del provider di risorse MySQL Server install package (Provider di risorse MySQL Server) mostra un banner blu nella parte superiore. Selezionare il banner per avviare l'installazione. Screenshot of marketplace management begin RP installation.

Installare i prerequisiti

  1. Successivamente viene trasferito alla pagina di installazione. Selezionare Installa prerequisiti per avviare il processo di installazione. Screenshot of marketplace management install prerequisites.

  2. Attendere fino a quando l'installazione dei prerequisiti ha esito positivo. Verrà visualizzato un segno di spunta verde accanto a Installa prerequisiti prima di procedere al passaggio successivo. Screenshot of marketplace management install prerequisites succeeded.

Preparare i segreti

  1. Sotto la 2. Preparare il passaggio dei segreti , selezionare Aggiungi certificato e verrà visualizzato il pannello Aggiungi un certificato . Screenshot of marketplace management prepare secrets.

  2. Selezionare il pulsante Sfoglia su Aggiungi un certificato, solo a destra del campo nome file certificato. Selezionare il file di certificato pfx acquistato al termine dei prerequisiti.

  3. Immettere la password specificata per creare una stringa sicura per SQL Server certificato SSL del provider di risorse. Quindi selezionare Aggiungi. Screenshot of marketplace management add certificate.

Configurare e installare il provider di risorse

  1. Quando l'installazione del certificato ha esito positivo, verrà visualizzato un segno di spunta verde accanto a Prepara segreti prima di procedere al passaggio successivo. Selezionare ora il pulsante Configura e installa accanto a 3 Installa provider di risorse. Screenshot of marketplace management start RP installation.

  2. Sarà quindi necessario specificare un URI BLOB dell'hub di Azure Stack per il connettore MySQL.

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

    • Creare un account di archiviazione con la sottoscrizione dell'operatore predefinito e creare un contenitore con il livello di accesso "BLOB" o "Contenitore". Screenshot oof creating a storage account.Screenshot of creating a storage container.

    • Upload il file mysql-connector-net-8.0.21.msi dalla cartella locale al contenitore di archiviazione appena creato. Screenshot of uploading MySQL Connector to the container.

    • Copiare l'URI del BLOB. Screenshot of copying the MySQL Connector URI.

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

  3. Verrà visualizzata la pagina seguente, che indica che è in corso l'installazione del provider di risorse MySQL. Screenshot of marketplace management RP installing.

  4. Attendere la notifica di completamento dell'installazione. Questo processo richiede in genere una o più ore, a seconda del tipo di hub di Azure Stack. Screenshot of marketplace management RP install in progress.

  5. Verificare che l'installazione del provider di risorse MySQL Server sia riuscita, restituendo alla pagina Gestione marketplace, Provider di risorse . Lo stato del provider di risorse del server MySQL deve essere "Installato". Screenshot of marketplace management RP installed.

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 diDeployMySqlProvider.ps1 da un computer in grado di accedere sia all'endpoint amministratore dell'hub di Azure Stack 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 su 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 sono stati estratti i file binari 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 DeployMySqlProvider.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 database MySQL usando la raccolta.
  • Pubblica un pacchetto della raccolta per la distribuzione dei server di hosting.
  • Distribuisce una macchina virtuale usando l'immagine principale Windows Server 2016 o l'immagine del componente aggiuntivo Microsoft AzureStack rp Windows server scaricata e quindi installa il provider di risorse MySQL.
  • Registra un record DNS locale mappato alla macchina virtuale del provider di risorse.
  • Registra il provider di risorse con l'Resource Manager di Azure locale per l'account dell'operatore.

Nota

All'avvio della distribuzione del provider di risorse MySQL, viene creato il gruppo di risorse system.local.mysqladapter . Il completamento delle distribuzioni necessarie per questo gruppo di risorse può richiedere fino a 75 minuti. Non inserire altre risorse nel gruppo di risorse system.local.mysqladapter .

parametri DeployMySqlProvider.ps1

È possibile specificare questi parametri dalla riga di comando. In caso contrario o in caso di esito negativo della convalida dei parametri, verrà richiesto di specificare i parametri necessari.

Nome parametro Descrizione Commento o valore predefinito
CloudAdminCredential Le credenziali per l'amministratore 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 Azure AD. I nomi di ambiente supportati sono AzureCloud, AzureUSGovernment o se si usa un Azure AD Cina, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Solo per i sistemi integrati, il file con estensione 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 in caso di errore. 2
RetryDuration Intervallo di timeout tra i tentativi, espresso 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 la richiesta di 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 Hub di Azure Stack in PowerShell.

Se si distribuisce il provider di risorse MySQL versione 1.1.47.0 o successiva, lo script di distribuzione scaricherà e installerà automaticamente 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 il repository manualmente 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 Azure AD

Se l'hub di Azure Stack usa Azure AD 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