Implantar o provedor de recursos do MySQL no Azure Stack Hub

Importante

A partir do Azure Stack Hub build 2108, os provedores de recursos SQL e MySQL são oferecidos a assinaturas que receberam acesso. Se você quiser começar a usar esse recurso ou se precisar atualizar de uma versão anterior, abra um caso de suporte e nossos engenheiros de suporte orientarão você pelo processo de implantação ou atualização.

Use o provedor de recursos do MySQL Server para expor bancos de dados MySQL como um serviço do Azure Stack Hub.

O provedor de recursos MySQL é executado como um serviço em uma máquina virtual Windows Server 2016 Server Core.

O provedor de recursos MySQL é executado como um serviço em um Complemento RP Windows Server especial.

Importante

Somente o provedor de recursos deve criar itens em servidores que hospedam o SQL ou o MySQL. Os itens criados em um servidor host que não são criados pelo provedor de recursos não têm suporte e podem resultar em um estado incompatível.

Pré-requisitos

Se você já instalou um provedor de recursos, provavelmente concluiu os pré-requisitos a seguir e pode ignorar esta seção. Caso contrário, conclua estas etapas antes de continuar:

  1. Registre sua instância do Azure Stack Hub com o Azure, caso ainda não tenha feito isso. Essa etapa é necessária, pois você se conectará e baixará itens para o marketplace do Azure.

  2. Se você não estiver familiarizado com o recurso de Gerenciamento do Marketplace do portal do administrador do Azure Stack Hub, examine Baixar itens do marketplace do Azure e publique no Azure Stack Hub. O artigo explica o processo de download de itens do Azure para o marketplace do Azure Stack Hub. Ele abrange cenários conectados e desconectados. Se a instância do Azure Stack Hub estiver desconectada ou parcialmente conectada, haverá pré-requisitos adicionais a serem concluídos na preparação para a instalação.

  3. Atualize seu Microsoft Entra diretório base. A partir do build 1910, um novo aplicativo deve ser registrado em seu locatário do diretório base. Esse aplicativo permitirá que o Azure Stack Hub crie e registre com êxito provedores de recursos mais recentes (como Hubs de Eventos e outros) com seu locatário Microsoft Entra. Essa é uma ação única que precisa ser feita após a atualização para o build 1910 ou mais recente. Se essa etapa não for concluída, as instalações do provedor de recursos do marketplace falharão.

Pré-requisitos do provedor de recursos do MySQL Server

  • Você precisará de um computador e uma conta que possam acessar:

    • o portal do administrador do Azure Stack Hub.
    • o ponto de extremidade privilegiado (necessário somente quando você está implantando o provedor de recursos do MySQL Server V1 ou atualizando do provedor de recursos do MySQL Server V1 para o provedor de recursos do MySQL Server V2).
    • o ponto de extremidade de administrador do Resource Manager do Azure, https://adminmanagement.region.<fqdn>, em que <fqdn> é o nome de domínio totalmente qualificado.
    • a Internet, se o Azure Stack Hub foi implantado para usar Microsoft Entra ID como seu provedor de identidade.
  • Baixe a versão com suporte do binário do provedor de recursos mySQL de acordo com a tabela de mapeamento de versão abaixo. Para o provedor de recursos MySQL V2, baixe o item do marketplace para o Azure Stack Hub.

    Versão do Azure Stack Hub com suporte Versão rp do MySQL Windows Server no qual o serviço RP está sendo executado
    2206, 2301, 2306 MySQL RP versão 2.0.13.x Complemento do Microsoft AzureStack RP Windows Server 1.2009.0
    2108, 2206 MySQL RP versão 2.0.6.x Complemento do Microsoft AzureStack RP Windows Server 1.2009.0
  • Verifique se a VM do Windows Server necessária foi baixada para o Marketplace do Azure Stack Hub. Baixe manualmente a imagem de acordo com a tabela de mapeamento de versão acima, se necessário.

  • Verifique se os pré-requisitos de integração do datacenter foram atendidos:R

    Pré-requisito Referência
    O encaminhamento de DNS condicional está definido corretamente. Integração do datacenter do Azure Stack Hub – DNS
    As portas de entrada para provedores de recursos estão abertas. Integração do datacenter do Azure Stack Hub – Publicar pontos de extremidade
    A entidade do certificado PKI e a SAN são definidas corretamente. Pré-requisitos obrigatórios de implantação do Azure Stack Hub PKI pré-requisitos de certificado PaaS de implantação do Azure Stack Hub
  • Prepare o certificado. (Somente para instalações de sistemas integrados.)

    • Você deve fornecer o certificado PKI de PaaS do SQL descrito na seção de certificados PaaS opcionais dos requisitos de PKI de implantação do Azure Stack Hub. O SAN (Nome Alternativo da Entidade) deve seguir o seguinte padrão de nomenclatura: CN=*.dbadapter.<região>.<fqdn>, com senha protegida. Captura de tela do certificado.
    • Ao implantar o provedor de recursos do MySQL Server V1, coloque o arquivo .pfx no local especificado pelo parâmetro DependencyFilesLocalPath . Não forneça um certificado para sistemas ASDK.
    • Ao implantar o provedor de recursos do MySQL Server V2, prepare o certificado para as etapas de instalação a seguir.

Cenário desconectado

Ao implantar o provedor de recursos do MySQL Server V2 em um cenário desconectado, siga a instrução baixar itens do marketplace no Azure Stack Hub para baixar o item do provedor de recursos do MySQL Server e o item do Windows Server de RP de complemento para o ambiente do Azure Stack Hub.

Ao implantar o provedor de recursos do MySQL Server V1 em um cenário desconectado, conclua as etapas a seguir para baixar os módulos necessários do PowerShell e registrar o repositório manualmente.

  1. Entre em um computador com conectividade com a Internet e use os scripts a seguir para baixar 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. Dependendo da versão do provedor de recursos que você está implantando, 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 baixados para um dispositivo USB.

  4. Entre na estação de trabalho desconectada e copie os pacotes do dispositivo USB para um local na estação de trabalho.

  5. Registre esse local 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" 
    

Implantar o provedor de recursos do MySQL V2

Se você estiver atualizando de uma versão V1, consulte o documento Atualizar o provedor de recursos do MySQL Server.

Iniciar a instalação

  1. Se ainda não o fez, entre no portal do administrador do Azure Stack Hub, selecione Gerenciamento do Marketplace à esquerda e selecione Provedores de recursos.

  2. Depois que o provedor de recursos do MySQL e outros softwares necessários tiverem sido baixados, o Gerenciamento do Marketplace mostrará os pacotes "Provedor de recursos do MySQL Server" com um status de "Não Instalado". Pode haver outros pacotes que mostram o status "Baixado".

    Captura de tela do gerenciamento do marketplace antes de instalar o RP.

  3. Selecione a linha que você deseja instalar. A página do pacote de instalação do provedor de recursos do MySQL Server mostra uma faixa azul na parte superior. Selecione a faixa para iniciar a instalação. Captura de tela do início da instalação de RP do gerenciamento do marketplace.

Instalar pré-requisitos

  1. Em seguida, você será transferido para a página de instalação. Selecione Instalar pré-requisitos de Instalação para iniciar o processo de instalação. Captura de tela dos pré-requisitos de instalação do gerenciamento do marketplace.

  2. Aguarde até que a instalação dos pré-requisitos seja realizada com sucesso. Você deverá ver uma marca de seleção verde ao lado Instalar pré-requisitos antes de prosseguir para a próxima etapa. Captura de tela dos pré-requisitos de instalação de gerenciamento do marketplace bem-sucedidos.

Preparar segredos

  1. Abaixo do 2. Prepare a etapa segredos , selecione Adicionar certificado e o painel Adicionar um certificado será exibido. Captura de tela da preparação de segredos do gerenciamento do marketplace.

  2. Selecione o botão de navegação em Adicionar um certificado, à direita do campo do nome do arquivo do certificado. Selecione o arquivo de certificado .pfx que você adquiriu ao preencher os pré-requisitos.

  3. Insira a senha fornecida para criar uma cadeia de caracteres segura para SQL Server certificado SSL do provedor de recursos. Em seguida, selecioneAdicionar. Captura de tela da adição de certificado do gerenciamento do marketplace.

Configurar e instalar o provedor de recursos

  1. Quando a instalação do certificado for bem-sucedida, você deverá ver uma marca de seleção verde ao lado de Preparar segredos antes de prosseguir para a próxima etapa. Agora, selecione o botão Configurar + Instalar ao lado de 3 Instalar provedor de recursos. Captura de tela da instalação do RP de início do gerenciamento do marketplace.

  2. Em seguida, você precisará fornecer um URI de Blob do Azure Stack Hub para o Conector MySQL.

    • Examine a licença gpl do MySQL Connector aqui e baixe a versão 8.0.21 para uma pasta local.

    • Crie uma conta de armazenamento com sua assinatura de operador padrão e crie um contêiner com o nível de acesso "Blob" ou "Contêiner". Captura de tela da criação de uma conta de armazenamento.Captura de tela da criação de um contêiner de armazenamento.

    • Carregue o arquivo mysql-connector-net-8.0.21.msi da pasta local para o contêiner de armazenamento recém-criado. Captura de tela do carregamento do Conector do MySQL para o contêiner.

    Importante

    Verifique se a versão do Conector MySQL é 8.0.21.

    • Copie o URI do blob. Captura de tela da cópia do URI do Conector MySQL.

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

  3. Em seguida, você verá a página a seguir, que indica que o provedor de recursos MySQL está sendo instalado. Captura de tela da instalação do RP de gerenciamento do marketplace.

  4. Aguarde a notificação de conclusão da instalação. Esse processo geralmente leva uma ou mais horas, dependendo do tipo de Azure Stack Hub. Captura de tela da instalação de RP de gerenciamento do marketplace em andamento.

  5. Verifique se a instalação do provedor de recursos do MySQL Server foi bem-sucedida, retornando à página Gerenciamento do Marketplace, Provedores de Recursos . O status do provedor de recursos do MySQL Server deve mostrar "Instalado". Captura de tela do RP de gerenciamento do marketplace instalado.

Implantar o provedor de recursos do SQL V1

Depois de concluir todos os pré-requisitos, execute o auto-extrator para extrair o pacote de instalação baixado para um diretório temporário. Execute o script DeployMySqlProvider.ps1 de um computador que possa acessar o ponto de extremidade de administração do Azure Resource Manager do Azure Stack Hub e o ponto de extremidade privilegiado para implantar o provedor de recursos do MySQL. O script DeployMySqlProvider.ps1 é extraído como parte dos arquivos de instalação do provedor de recursos do MySQL que você baixou para sua versão do Azure Stack Hub.

Importante

Antes de implantar o provedor de recursos, examine as notas sobre a versão para saber mais sobre novas funcionalidades, correções e quaisquer problemas conhecidos que possam afetar sua implantação.

Para implantar o provedor de recursos do MySQL, abra uma nova janela elevada do PowerShell (não o ISE do PowerShell) e altere para o diretório em que você extraiu os arquivos binários do provedor de recursos MySQL.

Importante

É altamente recomendável usar Clear-AzureRmContext -Scope CurrentUser e Clear-AzureRmContext -Scope Process para limpar o cache antes de executar a implantação ou atualizar o script.

Observação

Se você estiver implantando o provedor de recursos do MySQL Server V1 em um ambiente desconectado, copie o arquivo mysql-connector-net-6.10.5.msi para um caminho local. Forneça o nome do caminho usando o parâmetro DependencyFilesLocalPath .

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

  • Carrega os certificados e outros artefatos em uma conta de armazenamento no Azure Stack Hub.
  • Publica pacotes da galeria para que você possa implantar bancos de dados MySQL usando a galeria.
  • Publica um pacote de galeria para implantar servidores de hospedagem.
  • Implanta uma VM usando a imagem principal Windows Server 2016 ou a imagem do Windows Server do Complemento do Microsoft AzureStack que você baixou e instala o provedor de recursos MySQL.
  • Registra um registro DNS local que é mapeado para a VM do provedor de recursos.
  • Registra seu provedor de recursos com a Resource Manager local do Azure para a conta do operador.

Observação

Quando a implantação do provedor de recursos mySQL é iniciada, o grupo de recursos system.local.mysqladapter é criado. Pode levar até 75 minutos para concluir as implantações necessárias para esse grupo de recursos. Você não deve colocar nenhum outro recurso no grupo de recursos system.local.mysqladapter .

parâmetros de DeployMySqlProvider.ps1

Você pode especificar esses parâmetros na linha de comando. Se você não fizer isso ou se alguma validação de parâmetro falhar, será solicitado que você forneça os parâmetros necessários.

Nome do parâmetro Descrição Comentário ou valor padrão
CloudAdminCredential A credencial para o administrador de nuvem, necessária para acessar o ponto de extremidade privilegiado. Necessário
AzCredential As credenciais para a conta de administrador do serviço do Azure Stack Hub. Use as mesmas credenciais usadas para implantar o Azure Stack Hub. O script falhará se a conta usada com o AzCredential exigir mfator (autenticação multifator). Necessário
VMLocalCredential As credenciais para a conta de administrador local da VM do provedor de recursos MySQL. Necessário
PrivilegedEndpoint O endereço IP ou o nome DNS do ponto de extremidade privilegiado. Necessário
AzureEnvironment O ambiente do Azure da conta de administrador de serviço usada para implantar o Azure Stack Hub. Necessário apenas para implantações de Microsoft Entra. Os nomes de ambiente com suporte são AzureCloud, AzureUSGovernment ou se estiver usando uma ID de Microsoft Entra da China, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Somente para sistemas integrados, o arquivo .pfx do certificado deve ser colocado neste diretório. Para ambientes desconectados, baixe mysql-connector-net-6.10.5.msi para esse diretório. Opcionalmente, você pode copiar um Windows Update pacote MSU aqui. Opcional (obrigatório para sistemas integrados ou ambientes desconectados)
DefaultSSLCertificatePassword A senha do certificado .pfx. Necessário
MaxRetryCount O número de vezes que você deseja repetir cada operação se houver uma falha. 2
RetryDuration O intervalo de tempo limite entre repetições, em segundos. 120
Desinstalar Remove o provedor de recursos e todos os recursos associados (confira as notas a seguir). No
DebugMode Impede a limpeza automática em caso de falha. No
AcceptLicense Ignora o prompt para aceitar a licença gpl. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Implantar o provedor de recursos MySQL usando um script personalizado

Se você estiver implantando o provedor de recursos MySQL versão 1.1.33.0 ou versões anteriores, precisará instalar versões específicas dos módulos AzureRm.BootStrapper e Azure Stack Hub no PowerShell.

Se você estiver implantando o provedor de recursos do MySQL versão 1.1.47.0 ou posterior, o script de implantação baixará e instalará automaticamente os módulos necessários do PowerShell para que você desmarque C:\Arquivos de 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

Observação

No cenário desconectado, você precisa baixar os módulos necessários do PowerShell e registrar o repositório manualmente como um pré-requisito.

Para eliminar qualquer configuração manual ao implantar o provedor de recursos, você pode personalizar o script a seguir. Altere as informações e senhas da conta padrão conforme necessário para a implantaçã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 provedor de recursos for concluído, atualize o navegador para garantir que você possa ver as atualizações mais recentes e fechar a sessão atual do PowerShell.

Verificar a implantação da V1 usando o portal do Azure Stack Hub

  1. Entre no portal do administrador como o administrador do serviço.
  2. Selecione Grupos de Recursos.
  3. Selecione o sistema.<grupo de recursos location.mysqladapter>.
  4. Na página de resumo da Visão geral do grupo de recursos, não deve haver implantações com falha.
  5. Por fim, selecione Máquinas virtuais no portal do administrador para verificar se a VM do provedor 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 usando Microsoft Entra ID como provedor de identidade, verifique se a VM que instalou o provedor de recursos do MySQL Server tem conectividade de internet de saída.

Se houver a necessidade de obter o IP da VM que instalou o provedor de recursos do MySQL Server (ou seja, adicionar o IP à lista de permitidos do firewall), você precisará abrir um caso de suporte e fazer com que o engenheiro de suporte torne a assinatura do provedor de recursos do MySQL Server temporariamente visível. Em seguida, você pode localizar a VM na assinatura e obter seu IP.

Próximas etapas

Adicionar servidores de hospedagem