Implantar o provedor de recursos MySQL no Azure Stack Hub

Importante

Os provedores de recursos SQL e MySQL para Azure Stack Hub são preteridos e não estão disponíveis para integração de novos clientes. Em vez disso, implante SQL ou MySQL diretamente em máquinas virtuais e gerencie-as usando ferramentas e práticas padrão. As implantações existentes dos provedores de recursos continuam tendo suporte, mas não há planos para o desenvolvimento de novos recursos nem para a incorporação de novos provedores.

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 do Windows Server 2016 Server Core.

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

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 no Azure, caso ainda não tenha feito isso. Você precisa registrar sua instância de Azure Stack Hub com Azure porque você estará se conectando a Azure e baixando itens do marketplace.

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

  3. Atualize o diretório inicial do Microsoft Entra. A partir do build 1910, você deve registrar um novo aplicativo no locatário do diretório inicial. Esse aplicativo permite que 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 ação é necessária após a atualização para o build 1910 ou mais recente. Se você não concluir esta etapa, as instalações do provedor de recursos do marketplace falharão.

Pré-requisitos do provedor de recursos do MySQL Server

  • Você precisa de um computador e uma conta que possa acessar:

    • o portal de administrador do Azure Stack Hub.
    • o endpoint privilegiado (necessário somente quando você estiver 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 Azure Resource Manager, https://adminmanagement.region.<fqdn>, em que <fqdn> é seu nome de domínio totalmente qualificado.
    • a Internet, se o Azure Stack Hub foi implantado para usar o Microsoft Entra ID como 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 na seção a seguir. Para o provedor de recursos MySQL V2, baixe o item do marketplace para o Azure Stack Hub.

    Versão com suporte do Azure Stack Hub Versão de 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 Microsoft AzureStack Add-on RP para Windows Server 1.2009.0
    2108, 2206 MySQL RP versão 2.0.6.x Microsoft AzureStack Complemento RP Windows Server 1.2009.0
  • Verifique se a VM necessária do Windows Server foi baixada para o Azure Stack Hub Marketplace. Baixe manualmente a imagem de acordo com a tabela de mapeamento de versão, se necessário.

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

    Pré-requisito Referência
    O encaminhamento condicional de DNS está configurado 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
    O assunto do certificado PKI e o SAN são definidos corretamente. Pré-requisitos obrigatórios de PKI para implantação do Azure Stack HubPré-requisitos de certificados PaaS para 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 as instruções em baixar itens do Marketplace para o Azure Stack Hub para baixar o item do provedor de recursos do MySQL Server e o item do RP complementar do Windows Server para o seu 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, você copia 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 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 você ainda não fez isso, entre no portal do administrador do Azure Stack Hub, selecione Marketplace Management à esquerda e selecione Resource providers.

  2. Depois de baixar o provedor de recursos MySQL e outros softwares necessários, o Gerenciamento do Marketplace mostra os pacotes "Provedor de recursos do MySQL Server" com o status "Não instalado". Você pode ver outros pacotes que exibem 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 o banner para iniciar a instalação. Captura de tela do início da instalação do RP no 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 de 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 da instalação bem-sucedida dos pré-requisitos de gerenciamento de marketplace.

Preparar segredos

  1. Na etapa 2. Preparar segredos, selecione Adicionar certificado. O painel Adicionar um certificado é exibido. Captura de tela dos segredos de preparação 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 o Certificado SSL do provedor de recursos do SQL Server. Em seguida, selecioneAdicionar. Captura de tela do gerenciamento do marketplace: adicionar certificado.

Configurar e instalar o provedor de recursos

  1. Quando a instalação do certificado for concluída com êxito, você verá uma marca de seleção verde ao lado de Prepare secrets. Agora, selecione o botão Configurar + Instalar ao lado de 3 Instalar provedor de recursos. Captura de tela do início da instalação do RP no gerenciamento do marketplace.

  2. Em seguida, forneça um URI de blob do Azure Stack Hub para o MySQL Connector.

    • 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 mysql-connector-net-8.0.21.msi arquivo da pasta local para o contêiner de armazenamento recém-criado. Captura de tela do carregamento do Conector 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 ação de copiar o URI do Conector MySQL.

    • Volte para a página de configuração de RP do MySQL. Cole o URI do blob (por exemplo) https://<storageAccountName>.blob.<region>.<FQDN>/<containerName>/mysql-connector-net-8.0.21.msina caixa de texto e selecione OK. Captura de tela do fornecimento do URI do MySQL Connector.

  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 em andamento do RP de gerenciamento de marketplace.

  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 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 administrador do Azure Stack Hub do Azure Resource Manager e o ponto de extremidade privilegiado para implantar o provedor de recursos MySQL. O script DeployMySqlProvider.ps1 é extraído como parte dos arquivos de instalação do provedor de recursos MySQL que você baixou para sua versão do Azure Stack Hub.

Importante

Antes de implantar o provedor de recursos, examine as notas de 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 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

Use 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 catálogo para implantação em servidores de hospedagem.
  • Implanta uma VM usando a imagem do Windows Server 2016 Core ou a imagem do Windows Server do RP de complemento do Microsoft Azure Stack que você baixou e, em seguida, instala o provedor de recursos MySQL.
  • Registra um registro DNS local que é mapeado para sua VM do provedor de recursos.
  • Registra seu provedor de recursos no Azure Resource Manager local 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. Não coloque outros recursos no grupo de recursos system.local.mysqladapter .

parâmetros de DeployMySqlProvider.ps1

Especifique esses parâmetros da linha de comando. Se você não especificá-los ou se alguma validação de parâmetro falhar, o script solicitará que você forneça os parâmetros necessários.

Nome do parâmetro Descrição Comentário ou valor padrão
CloudAdminCredential A credencial de acesso do administrador da nuvem, necessária para acessar o endpoint privilegiado. Obrigatório
AzCredential As credenciais para a conta de administrador de serviços 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 MFA (autenticação multifator). Obrigatório
VMLocalCredential As credenciais para a conta de administrador local da VM do provedor de recursos MySQL. Obrigatório
PrivilegedEndpoint O endereço IP ou o nome DNS do endpoint privilegiado. Obrigatório
AzureEnvironment O ambiente do Azure da conta de administrador de serviço usada para implantar o Azure Stack Hub. Necessário somente para implantações do Microsoft Entra. Os nomes de ambiente com suporte são AzureCloud, AzureUSGovernment ou se estiverem usando uma ID do Microsoft Entra da China, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Somente para sistemas integrados, coloque o arquivo .pfx do certificado neste diretório. Para ambientes desconectados, baixe mysql-connector-net-6.10.5.msi neste diretório. Opcionalmente, você pode copiar um pacote MSU do Windows Update aqui. Opcional (obrigatório para sistemas integrados ou ambientes desconectados)
DefaultSSLCertificatePassword A senha do certificado .pfx. Obrigató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 novas tentativas, em segundos. 120
Desinstalar Remove o provedor de recursos e todos os recursos associados (confira as notas a seguir). Não
DebugMode Impede a limpeza automática em caso de falha. Não
AcceptLicense Ignora a solicitação de aceitação da 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, será necessário 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 o caminho C:\Program Files\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, personalize 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. Selecionar Grupos de recursos.
  3. Selecione o grupo de recursos system.<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 a ID do Microsoft Entra

Se o Azure Stack Hub estiver usando Microsoft Entra ID como um provedor de identidade, verifique se a VM que instala o provedor de recursos do MySQL Server tem conectividade de saída com a Internet.

Próximas etapas

Adicionar servidores de hospedagem