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:
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.
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.
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.
- Depois de atualizar com êxito a instância do Azure Stack Hub para 1910 ou superior, siga as instruções para clonar/transferir o repositório ferramentas do Azure Stack Hub.
- Em seguida, siga as instruções para Atualizar o Azure Stack Hub Microsoft Entra Home Directory (depois de instalar atualizações ou novos Fornecedores de Recursos).
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.
- 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.
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"
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
Em seguida, copie os pacotes transferidos para um dispositivo USB.
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.
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
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.
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".
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.
Pré-requisitos da instalação
Em seguida, será transferido para a página de instalação. Selecione Instalar Pré-requisitos para iniciar o processo de instalação.
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.
Preparar segredos
Abaixo do 2. Preparar o passo segredos , selecione Adicionar certificado e será apresentado o painel Adicionar um certificado .
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.
Introduza a palavra-passe que forneceu para criar uma cadeia segura para SQL Server Certificado SSL do fornecedor de recursos. Em seguida, selecione Adicionar.
Configurar e instalar o fornecedor de recursos
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.
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".
Carregue o ficheiro mysql-connector-net-8.0.21.msi da pasta local para o contentor de armazenamento criado recentemente.
Importante
Certifique-se de que a versão do Conector MySQL é 8.0.21.
Copie o URI do blob.
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.
Em seguida, verá a página seguinte, que indica que o fornecedor de recursos MySQL está a ser instalado.
Aguarde pela notificação de instalação concluída. Normalmente, este processo demora uma ou mais horas, consoante o tipo do Azure Stack Hub.
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".
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
- Inicie sessão no portal de administrador como administrador do serviço.
- Selecione Grupos de Recursos.
- Selecione o sistema.<location.mysqladapter> resource group.
- Na página de resumo da Descrição Geral do Grupo de recursos, não devem existir implementações falhadas.
- 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.