Implementar o fornecedor de recursos MySQL no Azure Stack Hub

Utilize o fornecedor de recursos do MySQL Server para expor as bases de dados mySQL como um serviço Azure Stack Hub. O fornecedor de recursos MySQL funciona como um serviço numa máquina virtual Windows Server 2016 Server Core (para a versão adaptador < = 1.1.47.0) > ou um Servidor especial de Windows RP (para versão adaptador > = 1.1.93.0).

Importante

Apenas o fornecedor de recursos deve criar itens em servidores que acolhem SQL ou 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

Existem vários pré-requisitos que precisam de estar em vigor antes de poder implementar o fornecedor de recursos Azure Stack Hub MySQL:

  • Vai precisar de um computador e uma conta que possam aceder:

    • o portal de administrador do Azure Stack Hub.
    • o ponto final privilegiado.
    • o ponto final do administrador Azure Resource Manager, https://management.region.<fqdn> onde está o seu nome de domínio totalmente qualificado <fqdn> (ou se utilizar o https://management.local.azurestack.external ASDK)
    • a Internet, se o seu Azure Stack Hub foi implantado para utilizar Azure Ative Directory (Azure AD) como seu fornecedor de identidade.
  • Se ainda não o fez, registe o Azure Stack Hub com o Azure para que possa descarregar itens Azure Marketplace.

  • Adicione o Windows VM do servidor necessário ao Azure Stack Hub Marketplace.

    • Para a versão MySQL RP < = 1.1.47.0, descarregue a <
    • Para a versão MySQL RP > = 1.1.93.0, descarregue a imagem > Esta versão Windows Server é especializada em Azure Stack Add-On RP Infrastructure e não é visível para o mercado de inquilinos.
  • Descarregue a versão suportada do fornecedor de recursos MySQL binary de acordo com a tabela de mapeamento da versão abaixo. Faça o auto-extractor para extrair o conteúdo descarregado para um diretório temporário.

    Versão suportada do Azure Stack Hub Versão MySQL RP Windows Servidor que o serviço RP está em execução
    2102, 2008, 2005 MySQL RP versão 1.1.93.5 Microsoft AzureStack Add-on RP Windows Server
    2005, 2002, 1910 MySQL RP versão 1.1.47.0 datacenter Windows Server 2016 - Núcleo do Servidor
    1908 MySQL RP versão 1.1.33.0 datacenter Windows Server 2016 - Núcleo do Servidor

Nota

Para implementar o fornecedor MySQL num sistema que não tenha acesso à Internet, copie o ficheiromysql-connector-net-6.10.5.msi para um caminho local. Forneça o nome do caminho utilizando o parâmetro DependencyFilesLocalPath.

Num cenário desligado, complete os seguintes passos para descarregar os módulos PowerShell necessários e registar o repositório manualmente.

  1. Inscreva-se num computador com conectividade internet e use os seguintes scripts para descarregar os módulos 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"
  1. Dependendo da 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
  1. Em seguida, copia os pacotes descarregados para um dispositivo USB.

  2. Inscreva-se na estação de trabalho desligada e copie as embalagens do dispositivo USB para um local na estação de trabalho.

  3. Registe este 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" 

Certificados

Apenas para instalações de sistemas integrados. Deve fornecer o certificado PKI SQL descrito na secção opcional de certificados PaaS dos requisitos PKI de implantação do Azure Stack Hub. Coloque o ficheiro .pfx no local especificado pelo parâmetro DependencyFilesLocalPath. Não forneça um certificado para sistemas ASDK.

Implementar o fornecedor de recursos

Depois de ter completado todos os pré-requisitos, pode executar o script DeployMySqlProvider.ps1 a partir de um computador que pode aceder tanto ao ponto final do Azure Stack Hub Azure Resource Manager como ao ponto final privilegiado, para implementar o fornecedor de recursos MySQL. O script DeployMySqlProvider.ps1 é extraído como parte dos ficheiros de instalação do fornecedor de recursos MySQL que descarregou para a sua versão do Azure Stack Hub.

Importante

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

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

Importante

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

Executar o DeployMySqlProvider.ps1script, que completa as seguintes tarefas:

  • Envia 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 utilizando a galeria.
  • Publica um pacote de galeria para implantação de servidores de hospedagem.
  • Implementa um VM utilizando a imagem central Windows Server 2016 ou o Microsoft AzureStack Add-on RP Windows imagem do Servidor que descarregou e, em seguida, instala o fornecedor de recursos MySQL.
  • Regista um registo de DNS local que mapeia para o seu fornecedor de recursos VM.
  • Regista o seu fornecedor de recursos com o Gestor de Recursos Azure local para a conta do operador.

Nota

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

DeployMySqlProvider.ps1 parâmetros

Pode especificar estes parâmetros a partir da linha de comando. Se não o fizer, ou se alguma validação de parâmetros falhar, é solicitado que forneça os parâmetros necessários.

Nome do parâmetro Descrição Comentário ou valor predefinido
CloudAdminCredential A credencial para o administrador da nuvem, necessária para aceder ao ponto final privilegiado. Obrigatório
AzCredential As credenciais para a conta de administração do Azure Stack Hub. Use as mesmas credenciais que usou para implantar o Azure Stack Hub. O script falhará se a conta que utilizar com o AzCredential necessitar de autenticação multi-factor (MFA). Obrigatório
VMLocalCredential As credenciais para a conta de administrador local do fornecedor de recursos MySQL VM. Obrigatório
Ponto privilegiado O endereço IP ou o nome DNS do ponto final privilegiado. Obrigatório
AzureEnvironment O ambiente Azure da conta de administração de serviço utilizada para a implantação do Azure Stack Hub. Requerido apenas para implementações AZure AD. Os nomes do ambiente suportados são AzureCloud, AzureUSGovernment,ou se usando um AD AZure China, AzureChinaCloud. AzureCloud
DependênciaFilesLocalPath Apenas para sistemas integrados, o seu ficheiro certificado .pfx deve ser colocado neste diretório. Para ambientes desligados, faça o downloadmysql-connector-net-6.10.5.msi para este diretório. Pode copiar opcionalmente um pacote MSU Windows atualização aqui. Opcional(obrigatório para sistemas integrados ou ambientes desligados)
Palavra-passe defaultsslcertificatePassword A senha do certificado .pfx. Obrigatório
MaxRetryCount O número de vezes que pretende voltar a tentar cada operação se houver uma falha. 2
Retripduração O intervalo de tempo entre as recauchutagens, em segundos. 120
Desinstalar Remove o fornecedor de recursos e todos os recursos associados (ver as seguintes notas). No
DebugMode Evita a limpeza automática em avarias. No
Aceitar ALicense Ignora o pedido para aceitar a licença GPL. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Implemente o fornecedor de recursos MySQL usando um script personalizado

Se estiver a implementar a versão 1.1.33.0 ou as versões anteriores do fornecedor de recursos MySQL, tem 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 descarregará automaticamente e instalará os módulos PowerShell necessários para que possa seguir 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

Nota

Em cenário desconectado, é necessário descarregar os módulos PowerShell necessários e registar o repositório manualmente como pré-requisito.

Para eliminar qualquer configuração manual ao implementar o fornecedor de recursos, pode personalizar o seguinte script. Altere as informações e palavras-passe da conta predefinidas conforme necessário para a sua 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, refresque o seu navegador para se certificar de que pode ver as últimas atualizações e fechar a sessão atual do PowerShell.

Verifique a implementação utilizando o portal Azure Stack Hub

  1. Inscreva-se no portal do administrador como administrador de serviço.
  2. Selecione Grupos de Recursos.
  3. Selecione o sistema. localização > .mysqladapter grupo de recursos.
  4. Na página de resumo do grupo de recursos, não deve haver implementações falhadas.
  5. Por fim, selecione máquinas Virtuais no portal do administrador para verificar se o fornecedor de recursos MySQL VM foi criado com sucesso e está em execução.

Configuração importante para Azure AD

Se o seu Azure Stack Hub estiver a utilizar o Azure AD como fornecedor de identidade, certifique-se de que o VM que instalou o MySQL RP tem conectividade de saída na Internet.

Passos seguintes

Adicionar servidores de hospedagem