Implementar o fornecedor de recursos MySQL no Azure Stack HubDeploy the MySQL resource provider on 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.Use the MySQL Server resource provider to expose MySQL databases as an Azure Stack Hub service. O fornecedor de recursos MySQL funciona como um serviço numa máquina virtual do Server Core 2016 do Windows Server (para a versão do adaptador <= 1.1.47.0>) ou um RP Windows Server especial (para versão adaptador >= 1.1.93.0).The MySQL resource provider runs as a service on a Windows Server 2016 Server Core virtual machine (for adaptor version <= 1.1.47.0>) or a special Add-on RP Windows Server (for adaptor version >= 1.1.93.0).

Importante

Apenas o fornecedor de recursos é suportado para criar itens em servidores que hospedam SQL ou MySQL.Only the resource provider is supported to create items on servers that host SQL or MySQL. Os itens criados num servidor anfitrião que não são criados pelo fornecedor de recursos podem resultar num estado desajustado.Items created on a host server that aren't created by the resource provider might result in a mismatched state.

Pré-requisitosPrerequisites

Existem vários pré-requisitos que precisam de estar no lugar antes de poder implementar o fornecedor de recursos Azure Stack Hub MySQL.There are several prerequisites that need to be in place before you can deploy the Azure Stack Hub MySQL resource provider. Para satisfazer estes requisitos, complete os passos deste artigo num computador que possa aceder ao VM privilegiado.To meet these requirements, complete the steps in this article on a computer that can access the privileged endpoint VM.

  • Se ainda não o fez, registe o Azure Stack Hub com o Azure para que possa descarregar itens Azure Marketplace.If you haven't already, register Azure Stack Hub with Azure so you can download Azure Marketplace items.

  • Adicione o VM do Servidor do Windows necessário ao Azure Stack Hub Marketplace.Add the required Windows Server VM to Azure Stack Hub Marketplace.

    • Para a versão MySQL RP <= 1.1.47.0, descarregue o Datacenter Windows Server 2016 - Server Core image.For MySQL RP version <= 1.1.47.0, download the Windows Server 2016 Datacenter - Server Core image.
    • Para a versão MySQL RP >= 1.1.93.0, descarregue a imagem do Microsoft AzureStack Add-On RP Windows Server INTERNAL ONLY.For MySQL RP version >= 1.1.93.0, download the Microsoft AzureStack Add-On RP Windows Server INTERNAL ONLY image. Esta versão do Windows Server é especializada em Azure Stack Add-On RP Infrastructure e não é visível para o mercado de inquilinos.This Windows Server version is specialize for Azure Stack Add-On RP Infrastructure and it is not visible to the tenant marketplace.
  • Descarregue a versão suportada do fornecedor de recursos MySQL binary de acordo com a tabela de mapeamento da versão abaixo.Download the supported version of MySQL resource provider binary according to the version mapping table below. Faça o auto-extractor para extrair o conteúdo descarregado para um diretório temporário.Run the self-extractor to extract the downloaded contents to a temporary directory.

    Versão suportada do Azure Stack HubSupported Azure Stack Hub version Versão MySQL RPMySQL RP version Servidor do Windows que o serviço RP está em execuçãoWindows Server that RP service is running on
    2008, 20052008, 2005 MySQL RP versão 1.1.93.0MySQL RP version 1.1.93.0 Microsoft AzureStack Add-on RP Windows Server INTERNAL APENASMicrosoft AzureStack Add-on RP Windows Server INTERNAL ONLY
    2005, 2002, 19102005, 2002, 1910 MySQL RP versão 1.1.47.0MySQL RP version 1.1.47.0 Centro de dados do Windows Server 2016 - Núcleo do ServidorWindows Server 2016 Datacenter - Server Core
    19081908 MySQL RP versão 1.1.33.0MySQL RP version 1.1.33.0 Centro de dados do Windows Server 2016 - Núcleo do ServidorWindows Server 2016 Datacenter - Server Core

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.To deploy the MySQL provider on a system that doesn't have internet access, copy the mysql-connector-net-6.10.5.msi file to a local path. Forneça o nome do caminho utilizando o parâmetro DependencyFilesLocalPath.Provide the path name using the DependencyFilesLocalPath parameter.

Num cenário desligado, complete os seguintes passos para descarregar os módulos PowerShell necessários e registar o repositório manualmente.In a disconnected scenario, complete the following steps to download the required PowerShell modules and register the repository manually.

  1. Inscreva-se num computador com conectividade de internet e use os seguintes scripts para descarregar os módulos PowerShell.Sign in to a computer with internet connectivity and use the following scripts to download the PowerShell modules.
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.Depending on the version of resource provider that you are deploying, run one of the 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.Then you copy the downloaded packages to a USB device.

  2. Inscreva-se na estação de trabalho desligada e copie as embalagens do dispositivo USB para uma localização na estação de trabalho.Sign in to the disconnected workstation and copy the packages from the USB device to a location on the workstation.

  3. Registe este local como um repositório local.Register this location as a local repository.

# 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" 

CertificadosCertificates

Apenas para instalações de sistemas integrados.For integrated systems installations only. Deve fornecer o certificado PKI SQL PaaS descrito na secção opcional de certificados PaaS dos requisitos PKI de implantação do Azure Stack Hub.You must provide the SQL PaaS PKI certificate described in the optional PaaS certificates section of Azure Stack Hub deployment PKI requirements. Coloque o ficheiro .pfx no local especificado pelo parâmetro DependencyFilesLocalPath.Place the .pfx file in the location specified by the DependencyFilesLocalPath parameter. Não forneça um certificado para sistemas ASDK.Don't provide a certificate for ASDK systems.

Implementar o fornecedor de recursosDeploy the resource provider

Depois de ter instalado todos os pré-requisitos, pode executar o script DeployMySqlProvider.ps1 a partir de um computador que pode aceder tanto ao Endpoint de Gestão de Recursos Azure Stack Admin Azure como ao Privileged Endpoint para implementar o fornecedor de recursos MySQL.After you've installed all the prerequisites, you can run the DeployMySqlProvider.ps1 script from a computer that can access both the Azure Stack Hub Admin Azure Resource Management Endpoint and Privileged Endpoint to deploy the MySQL resource provider. 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.The DeployMySqlProvider.ps1 script is extracted as part of the MySQL resource provider installation files that you downloaded for your version of Azure Stack Hub.

Importante

Antes de implementar o fornecedor de recursos, reveja as notas de lançamento para saber mais sobre novas funcionalidades, correções e quaisquer problemas conhecidos que possam afetar a sua implementação.Before deploying the resource provider, review the release notes to learn about new functionality, fixes, and any known issues that could affect your deployment.

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.To deploy the MySQL resource provider, open a new elevated PowerShell window (not PowerShell ISE) and change to the directory where you extracted the MySQL resource provider binary files.

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 atualização.We strongly recommend using Clear-AzureRmContext -Scope CurrentUser and Clear-AzureRmContext -Scope Process to clear the cache before running the update script.

Executar o DeployMySqlProvider.ps1 script, que completa as seguintes tarefas:Run the DeployMySqlProvider.ps1 script, which completes the following tasks:

  • Envia os certificados e outros artefactos para uma conta de armazenamento no Azure Stack Hub.Uploads the certificates and other artifacts to a storage account on Azure Stack Hub.
  • Publica pacotes de galeria para que possa implementar bases de dados MySQL utilizando a galeria.Publishes gallery packages so that you can deploy MySQL databases using the gallery.
  • Publica um pacote de galeria para implantação de servidores de hospedagem.Publishes a gallery package for deploying hosting servers.
  • Implementa um VM utilizando a imagem central do Windows Server 2016 ou a imagem do Microsoft AzureStack Add-on RP Windows Server que descarregou e, em seguida, instala o fornecedor de recursos MySQL.Deploys a VM using the Windows Server 2016 core image or Microsoft AzureStack Add-on RP Windows Server image you downloaded, and then installs the MySQL resource provider.
  • Regista um registo de DNS local que mapeia para o seu fornecedor de recursos VM.Registers a local DNS record that maps to your resource provider VM.
  • Regista o seu fornecedor de recursos com o Gestor de Recursos Azure local para a conta do operador.Registers your resource provider with the local Azure Resource Manager for the operator account.

Nota

Quando a implementação do fornecedor de recursos MySQL começa, o grupo de recursos system.local.mysqladapter é criado.When the MySQL resource provider deployment starts, the system.local.mysqladapter resource group is created. Pode levar até 75 minutos para terminar as implementações necessárias a este grupo de recursos.It may take up to 75 minutes to finish the deployments required to this resource group. Não deve colocar quaisquer outros recursos no grupo de recursos system.local.mysqladapter.You should not place any other resources in the system.local.mysqladapter resource group.

DeployMySqlProvider.ps1 parâmetrosDeployMySqlProvider.ps1 parameters

Pode especificar estes parâmetros a partir da linha de comando.You can specify these parameters from the command line. Se não o fizer, ou se alguma validação de parâmetros falhar, é solicitado que forneça os parâmetros necessários.If you don't, or if any parameter validation fails, you're prompted to provide the required parameters.

Nome do parâmetroParameter name DescriçãoDescription Comentário ou valor predefinidoComment or default value
CloudAdminCredentialCloudAdminCredential A credencial para o administrador de nuvem, necessária para aceder ao ponto final privilegiado.The credential for the cloud administrator, necessary for accessing the privileged endpoint. ObrigatórioRequired
AzCredentialAzCredential As credenciais para a conta de administração do serviço Azure Stack Hub.The credentials for the Azure Stack Hub service admin account. Use as mesmas credenciais que usou para implantar o Azure Stack Hub.Use the same credentials that you used for deploying Azure Stack Hub. O script falhará se a conta que utilizar com a AzCredential necessitar de autenticação multi-factor (MFA).The script will fail if the account you use with AzCredential requires multi-factor authentication (MFA). ObrigatórioRequired
VMLocalCredentialVMLocalCredential As credenciais para a conta de administrador local do fornecedor de recursos MySQL VM.The credentials for the local administrator account of the MySQL resource provider VM. ObrigatórioRequired
Ponto privilegiadoPrivilegedEndpoint O endereço IP ou o nome DNS do ponto final privilegiado.The IP address or DNS name of the privileged endpoint. ObrigatórioRequired
AzureEnvironmentAzureEnvironment O ambiente Azure da conta de administração de serviço usada para a implantação do Azure Stack Hub.The Azure environment of the service admin account used for deploying Azure Stack Hub. Requerido apenas para implementações AZure AD.Required only for Azure AD deployments. Os nomes ambientais suportados são AzureCloud, AzureUSGovernment, ou se usando um AD AZure China, AzureChinaCloud.Supported environment names are AzureCloud, AzureUSGovernment, or if using a China Azure AD, AzureChinaCloud. AzureCloudAzureCloud
DependênciaFilesLocalPathDependencyFilesLocalPath Apenas para sistemas integrados, o seu ficheiro certificado .pfx deve ser colocado neste diretório.For integrated systems only, your certificate .pfx file must be placed in this directory. Para ambientes desligados, faça o downloadmysql-connector-net-6.10.5.msi para este diretório.For disconnected environments, download mysql-connector-net-6.10.5.msi to this directory. Pode copiar opcionalmente um pacote MSU do Windows Update aqui.You can optionally copy one Windows Update MSU package here. Opcional (obrigatório para sistemas integrados ou ambientes desligados)Optional (mandatory for integrated systems or disconnected environments)
Palavra-passe defaultsslcertateDefaultSSLCertificatePassword A senha do certificado .pfx.The password for the .pfx certificate. ObrigatórioRequired
MaxRetryCountMaxRetryCount O número de vezes que quer repetir cada operação se houver uma falha.The number of times you want to retry each operation if there's a failure. 22
RetripduraçãoRetryDuration O intervalo de tempo entre as recauchutagens, em segundos.The timeout interval between retries, in seconds. 120120
DesinstalarUninstall Remove o fornecedor de recursos e todos os recursos associados (ver as seguintes notas).Removes the resource provider and all associated resources (see the following notes). NãoNo
DebugModeDebugMode Evita a limpeza automática em avarias.Prevents automatic cleanup on failure. NãoNo
Aceitar ALicenseAcceptLicense Ignora o pedido para aceitar a licença GPL.Skips the prompt to accept the GPL license. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Implemente o fornecedor de recursos MySQL usando um script personalizadoDeploy the MySQL resource provider using a custom script

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.If you are deploying the MySQL resource provider version 1.1.33.0 or previous versions, you need to install specific versions of AzureRm.BootStrapper and Azure Stack Hub modules in 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.If you are deploying the MySQL resource provider version 1.1.47.0 or later, the deployment script will automatically download and install the necessary PowerShell modules for you to path 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.In disconnected scenario, you need to download the required PowerShell modules and register the repository manually as a prerequisite.

Para eliminar qualquer configuração manual ao implementar o fornecedor de recursos, pode personalizar o seguinte script.To eliminate any manual configuration when deploying the resource provider, you can customize the following script. Altere as informações e palavras-passe da conta predefinidas conforme necessário para a sua implementação do Azure Stack Hub.Change the default account information and passwords as needed for your Azure Stack Hub deployment.

# 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.When the resource provider installation script finishes, refresh your browser to make sure you can see the latest updates and close the current PowerShell session.

Verifique a implementação utilizando o portal Azure Stack HubVerify the deployment by using the Azure Stack Hub portal

  1. Inscreva-se no portal do administrador como administrador de serviço.Sign in to the administrator portal as the service admin.
  2. Selecione Grupos de Recursos.Select Resource Groups.
  3. Selecione o <location> sistema. . grupo de recursos mysqladapter.Select the system.<location>.mysqladapter resource group.
  4. Na página de resumo do grupo de recursos, não deve haver implementações falhadas.On the summary page for Resource group Overview, there should be no failed deployments.
  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.Finally, select Virtual machines in the administrator portal to verify that the MySQL resource provider VM was successfully created and is running.

Passos seguintesNext steps

Adicionar servidores de hospedagemAdd hosting servers