Implementar o fornecedor de recursos do MySQL no Azure Stack Hub

Importante

A partir da compilação 2108 do Azure Stack Hub, os fornecedores de recursos DO SQL e MySQL são oferecidos a subscrições às quais foi concedido acesso. Se quiser começar a utilizar esta funcionalidade ou se precisar de atualizar a partir de uma versão anterior, abra um pedido de suporte e os nossos engenheiros de suporte irão orientá-lo ao longo do processo de implementação ou atualização.

Utilize o fornecedor de recursos do Servidor MySQL para expor bases de dados MySQL como um serviço do Azure Stack Hub.

O fornecedor de recursos MySQL é executado como um serviço numa máquina virtual do Windows Server 2016 Server Core.

O fornecedor de recursos mySQL é executado como um serviço num Suplemento especial do Windows Server.

Importante

Apenas o fornecedor de recursos deve criar itens em servidores que alojem o SQL ou o MySQL. Os itens criados num servidor anfitrião que não são criados pelo fornecedor de recursos não são suportados e podem resultar num estado desajustado.

Pré-requisitos

Se já instalou um fornecedor de recursos, provavelmente concluiu os seguintes pré-requisitos e pode ignorar esta secção. Caso contrário, conclua estes passos antes de continuar:

  1. Registe a instância do Azure Stack Hub no Azure, caso ainda não o tenha feito. Este passo é necessário, uma vez que irá ligar-se e transferir itens para o marketplace a partir do Azure.

  2. Se não estiver familiarizado com a funcionalidade Gestão do Marketplace do portal de administrador do Azure Stack Hub, veja Transferir itens do marketplace do Azure e publicar no Azure Stack Hub. O artigo explica-lhe o processo de transferência de itens do Azure para o marketplace do Azure Stack Hub. Abrange cenários ligados e desligados. Se a instância do Azure Stack Hub estiver desligada ou parcialmente ligada, existem pré-requisitos adicionais para concluir na preparação para a instalação.

  3. Atualize o diretório raiz do Microsoft Entra. A partir da compilação 1910, tem de ser registada uma nova aplicação no inquilino do diretório raiz. Esta aplicação permitirá ao Azure Stack Hub criar e registar com êxito fornecedores de recursos mais recentes (como Hubs de Eventos e outros) com o seu inquilino Microsoft Entra. Esta é uma ação única que tem de ser efetuada depois de atualizar para a compilação 1910 ou mais recente. Se este passo não estiver concluído, as instalações do fornecedor de recursos do marketplace falharão.

Pré-requisitos do fornecedor de recursos do MySQL Server

  • Precisará de um computador e de uma conta que possam aceder:

    • o portal de administrador do Azure Stack Hub.
    • o ponto final privilegiado (necessário apenas quando estiver a implementar o fornecedor de recursos do MySQL Server V1 ou a atualizar do fornecedor de recursos do Servidor MySQL V1 para o fornecedor de recursos do Servidor MySQL V2).
    • o ponto final de administração do Azure Resource Manager, https://adminmanagement.region.<fqdn>, em que <fqdn> é o seu nome de domínio completamente qualificado.
    • a Internet, se o Azure Stack Hub tiver sido implementado para utilizar Microsoft Entra ID como fornecedor de identidade.
  • Transfira a versão suportada do binário do fornecedor de recursos MySQL de acordo com a tabela de mapeamento de versões abaixo. Para o fornecedor de recursos MySQL V2, transfira o item do marketplace para o Azure Stack Hub.

    Versão suportada do Azure Stack Hub Versão do RP do MySQL Windows Server no qual o serviço RP está em execução
    2206, 2301, 2306, 2311 MySQL RP versão 2.0.13.x Suplemento Microsoft AzureStack RP Windows Server 1.2009.0
    2108, 2206 MySQL RP versão 2.0.6.x Suplemento Microsoft AzureStack RP Windows Server 1.2009.0
  • Confirme que a VM do Windows Server necessária é transferida para o Marketplace do Azure Stack Hub. Transfira manualmente a imagem de acordo com a tabela de mapeamento de versões acima, se necessário.

  • Certifique-se de que os pré-requisitos de integração do datacenter são cumpridos:R

    Pré-requisito Referência
    O reencaminhamento DNS condicional está definido corretamente. Integração do datacenter do Azure Stack Hub – DNS
    As portas de entrada para fornecedores de recursos estão abertas. Integração do datacenter do Azure Stack Hub – Publicar pontos finais
    O requerente do certificado PKI e SAN estão definidos corretamente. Pré-requisitos obrigatórios para a implementação de PKI do Azure Stack Hub– Pré-requisitos de certificado PaaS de implementação do Azure Stack Hub
  • Prepare o certificado. (Apenas para instalações de sistemas integrados.)

    • Tem de fornecer o certificado PKI PaaS do SQL descrito na secção opcional Certificados PaaS dos requisitos de PKI de implementação do Azure Stack Hub. O Nome Alternativo do Requerente (SAN) tem de cumprir o seguinte padrão de nomenclatura: CN=*.dbadapter.<região>.<fqdn>, com palavra-passe protegida. Captura de ecrã do certificado.
    • Ao implementar o fornecedor de recursos do MySQL Server V1, coloque o ficheiro .pfx na localização especificada pelo parâmetro DependencyFilesLocalPath . Não forneça um certificado para sistemas ASDK.
    • Ao implementar o fornecedor de recursos do MySQL Server V2, prepare o certificado para os seguintes passos de instalação.

Cenário desligado

Ao implementar o fornecedor de recursos do MySQL Server V2 num cenário desligado, siga a instrução transferir itens do marketplace para o Azure Stack Hub para transferir o item do fornecedor de recursos do MySQL Server e o item do Windows Server do Suplemento RP para o ambiente do Azure Stack Hub.

Ao implementar o fornecedor de recursos do MySQL Server V1 num cenário desligado, conclua os seguintes passos para transferir os módulos do PowerShell necessários e registar o repositório manualmente.

  1. Inicie sessão num computador com conectividade à Internet e utilize os seguintes scripts para transferir os módulos do 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. Consoante a versão do fornecedor de recursos que está a implementar, execute um dos scripts.

    # 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. Em seguida, copie os pacotes transferidos para um dispositivo USB.

  4. Inicie sessão na estação de trabalho desligada e copie os pacotes do dispositivo USB para uma localização na estação de trabalho.

  5. Registe esta localização como um repositório local.

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

Implementar o fornecedor de recursos do MySQL V2

Se estiver a atualizar a partir de uma versão V1, veja o documento Atualizar o fornecedor de recursos do MySQL Server.

Iniciar instalação

  1. Se ainda não o fez, inicie sessão no portal de administrador do Azure Stack Hub, selecione Gestão do Marketplace à esquerda e selecione Fornecedores de recursos.

  2. Assim que o fornecedor de recursos do MySQL e outro software necessário tiverem sido transferidos, a Gestão do Marketplace mostra os pacotes "Fornecedor de recursos do MySQL Server" com o estado "Não Instalado". Podem existir outros pacotes que mostram o estado "Transferido".

    Captura de ecrã da gestão do marketplace antes de instalar o RP.

  3. Selecione a linha que pretende instalar. A página do pacote de instalação do fornecedor de recursos do MySQL Server mostra uma faixa azul na parte superior. Selecione a faixa para iniciar a instalação. Captura de ecrã da gestão do marketplace a iniciar a instalação do RP.

Pré-requisitos da instalação

  1. Em seguida, será transferido para a página de instalação. Selecione Instalar Pré-requisitos para iniciar o processo de instalação. Captura de ecrã a mostrar os pré-requisitos de instalação da gestão do marketplace.

  2. Aguarde até que a instalação dos pré-requisitos seja bem-sucedida. Deverá ver uma marca de verificação verde junto a Instalar pré-requisitos antes de avançar para o passo seguinte. Captura de ecrã a mostrar os pré-requisitos de instalação da gestão do marketplace com êxito.

Preparar segredos

  1. Abaixo do 2. Preparar o passo segredos , selecione Adicionar certificado e será apresentado o painel Adicionar um certificado . Captura de ecrã a mostrar a gestão do marketplace a preparar segredos.

  2. Selecione o botão procurar em Adicionar um certificado, à direita do campo nome do ficheiro de certificado. Selecione o ficheiro de certificado .pfx que obteve ao concluir os pré-requisitos.

  3. Introduza a palavra-passe que forneceu para criar uma cadeia segura para SQL Server Certificado SSL do fornecedor de recursos. Em seguida, selecione Adicionar. Captura de ecrã a mostrar a gestão do marketplace a adicionar certificado.

Configurar e instalar o fornecedor de recursos

  1. Quando a instalação do certificado for bem-sucedida, deverá ver uma marca de verificação verde junto a Preparar segredos antes de avançar para o passo seguinte. Agora, selecione o botão Configurar + Instalar junto a 3 Instalar fornecedor de recursos. Captura de ecrã a mostrar a instalação do RP de início da gestão do marketplace.

  2. Em seguida, terá de fornecer um URI de Blobs do Azure Stack Hub para o Conector MySQL.

    • Reveja a licença GPL do MySQL Connector aqui e transfira a versão 8.0.21 para uma pasta local.

    • Create uma conta de armazenamento com a sua subscrição de operador predefinida e crie um contentor com o nível de acesso "Blob" ou "Contentor". Captura de ecrã a mostrar a criação de uma conta de armazenamento.Captura de ecrã a mostrar a criação de um contentor de armazenamento.

    • Carregue o ficheiro mysql-connector-net-8.0.21.msi da pasta local para o contentor de armazenamento criado recentemente. Captura de ecrã a mostrar o carregamento do Conector MySQL para o contentor.

    Importante

    Certifique-se de que a versão do Conector MySQL é 8.0.21.

    • Copie o URI do blob. Captura de ecrã a mostrar a cópia do URI do Conector MySQL.

    • Voltar para a página de configuração do RP MySQL. Cole o URI do blob (por exemplo, https://< storageAccountName.blob>.<região>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msi) para a caixa de texto e clique em OK. Captura de ecrã a mostrar o URI do Conector MySQL.

  3. Em seguida, verá a página seguinte, que indica que o fornecedor de recursos MySQL está a ser instalado. Captura de ecrã a mostrar a instalação do RP de gestão do marketplace.

  4. Aguarde pela notificação de instalação concluída. Normalmente, este processo demora uma ou mais horas, consoante o tipo do Azure Stack Hub. Captura de ecrã a mostrar a instalação do RP de gestão do marketplace em curso.

  5. Verifique se a instalação do fornecedor de recursos do MySQL Server foi bem-sucedida ao regressar à página Gestão do Marketplace, Fornecedores de Recursos . O estado do fornecedor de recursos do MySQL Server deve mostrar "Instalado". Captura de ecrã a mostrar o RP de gestão do marketplace instalado.

Implementar o fornecedor de recursos SQL V1

Depois de concluir todos os pré-requisitos, execute o auto-extrator para extrair o pacote de instalação transferido para um diretório temporário. Execute o scriptDeployMySqlProvider.ps1 a partir de um computador que possa aceder ao ponto final de administração Resource Manager do Azure Stack Hub e ao ponto final privilegiado para implementar o fornecedor de recursos MySQL. O script de DeployMySqlProvider.ps1 é extraído como parte dos ficheiros de instalação do fornecedor de recursos MySQL que transferiu para a sua versão do Azure Stack Hub.

Importante

Antes de implementar o fornecedor de recursos, reveja as notas de versão para saber mais sobre novas funcionalidades, correções e quaisquer problemas conhecidos que possam afetar a sua implementação.

Para implementar o fornecedor de recursos MySQL, abra uma nova janela elevada do PowerShell (e não o ISE do PowerShell) e altere para o diretório onde extraiu os ficheiros binários do fornecedor de recursos MySQL.

Importante

Recomendamos vivamente que utilize Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar a cache antes de executar o script de implementação ou atualização.

Nota

Se estiver a implementar o fornecedor de recursos do MySQL Server V1 num ambiente desligado, copie o ficheiro mysql-connector-net-6.10.5.msi para um caminho local. Indique o nome do caminho com o parâmetro DependencyFilesLocalPath .

Execute o scriptDeployMySqlProvider.ps1 , que conclui as seguintes tarefas:

  • Carrega os certificados e outros artefactos para uma conta de armazenamento no Azure Stack Hub.
  • Publica pacotes de galeria para que possa implementar bases de dados MySQL com a galeria.
  • Publica um pacote de galeria para implementar servidores de alojamento.
  • Implementa uma VM com a imagem principal do Windows Server 2016 ou a imagem do Windows Server de Suplemento do Microsoft AzureStack que transferiu e, em seguida, instala o fornecedor de recursos MySQL.
  • Regista um registo DNS local que mapeia para a VM do fornecedor de recursos.
  • Regista o fornecedor de recursos no Resource Manager local do Azure para a conta do operador.

Nota

Quando a implementação do fornecedor de recursos MySQL é iniciada, é criado o grupo de recursos system.local.mysqladapter . Pode demorar até 75 minutos para concluir as implementações necessárias para este grupo de recursos. Não deve colocar outros recursos no grupo de recursos system.local.mysqladapter .

parâmetros de DeployMySqlProvider.ps1

Pode especificar estes parâmetros a partir da linha de comandos. Se não o fizer, ou se alguma validação de parâmetro falhar, ser-lhe-á pedido que forneça os parâmetros necessários.

Nome do parâmetro Descrição Comentário ou valor predefinido
CloudAdminCredential A credencial do administrador da cloud, necessária para aceder ao ponto final privilegiado. Obrigatório
AzCredential As credenciais da conta de administrador do serviço Azure Stack Hub. Utilize as mesmas credenciais que utilizou para implementar o Azure Stack Hub. O script falhará se a conta que utiliza com o AzCredential exigir autenticação multifator (MFA). Obrigatório
VMLocalCredential As credenciais da conta de administrador local da VM do fornecedor de recursos MySQL. Obrigatório
PrivilegedEndpoint O endereço IP ou o nome DNS do ponto final privilegiado. Obrigatório
AzureEnvironment O ambiente do Azure da conta de administrador de serviço utilizada para implementar o Azure Stack Hub. Necessário apenas para implementações Microsoft Entra. Os nomes de ambiente suportados são AzureCloud, AzureUSGovernment ou, se utilizar um Microsoft Entra ID da China, o AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Apenas para sistemas integrados, o ficheiro .pfx do certificado tem de ser colocado neste diretório. Para ambientes desligados, transfira mysql-connector-net-6.10.5.msi para este diretório. Opcionalmente, pode copiar um Windows Update pacote MSU aqui. Opcional (obrigatório para sistemas integrados ou ambientes desligados)
DefaultSSLCertificatePassword A palavra-passe do certificado .pfx. Obrigatório
MaxRetryCount O número de vezes que pretende repetir cada operação se ocorrer uma falha. 2
RepetirDuração O intervalo de tempo limite entre repetições, em segundos. 120
Desinstalar Remove o fornecedor de recursos e todos os recursos associados (veja as seguintes notas). No
DebugMode Impede a limpeza automática de falhas. No
AcceptLicense Ignora o pedido para aceitar a licença de GPL. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Implementar o fornecedor de recursos MySQL com um script personalizado

Se estiver a implementar a versão 1.1.33.0 ou versões anteriores do fornecedor de recursos MySQL, terá de instalar versões específicas dos módulos AzureRm.BootStrapper e Azure Stack Hub no PowerShell.

Se estiver a implementar a versão 1.1.47.0 ou posterior do fornecedor de recursos MySQL, o script de implementação irá transferir e instalar automaticamente os módulos do PowerShell necessários para o caminho C:\Programas\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

No cenário desligado, tem de transferir os módulos do PowerShell necessários e registar o repositório manualmente como um pré-requisito.

Para eliminar qualquer configuração manual ao implementar o fornecedor de recursos, pode personalizar o seguinte script. Altere as informações predefinidas da conta e as palavras-passe conforme necessário para a implementação do 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

Quando o script de instalação do fornecedor de recursos terminar, atualize o browser para se certificar de que consegue ver as atualizações mais recentes e fechar a sessão atual do PowerShell.

Verificar a implementação V1 com o portal do Azure Stack Hub

  1. Inicie sessão no portal de administrador como administrador do serviço.
  2. Selecione Grupos de Recursos.
  3. Selecione o sistema.<location.mysqladapter> resource group.
  4. Na página de resumo da Descrição Geral do Grupo de recursos, não devem existir implementações falhadas.
  5. Por fim, selecione Máquinas virtuais no portal de administrador para verificar se a VM do fornecedor de recursos MySQL foi criada com êxito e está em execução.

Configuração importante para Microsoft Entra ID

Se o Azure Stack Hub estiver a utilizar Microsoft Entra ID como fornecedor de identidade, certifique-se de que a VM que instalou o fornecedor de recursos do MySQL Server tem conectividade à Internet de saída.

Se for necessário obter o IP da VM que instalou o fornecedor de recursos do MySQL Server (ou seja, adicionar o IP à lista de permissões da firewall), tem de abrir um caso de suporte e fazer com que o engenheiro de suporte torne a subscrição do fornecedor de recursos do MySQL Server temporariamente visível. Em seguida, pode localizar a VM na subscrição e obter o respetivo IP.

Passos seguintes

Adicionar servidores de alojamento