Implementación del proveedor de recursos de SQL Server 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 de SQL Server de Azure Stack Hub para exponer las bases de datos SQL como un servicio de Azure Stack Hub.
El proveedor de recursos de SQL se ejecuta como un servicio en una máquina virtual Server Core de Windows Server 2016.
El proveedor de recursos de SQL 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.
Importante
El proveedor de recursos V2.x SQL/MySQL usa el mecanismo de instalación del proveedor de recursos de implementación (DRP), que no se admite en el ASDK. Por lo tanto, el proveedor de recursos V2.x SQL/MySQL no se admite en el ASDK.
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:
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.
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.
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.
- Después de actualizar correctamente la instancia de Azure Stack Hub a 1910 o superior, siga las instrucciones para clonar o descargar el repositorio de herramientas de Azure Stack Hub.
- A continuación, siga las instrucciones de Actualización del directorio principal de Azure Stack Hub Microsoft Entra (después de instalar actualizaciones o nuevos proveedores de recursos).
Requisitos previos del proveedor de recursos de SQL 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 SQL Server V1 o se actualiza desde el proveedor de recursos de SQL Server V1 al proveedor de recursos de SQL 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 SQL según la tabla de asignación de versiones siguiente. Para el proveedor de recursos de SQL Server V2, descargue el elemento de Marketplace en Azure Stack Hub.
Versión de Azure Stack Hub compatible Versión de SQL RP Windows Server en el que se está ejecutando el servicio RP 2206, 2301, 2306, 2311 SQL RP versión 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0 2108, 2206 Proveedor de recursos de SQL 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: puertos y protocolos entrantes 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 obligatorios
Requisitos de certificados de infraestructura de clave pública de Azure Stack Hub: certificados de PaaS opcionalesPrepare 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.
- Al implementar el proveedor de recursos de SQL 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 SQL Server V2, prepare el certificado para los siguientes pasos de instalación.
Escenario sin conexión
Al implementar el proveedor de recursos de SQL 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 SQL Server y el elemento de Add-on RP Windows Server en el entorno de Azure Stack Hub.
Al implementar el proveedor de recursos de SQL Server V1 en un escenario desconectado, complete los pasos siguientes para descargar los módulos de PowerShell necesarios y registrar el repositorio manualmente.
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"
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
Después, copie los paquetes descargados en un dispositivo USB.
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.
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 SQL V2
Si va a actualizar desde una versión V1, consulte el documento Actualización de un proveedor de recursos de SQL Server.
Inicio de la instalación
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.
Una vez que el proveedor de recursos de SQL y el resto de software necesario se hayan descargado, Administración de Marketplace mostrará los paquetes "SQL Server resource provider" con el estado "Not Installed" (No instalado). Puede haber otros paquetes que muestren el estado "Downloaded" (Descargado).
Seleccione la fila que desee instalar. La página del paquete de instalación del proveedor de recursos de SQL Server muestra un banner azul en la parte superior. Seleccione el banner para iniciar la instalación.
Requisitos previos de instalación
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.
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.
Preparar secretos
En el paso 2. Prepare secrets (Preparar secretos), seleccione Add certificate (Agregar certificado) y aparecerá el panel Add a certificate (Agregar un certificado).
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.
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.
Instalación del proveedor de recursos
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 Install (Instalar) junto a 3 Install resource provider (Instalar proveedor de recursos).
A continuación, verá la siguiente página, que indica que se está instalando el proveedor de recursos de SQL.
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.
Compruebe que la instalación del proveedor de recursos de SQL 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 SQL Server debe mostrar "Installed" (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 DeploySqlProvider.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 SQL. El script DeploySqlProvider.ps1 se extrae como parte del archivo binario del proveedor de recursos de SQL 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 SQL, 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 SQL.
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.
Ejecute el script DeploySqlProvider.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 SQL mediante la galería.
- 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 SQL.
- 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 de SQL, se crea el grupo de recursos system.local.sqladapter. Las implementaciones necesarias para este grupo de recursos pueden tardar hasta 75 minutos en completarse. No debe colocar ningún otro recurso en el grupo de recursos system.local.sqladapter.
Parámetros de DeploySqlProvider.ps1
Puede especificar los parámetros siguientes 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 | Credenciales de la cuenta de administrador local de la VM del proveedor de recursos SQL. | 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 se requiere para las implementaciones de Microsoft Entra. Los nombres de entorno admitidos son AzureCloud, AzureUSGovernment o si se usa una Microsoft Entra ID de China, AzureChinaCloud. | AzureCloud |
DependencyFilesLocalPath | El archivo .pfx de certificados se debe colocar en este directorio, pero solo en los sistemas integrados. También puede copiar un paquete de Windows Update MSU aquí. | Opcional (obligatorio para sistemas integrados) |
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 |
Implementar el proveedor de recursos SQL con un script personalizado
Si va a implementar la versión 1.1.33.0 del proveedor de recursos de SQL 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 SQL, 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 -RequiredVersion 0.5.0 -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 values for the <environment name> parameter are AzureCloud, AzureChinaCloud, or AzureUSGovernment depending which Azure subscription you're using.
$AzureEnvironment = "<EnvironmentName>"
# Point to the directory where the resource provider installation files were extracted.
$tempDir = 'C:\TEMP\SQLRP'
# 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 credentials for the new resource provider VM local admin account.
$vmLocalAdminPass = ConvertTo-SecureString 'P@ssw0rd1' -AsPlainText -Force
$vmLocalAdminCreds = New-Object System.Management.Automation.PSCredential ("sqlrpadmin", $vmLocalAdminPass)
# Add the cloudadmin credential that's 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\DeploySQLProvider.ps1 `
-AzCredential $AdminCreds `
-VMLocalCredential $vmLocalAdminCreds `
-CloudAdminCredential $cloudAdminCreds `
-PrivilegedEndpoint $privilegedEndpoint `
-AzureEnvironment $AzureEnvironment `
-DefaultSSLCertificatePassword $PfxPass `
-DependencyFilesLocalPath $tempDir\cert
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
- Inicie sesión en el portal de administración como administrador de servicios.
- Seleccione Grupos de recursos.
- A continuación, seleccione el grupo de recursos system.<location>.sqladapter.
- En la página de resumen de la información general del grupo de recursos no debería haber implementaciones con errores.
- Por último, seleccione Máquinas virtuales en el portal de administración para comprobar que la máquina virtual del proveedor de recursos de SQL se ha creado correctamente y está en ejecución.
Configuración importante para Microsoft Entra ID
Si Azure Stack Hub usa Microsoft Entra ID como proveedor de identidades, asegúrese de que la máquina virtual que ha instalado SQL Server proveedor de recursos 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 SQL 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 SQL 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)