Implantar o provedor de recursos do MySQL no Hub de Azure StackDeploy the MySQL resource provider on Azure Stack Hub

Use o provedor de recursos do MySQL Server para expor bancos de dados MySQL como um serviço de Hub Azure Stack.Use the MySQL Server resource provider to expose MySQL databases as an Azure Stack Hub service. 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 complemento especial do RP do Windows Server (para a versão do 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

Somente o provedor de recursos tem suporte para criar itens em servidores que hospedam o SQL ou o MySQL.Only the resource provider is supported to create items on servers that host SQL or MySQL. Os itens criados em um servidor host que não são criados pelo provedor de recursos podem resultar em um estado incompatível.Items created on a host server that aren't created by the resource provider might result in a mismatched state.

Pré-requisitosPrerequisites

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.There are several prerequisites that need to be in place before you can deploy the Azure Stack Hub MySQL resource provider. Para atender a esses requisitos, conclua as etapas neste artigo em um computador que possa acessar a VM de ponto de extremidade privilegiado.To meet these requirements, complete the steps in this article on a computer that can access the privileged endpoint VM.

  • Se você ainda não fez isso, registre Azure Stack Hub com o Azure para poder baixar itens do Azure Marketplace.If you haven't already, register Azure Stack Hub with Azure so you can download Azure Marketplace items.

  • Adicione a VM do Windows Server necessária ao Azure Stack Marketplace do Hub.Add the required Windows Server VM to Azure Stack Hub Marketplace.

    • Para o MySQL RP versão <= 1.1.47.0, baixe a imagem do Windows server 2016 Datacenter-Server Core .For MySQL RP version <= 1.1.47.0, download the Windows Server 2016 Datacenter - Server Core image.
    • Para o MySQL RP versão >= 1.1.93.0, baixe o Microsoft AzureStack Add-On RP somente a imagem interna do Windows Server .For MySQL RP version >= 1.1.93.0, download the Microsoft AzureStack Add-On RP Windows Server INTERNAL ONLY image. 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.This Windows Server version is specialize for Azure Stack Add-On RP Infrastructure and it is not visible to the tenant marketplace.
  • 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.Download the supported version of MySQL resource provider binary according to the version mapping table below. Execute o Autoextrator para extrair o conteúdo baixado para um diretório temporário.Run the self-extractor to extract the downloaded contents to a temporary directory.

    Versão do hub de Azure Stack com suporteSupported Azure Stack Hub version Versão do MySQL RPMySQL RP version Windows Server em que o serviço RP está sendo executadoWindows 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 complemento RP Windows Server somente internoMicrosoft 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 Windows Server 2016 Datacenter-Server CoreWindows Server 2016 Datacenter - Server Core
    19081908 MySQL RP versão 1.1.33.0MySQL RP version 1.1.33.0 Windows Server 2016 Datacenter-Server CoreWindows Server 2016 Datacenter - 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.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 usando o parâmetro DependencyFilesLocalPath .Provide the path name using the DependencyFilesLocalPath parameter.

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.In a disconnected scenario, complete the following steps to download the required PowerShell modules and register the repository manually.

  1. Entre em um computador com conectividade com a Internet e use os scripts a seguir para baixar os módulos do 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 provedor de recursos que você está implantando, 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, você copia os pacotes baixados para um dispositivo USB.Then you copy the downloaded packages to a USB device.

  2. Entre na estação de trabalho desconectada e copie os pacotes do dispositivo USB para um local 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. Registre esse 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

Somente para instalações de sistemas integrados.For integrated systems installations only. Você deve fornecer o certificado PKI de PaaS do SQL descrito na seção certificados PaaS opcionais de Azure Stack os requisitos de PKI de implantação de 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 arquivo. 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.

Implantar o provedor de recursosDeploy the resource provider

Depois de instalar todos os pré-requisitos, você poderá executar o script de DeployMySqlProvider.ps1 de um computador que possa acessar o ponto de extremidade de administração de Hub Azure Stack do Azure Resource Management e o ponto de extremidade privilegiado para implantar o provedor de recursos do 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 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.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 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.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 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.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

É altamente recomendável usar o processo CurrentUser-AzureRmContext-Scope clara e Clear-AzureRmContext-Scope para limpar o 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.

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

  • Carrega os certificados e outros artefatos em uma conta de armazenamento no Hub Azure Stack.Uploads the certificates and other artifacts to a storage account on Azure Stack Hub.
  • Publica pacotes da galeria para que você possa implantar bancos de dados MySQL usando a galeria.Publishes gallery packages so that you can deploy MySQL databases using the gallery.
  • Publica um pacote da galeria para implantar servidores de hospedagem.Publishes a gallery package for deploying hosting servers.
  • Implanta uma VM usando a imagem do Windows Server 2016 core ou a imagem do Windows Server do Microsoft AzureStack com o complemento RP que você baixou e instala o provedor de recursos do 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.
  • Registra um registro DNS local que mapeia para a VM do provedor de recursos.Registers a local DNS record that maps to your resource provider VM.
  • Registra o provedor de recursos com o Azure Resource Manager local da conta do operador.Registers your resource provider with the local Azure Resource Manager for the operator account.

Observação

Quando a implantação do provedor de recursos do MySQL é iniciada, 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 concluir as implantações necessárias para esse grupo de recursos.It may take up to 75 minutes to finish the deployments required to this resource group. Você não deve inserir nenhum outro recurso 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

Você pode especificar esses parâmetros na linha de comando.You can specify these parameters from the command line. Se não tiver, ou se alguma validação falhar, você será solicitado a fornecer 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 padrãoComment or default value
CloudAdminCredentialCloudAdminCredential A credencial para o administrador de nuvem, necessária para acessar o ponto de extremidade privilegiado.The credential for the cloud administrator, necessary for accessing the privileged endpoint. NecessáriaRequired
AzCredentialAzCredential As credenciais para a conta de administrador do serviço Hub do Azure Stack.The credentials for the Azure Stack Hub service admin account. Use as mesmas credenciais que você usou para implantar Azure Stack Hub.Use the same credentials that you used for deploying Azure Stack Hub. O script falhará se a conta usada com o AzCredential exigir autenticação multifator (MFA).The script will fail if the account you use with AzCredential requires multi-factor authentication (MFA). NecessáriaRequired
VMLocalCredentialVMLocalCredential As credenciais para a conta de administrador local da VM do provedor de recursos MySQL.The credentials for the local administrator account of the MySQL resource provider VM. NecessáriaRequired
PrivilegedEndpointPrivilegedEndpoint O endereço IP ou o nome DNS do ponto de extremidade com privilégios.The IP address or DNS name of the privileged endpoint. NecessáriaRequired
AzureEnvironmentAzureEnvironment O ambiente do Azure da conta de administrador de serviço usada para implantar Azure Stack Hub.The Azure environment of the service admin account used for deploying Azure Stack Hub. Necessário apenas para implantações do Azure AD.Required only for Azure AD deployments. Os nomes de ambiente com suporte são AzureCloud, AzureUSGovernment ou se estiver usando um Azure ad da China, AzureChinaCloud.Supported environment names are AzureCloud, AzureUSGovernment, or if using a China Azure AD, AzureChinaCloud. AzureCloudAzureCloud
DependencyFilesLocalPathDependencyFilesLocalPath Somente para sistemas integrados, o arquivo de certificado. pfx deve ser colocado nesse diretório.For integrated systems only, your certificate .pfx file must be placed in this directory. Para ambientes desconectados, baixe mysql-connector-net-6.10.5.msi para esse diretório.For disconnected environments, download mysql-connector-net-6.10.5.msi to this directory. Opcionalmente, você pode copiar um pacote Windows Update MSU aqui.You can optionally copy one Windows Update MSU package here. Opcional (obrigatório para sistemas integrados ou ambientes desconectados)Optional (mandatory for integrated systems or disconnected environments)
DefaultSSLCertificatePasswordDefaultSSLCertificatePassword A senha para o certificado. pfx.The password for the .pfx certificate. NecessáriaRequired
MaxRetryCountMaxRetryCount O número de vezes que você deseja repetir cada operação se houver uma falha.The number of times you want to retry each operation if there's a failure. 22
RetryDurationRetryDuration O intervalo de tempo limite entre repetições, em segundos.The timeout interval between retries, in seconds. 120120
DesinstalarUninstall Remove o provedor de recursos e todos os recursos associados (consulte as observações a seguir).Removes the resource provider and all associated resources (see the following notes). NoNo
DebugModeDebugMode Impede a limpeza automática em caso de falha.Prevents automatic cleanup on failure. NoNo
AcceptLicenseAcceptLicense Ignora o prompt 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

Implantar o provedor de recursos do MySQL usando um script personalizadoDeploy the MySQL resource provider using a custom script

Se você estiver implantando o provedor de recursos do MySQL versão 1.1.33.0 ou versões anteriores, precisará 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 você estiver implantando a versão 1.1.47.0 ou posterior do provedor de recursos do MySQL, o script de implantação baixará e instalará automaticamente os módulos do PowerShell necessários para 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

Observação

No cenário desconectado, você precisa baixar os módulos do PowerShell necessários e registrar o repositório manualmente como um 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 implantar o provedor de recursos, você pode personalizar o script a seguir.To eliminate any manual configuration when deploying the resource provider, you can customize the following script. Altere as informações e as senhas da conta padrão conforme necessário para a implantação do hub de Azure Stack.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 provedor de recursos for concluído, atualize o navegador para certificar-se de que você pode ver as atualizações mais recentes 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.

Verificar a implantação usando o portal do hub de Azure StackVerify the deployment by using the Azure Stack Hub portal

  1. Entre no portal do administrador do como o administrador do serviço.Sign in to the administrator portal as the service admin.
  2. Selecione Grupos de Recursos.Select Resource Groups.
  3. Selecione o sistema. <location> grupo de recursos mysqladapter.Select the system.<location>.mysqladapter resource group.
  4. Na página Resumo da visão geral do grupo de recursos, não deve haver nenhuma implantação com falha.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 a VM do provedor de recursos do MySQL foi criada com êxito 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.

Próximas etapasNext steps

Adicionar servidores de hospedagemAdd hosting servers