Implementación del proveedor de recursos MySQL en Azure Stack Hub

Importante

A partir de la compilación 2108 de Azure Stack Hub, los proveedores de recursos SQL y MySQL se ofrecen a las suscripciones a las que se ha concedido acceso. Si desea empezar a usar esta característica o si necesita actualizar desde una versión anterior, abra un caso de soporte técnico y nuestros ingenieros le guiarán a través del proceso de implementación o actualización.

Use el proveedor de recursos MySQL Server para ofrecer las bases de datos de MySQL como un servicio de Azure Stack Hub.

El proveedor de recursos MySQL se ejecuta como un servicio en una máquina virtual Server Core de Windows Server 2016.

El proveedor de recursos de MySQL se ejecuta como un servicio en una instancia de Add-on RP Windows Server especial.

Importante

Solo el proveedor de recursos debe crear elementos en servidores que hospedan SQL o MySQL. No se admiten los elementos creados en un servidor host que no se crean con el proveedor de recursos, y dichos elementos podrían dar lugar a un error de coincidencia de estado.

Prerrequisitos

Si ya ha instalado un proveedor de recursos, es probable que haya completado los siguientes requisitos previos y pueda omitir esta sección. De lo contrario, realice estos pasos antes de continuar:

  1. Registre la instancia de Azure Stack Hub en Azure, si no lo ha hecho. Este paso es necesario, ya que se va a conectar a Marketplace y a descargar ahí elementos desde Azure.

  2. Si no está familiarizado con la característica Marketplace Management del portal de administrador de Azure Stack Hub, consulte Descarga de elementos de Marketplace de Azure y publicación en Azure Stack Hub. El artículo le guía por el proceso de descarga de elementos de Azure en Marketplace de Azure Stack Hub. Abarca escenarios conectados y desconectados. Si la instancia de Azure Stack Hub está desconectada o parcialmente conectada, existen requisitos previos adicionales que hay que cumplir para completar la instalación.

  3. Actualice el directorio principal de Microsoft Entra. A partir de la compilación 1910, se debe registrar una nueva aplicación en el inquilino del directorio principal. Esta aplicación permitirá que Azure Stack Hub cree y registre correctamente proveedores de recursos más recientes (como Event Hubs y otros) con el inquilino de Microsoft Entra. Se trata de una acción única que debe realizarse después de actualizar a la compilación 1910 o posterior. Si no se realiza este paso, se producirá un error en las instalaciones del proveedor de recursos de marketplace.

Requisitos previos del proveedor de recursos de MySQL Server

  • Necesitará un equipo y una cuenta con acceso:

    • al portal de administración de Azure Stack Hub.
    • el punto de conexión con privilegios (solo es necesario cuando se implementa el proveedor de recursos de MySQL Server V1 o se actualiza desde el proveedor de recursos de MySQL Server V1 al proveedor de recursos de MySQL Server V2).
    • al punto de conexión de administración de Azure Resource Manager, https://adminmanagement.region.<fqdn>, donde <fqdn> es el nombre de dominio completo.
    • Internet, si se implementó Azure Stack Hub para usar Microsoft Entra id. como proveedor de identidades.
  • Descargue la versión compatible del archivo binario del proveedor de recursos de MySQL según la tabla de asignación de versiones siguiente. Para el proveedor de recursos de MySQL Server V2, descargue el elemento de Marketplace en Azure Stack Hub.

    Versión de Azure Stack Hub compatible MySQL RP, versión Windows Server en el que se está ejecutando el servicio RP
    2206, 2301, 2306 MySQL RP, versión 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
    2108, 2206 Proveedor de recursos MySQL versión 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
  • Asegúrese de que la máquina virtual de Windows Server necesaria esté descargada en Marketplace de Azure Stack Hub. Si es necesario, descargue manualmente la imagen según la tabla de asignación de versiones anterior.

  • Asegúrese de que se cumplen los requisitos previos de la integración del centro de datos:

    Requisito previo Referencia
    El reenvío condicional de DNS se ha establecido correctamente. Integración de Azure Stack Hub en el centro de datos: DNS
    Los puertos de entrada para los proveedores de recursos están abiertos. Integración de Azure Stack Hub en el centro de datos: publicar puntos de conexión
    Se han establecido correctamente el SAN y el asunto del certificado. Requisitos de certificados de infraestructura de clave pública de Azure Stack Hub: certificados obligatoriosRequisitos de certificados de PaaS de Azure Stack Hub: certificados opcionales
  • Prepare el certificado. (Solo para las instalaciones de sistemas integrados).

    • Debe proporcionar el certificado PKI de PaaS de SQL que se describe en la sección Certificados de PaaS opcionales de Requisitos de certificados de infraestructura de clave pública de Azure Stack Hub. El nombre alternativo del sujeto (SAN) debe cumplir el siguiente patrón de nomenclatura: CN=*.dbadapter.<región>.<fqdn>, con protección por contraseña. Captura de pantalla del certificado.
    • Al implementar el proveedor de recursos de MySQL Server V1, coloque el archivo .pfx en la ubicación especificada por el parámetro DependencyFilesLocalPath. No proporcione un certificado para los sistemas ASDK.
    • Al implementar el proveedor de recursos de MySQL Server V2, prepare el certificado para los siguientes pasos de instalación.

Escenario sin conexión

Al implementar el proveedor de recursos de MySQL Server V2 en un escenario desconectado, siga las instrucciones de descarga de elementos de Marketplace en Azure Stack Hub para descargar el elemento del proveedor de recursos de MySQL Server y el elemento de Add-on RP Windows Server en el entorno de Azure Stack Hub.

Al implementar el proveedor de recursos de MySQL Server V1 en un escenario desconectado, complete los pasos siguientes para descargar los módulos de PowerShell necesarios y registrar el repositorio manualmente.

  1. Inicie sesión en un equipo con conectividad a Internet y use los siguientes scripts para descargar los módulos de 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"
    
  2. En función de la versión del proveedor de recursos que esté implementando, ejecute uno de estos 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
    
  3. Después, copie los paquetes descargados en un dispositivo USB.

  4. Inicie sesión en la estación de trabajo desconectada y copie los paquetes desde el dispositivo USB en una ubicación en dicha estación de trabajo.

  5. Registre esta ubicación como un repositorio 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" 
    

Implementación del proveedor de recursos de MySQL V2

Si va a actualizar desde una versión V1, consulte el documento Actualización de un proveedor de recursos de MySQL Server.

Inicio de la instalación

  1. Si todavía no lo ha hecho, inicie sesión en el portal de administración de Azure Stack Hub, seleccione Administración de Marketplace a la izquierda y seleccione Proveedores de recursos.

  2. Una vez que el proveedor de recursos de MySQL y el resto de software necesario se hayan descargado, Administración de Marketplace mostrará los paquetes "MySQL Server resource provider" con el estado "Not Installed" (No instalado). Puede haber otros paquetes que muestren el estado "Downloaded" (Descargado).

    Captura de pantalla de la administración de Marketplace antes de instalar el rp.

  3. Seleccione la fila que desee instalar. La página del paquete de instalación del proveedor de recursos de MySQL Server muestra un banner azul en la parte superior. Seleccione el banner para iniciar la instalación. Captura de pantalla de inicio de la instalación de RP de administración de Marketplace.

Requisitos previos de instalación

  1. A continuación, se le transferirá a la página de instalación. Seleccione Install Prerequisites (Instalar requisitos previos) para iniciar el proceso de instalación. Captura de pantalla de los requisitos previos de instalación de la administración de Marketplace.

  2. Espere hasta que la instalación de los requisitos previos sea correcta. Verá una marca de verificación verde junto a Install prerequisites (Instalar requisitos previos) antes de continuar con el paso siguiente. Captura de pantalla de los requisitos previos de instalación de la administración de Marketplace realizados correctamente.

Preparar secretos

  1. En el paso 2. Prepare secrets (Preparar secretos), seleccione Add certificate (Agregar certificado) y aparecerá el panel Add a certificate (Agregar un certificado). Captura de pantalla de la preparación de secretos de administración de Marketplace.

  2. Seleccione el botón browse (examinar) en Add a certificate (Agregar un certificado), a la derecha del campo de nombre de archivo de certificado. Seleccione el archivo de certificado .pfx que ha adquirido al completar los requisitos previos.

  3. Escriba la contraseña que proporcionó para crear una cadena segura para el certificado SSL del proveedor de recursos de SQL Server. A continuación, seleccione Agregar. Captura de pantalla de la adición de certificado de administración de Marketplace.

Configuración e instalación del proveedor de recursos

  1. Cuando la instalación del certificado se realice correctamente, verá una marca de verificación verde junto a Prepare secrets (Preparar secretos) antes de continuar con el siguiente paso. Ahora, seleccione el botón Configure + Install (Configurar + Instalar) junto a 3 Install resource provider (Instalar proveedor de recursos). Captura de pantalla de la instalación de RP de inicio de administración de Marketplace.

  2. A continuación, deberá proporcionar un URI de blob de Azure Stack Hub para MySQL Connector.

    • Revise la licencia GPL de MySQL Connector aquí y descargue la versión 8.0.21 en una carpeta local.

    • Cree una cuenta de almacenamiento con la suscripción de operador predeterminada y cree un contenedor con el nivel de acceso "Blob" o "Contenedor". Captura de pantalla de la creación de una cuenta de almacenamiento.Captura de pantalla de la creación de un contenedor de almacenamiento.

    • Cargue el archivo mysql-connector-net-8.0.21.msi desde la carpeta local al contenedor de almacenamiento recién creado. Captura de pantalla de la carga del conector mySQL en el contenedor.

    Importante

    Asegúrese de que la versión del conector mySQL es la 8.0.21.

    • Copie el URI del blob. Captura de pantalla de la copia del URI del conector de MySQL.

    • Vuelva a la página de configuración del proveedor de recursos de MySQL. Pegue el URI del blob (por ejemplo, https://<storageAccountName>.blob.<región>.<FQDN>/<nombreDelContenedor>/mysql-connector-net-8.0.21.msi) en el cuadro de texto y haga clic en Aceptar. Captura de pantalla de cómo proporcionar el URI del conector mySQL.

  3. A continuación, verá la siguiente página, que indica que se está instalando el proveedor de recursos de MySQL. Captura de pantalla de la instalación de RP de administración de Marketplace.

  4. Espere a la notificación de que la instalación se completó. Este proceso suele tardar una o varias horas, en función del tipo de Azure Stack Hub. Captura de pantalla de la instalación de RP de administración de Marketplace en curso.

  5. Compruebe que la instalación del proveedor de recursos de MySQL Server se ha realizado correctamente; para ello, vuelva a la página Resource Providers (Proveedores de recursos) de Marketplace Management (Administración de Marketplace). El estado del proveedor de recursos de MySQL Server debe mostrar "Installed" (Instalado). Captura de pantalla del rp de administración de Marketplace instalado.

Implementación del proveedor de recursos de SQL V1

Una vez completados todos los requisitos previos, ejecute el extractor automático para extraer el paquete de instalación descargado en un directorio temporal. Ejecute el script DeployMySqlProvider.ps1 desde un equipo que pueda acceder al punto de conexión de administración de Azure Resource Manager para Azure Stack Hub y al punto de conexión con privilegios para implementar el proveedor de recursos de MySQL. El script DeployMySqlProvider.ps1 se extrae como parte de los archivos de instalación del proveedor de recursos MySQL descargado para su versión de Azure Stack Hub.

Importante

Antes de implementar el proveedor de recursos, revise las notas de la versión para obtener información sobre las nuevas funciones, correcciones y problemas conocidos que podrían afectar a la implementación.

Para implementar el proveedor de recursos de MySQL, abra una nueva ventana de PowerShell con privilegios elevados (no de PowerShell ISE) y cambie al directorio en el que ha extraído los archivos binarios del proveedor de recursos de MySQL.

Importante

Se recomienda encarecidamente usar los comandos Clear-AzureRmContext -Scope CurrentUser y Clear-AzureRmContext -Scope Process para borrar la memoria caché antes de ejecutar el script de implementación o de actualización.

Nota:

Si va a implementar el proveedor de recursos de MySQL Server V1 en un entorno desconectado, copie el archivo mysql-connector-net-6.10.5.msi en una ruta de acceso local. Proporcione el nombre de ruta de acceso mediante el parámetro DependencyFilesLocalPath.

Ejecute el script DeployMySqlProvider.ps1, que realiza las tareas siguientes:

  • Carga los certificados y otros artefactos en una cuenta de almacenamiento de Azure Stack Hub.
  • Publica paquetes de la galería para poder implementar las bases de datos MySQL mediante esta.
  • Publica un paquete de galería para implementar los servidores de hospedaje.
  • Implementa una máquina virtual mediante la imagen principal de Windows Server 2016 o del complemento Microsoft Azure Stack RP Windows Server y, luego, instala el proveedor de recursos de MySQL.
  • Registra un registro de DNS local que se asigna a la VM del proveedor de recursos.
  • Registra el proveedor de recursos en la instancia local de Azure Resource Manager para las cuentas de operador.

Nota:

Cuando se inicia la implementación del proveedor de recursos MySQL, se crea el grupo de recursos system.local.mysqladapter. Las implementaciones necesarias de este grupo de recursos pueden tardar hasta 75 minutos en finalizar. No debe colocar ningún otro recurso en el grupo de recursos system.local.mysqladapter.

Parámetros de DeployMySqlProvider.ps1

Puede especificar estos parámetros en la línea de comandos. Si no lo hace, o se produce un error en la validación de algún parámetro, se le pedirá que proporcione los parámetros necesarios.

Nombre de parámetro Descripción Comentario o valor predeterminado
CloudAdminCredential Credencial del administrador de la nube, necesaria para el acceso al punto de conexión con privilegios. Obligatorio
AzCredential Credenciales de la cuenta de administrador de servicios de Azure Stack Hub. Use las mismas credenciales que para la implementación de Azure Stack Hub. Se producirá un error en el script si la cuenta que usa con AzCredential requiere autenticación multifactor (MFA). Obligatorio
VMLocalCredential Las credenciales para la cuenta de administrador local de la VM del proveedor de recursos de MySQL. Obligatorio
PrivilegedEndpoint Dirección IP o nombre DNS del punto de conexión con privilegios. Obligatorio
AzureEnvironment Entorno de Azure de la cuenta de administrador de servicios que se usó para la implementación de Azure Stack Hub. Solo es necesario para las implementaciones de Microsoft Entra. Los nombres de entorno admitidos son AzureCloud, AzureUSGovernment o si se usa un identificador de Microsoft Entra de China, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath El archivo .pfx de certificados se debe colocar en este directorio, pero solo en los sistemas integrados. En el caso de entornos desconectados, descargue mysql-connector-net-6.10.5 a este directorio. También puede copiar un paquete de Windows Update MSU aquí. Opcional (obligatorio para sistemas integrados o entornos desconectados)
DefaultSSLCertificatePassword Contraseña para el certificado .pfx. Obligatorio
MaxRetryCount El número de veces que quiere volver a intentar cada operación si se produce un error. 2
RetryDuration Intervalo de tiempo de expiración entre reintentos, en segundos. 120
Desinstalación Se quita el proveedor de recursos y todos los recursos asociados (vea las notas siguientes). No
DebugMode Impide la limpieza automática en caso de error. No
AcceptLicense Omite el aviso para aceptar la licencia GPL. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Implementación del proveedor de recursos MySQL con un script personalizado

Si va a implementar la versión 1.1.33.0 del proveedor de recursos MySQL o versiones anteriores, debe instalar versiones específicas de los módulos AzureRm.BootStrapper y Azure Stack Hub en PowerShell.

Si va a implementar la versión 1.1.47.0, u otra posterior, del proveedor de recursos de MySQL, el script de implementación descargará e instalará automáticamente los módulos de PowerShell necesarios en la ruta de acceso C:\Archivos de programa\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:

Si trabaja en un escenario desconectado, deberá descargar los módulos de PowerShell necesarios y registrar el repositorio manualmente como requisito previo.

Para eliminar cualquier configuración manual al implementar el proveedor de recursos, puede personalizar el script siguiente. Cambie la información de cuenta predeterminada y las contraseñas según sea necesario para su implementación de 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

Cuando finalice el script de instalación del proveedor de recursos, actualice el explorador para asegurarse de que puede ver las actualizaciones más recientes y cierre la sesión de PowerShell actual.

Comprobación de la implementación de V1 mediante el portal de Azure Stack Hub

  1. Inicie sesión en el portal de administración como administrador de servicios.
  2. Seleccione Grupos de recursos.
  3. Seleccione el grupo de recursos system.<ubicación>.mysqladapter.
  4. En la página de resumen de la información general del grupo de recursos no debería haber implementaciones con errores.
  5. Por último, seleccione Máquinas virtuales en el portal de administración para comprobar que la VM del proveedor de recursos MySQL se ha creado correctamente y está en ejecución.

Configuración importante para el identificador de Microsoft Entra

Si Azure Stack Hub usa Microsoft Entra identificador como proveedor de identidades, asegúrese de que la máquina virtual que ha instalado el proveedor de recursos de MySQL Server tiene conectividad saliente a Internet.

Si es necesario obtener la dirección IP de la máquina virtual que ha instalado un proveedor de recursos de MySQL Server (es decir, agregar la dirección IP a la lista de permitidos del firewall), debe abrir un caso de soporte técnico y solicitar al ingeniero de soporte técnico que haga que la suscripción del proveedor de recursos de MySQL Server sea visible temporalmente. A continuación, puede localizar la máquina virtual en la suscripción y obtener su dirección IP.

Pasos siguientes

Add hosting servers (Agregar servidores de hospedaje)