Implantar o provedor de recursos do MySQL no Hub de Azure Stack

Use o provedor de recursos do MySQL Server para expor bancos de dados MySQL como um serviço de Hub Azure Stack. o provedor de recursos do MySQL é executado como um serviço em uma máquina virtual do Windows Server 2016 Server Core (para a versão do adaptador < = 1.1.47.0 > ) ou um servidor de Windows RP de um complemento especial (para a versão do adaptador > = 1.1.93.0).

Importante

somente o provedor de recursos deve criar itens em servidores que hospedam SQL ou 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

Há vários pré-requisitos que precisam estar em vigor para que você possa implantar o provedor de recursos MySQL do hub de Azure Stack:

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

    • o portal do administrador do hub de Azure Stack.
    • o ponto de extremidade privilegiado.
    • o ponto de extremidade do administrador do Azure Resource Manager, https://management.region.<fqdn> , em que <fqdn> é o nome de domínio totalmente qualificado (ou https://management.local.azurestack.external se estiver usando o ASDK)
    • a Internet, se o Hub de Azure Stack foi implantado para usar Azure Active Directory (AD do Azure) como seu provedor de identidade.
  • Se você ainda não fez isso, registre Azure Stack Hub com o Azure para poder baixar itens do Azure Marketplace.

  • adicione a VM do servidor Windows necessária ao Marketplace do Hub Azure Stack.

    • para o MySQL RP versão < = 1.1.47.0, baixe a imagem do < .
    • para o MySQL RP versão > = 1.1.93.0, baixe a imagem do > . essa versão do Windows Server é especializada para Azure Stack infraestrutura Add-On RP e não é visível para o marketplace do locatário.
  • Baixe a versão com suporte do binário do provedor de recursos do MySQL de acordo com a tabela de mapeamento de versão abaixo. Execute o Autoextrator para extrair o conteúdo baixado para um diretório temporário.

    Versão do hub de Azure Stack com suporte Versão do MySQL RP Windows servidor em que o serviço RP está sendo executado
    2102, 2008, 2005 MySQL RP versão 1.1.93.5 Microsoft AzureStack para o servidor de Windows RP
    2005, 2002, 1910 MySQL RP versão 1.1.47.0 datacenter Windows Server 2016-Server Core
    1908 MySQL RP versão 1.1.33.0 datacenter Windows Server 2016-Server Core

Observação

Para implantar o provedor MySQL em um sistema que não tem acesso à Internet, copie o arquivo mysql-connector-net-6.10.5.msi em um caminho local. Forneça o nome do caminho usando o parâmetro DependencyFilesLocalPath .

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"
  1. 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
  1. Em seguida, você copia os pacotes baixados para um dispositivo USB.

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

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

Certificados

Somente para instalações de sistemas integrados. você deve fornecer o certificado de pki de paas SQL descrito na seção certificados de paas opcionais de requisitos de pki de implantação de Hub Azure Stack. Coloque o arquivo. pfx no local especificado pelo parâmetro DependencyFilesLocalPath . Não forneça um certificado para sistemas ASDK.

Implantar o provedor de recursos

Depois de concluir todos os pré-requisitos, você poderá executar o script de DeployMySqlProvider.ps1 de um computador que possa acessar o Hub de Azure Stack Azure Resource Manager ponto de extremidade de administrador e o ponto de extremidade com privilégios, para implantar o provedor de recursos MySQL. O script de 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 hub de Azure Stack.

Importante

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

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

Importante

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

Execute o script DeployMySqlProvider.ps1 , que conclui as seguintes tarefas:

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

Observação

Quando a implantação do provedor de recursos do 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 inserir nenhum outro recurso no grupo de recursos System. local. mysqladapter .

DeployMySqlProvider.ps1 parâmetros

Você pode especificar esses parâmetros na linha de comando. Se não tiver, ou se alguma validação falhar, você será solicitado a fornecer 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 Hub do Azure Stack. Use as mesmas credenciais que você usou para implantar Azure Stack Hub. O script falhará se a conta usada com o AzCredential exigir autenticação multifator (MFA). 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 com privilégios. Necessário
AzureEnvironment O ambiente do Azure da conta de administrador de serviço usada para implantar Azure Stack Hub. Necessário apenas para implantações do Azure AD. Os nomes de ambiente com suporte são AzureCloud, AzureUSGovernmentou se estiver usando um Azure ad da China, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Somente para sistemas integrados, o arquivo .pfx do certificado deve ser colocado nesse diretório. Para ambientes desconectados, baixe mysql-connector-net-6.10.5.msi para esse diretório. Opcionalmente, você pode copiar um Windows atualizar 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 de tempo entre as recuperações, em segundos. 120
Desinstalar Remove o provedor de recursos e todos os recursos associados (consulte as notas a seguir). Não
DebugMode Impede a limpeza automática em caso de falha. Não
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 do AzureRm.BootStrapper e módulos Azure Stack Hub no PowerShell. Se você estiver implantando o provedor de recursos 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ê caminho 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 de conta padrão e senhas conforme necessário para sua implantação Azure Stack Hub aplicativo.

# 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 finalizado, atualize o navegador para garantir que você possa ver as atualizações mais recentes e fechar a sessão atual do PowerShell.

Verifique a implantação usando o portal de Azure Stack Hub

  1. Entre no portal do administrador como o administrador do serviço.
  2. Selecione Grupos de Recursos.
  3. Selecione o sistema. location > .mysqladapter resource group.
  4. Na página de resumo da Visão geral do grupo de recursos, não deve haver nenhuma implantação 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 o Azure AD

Se o Azure Stack Hub estiver usando o Azure AD como um provedor de identidade, certifique-se de que a VM que instalou o MySQL RP tenha conectividade com a Internet de saída.

Próximas etapas

Adicionar servidores de hospedagem