Déployer le fournisseur de ressources MySQL sur Azure Stack Hub

Important

À partir de la build Azure Stack Hub 2108, les fournisseurs de ressources SQL et MySQL sont proposés aux abonnements auxquels l’accès a été accordé. Si vous souhaitez commencer à utiliser cette fonctionnalité ou si vous devez effectuer une mise à niveau à partir d’une version précédente, ouvrez un cas de support. Nos ingénieurs du support vous guideront tout au long du processus de déploiement ou de mise à niveau.

Utilisez le fournisseur de ressources MySQL Server pour exposer des bases de données MySQL en tant que service Azure Stack Hub.

Le fournisseur de ressources MySQL s’exécute en tant que service sur une machine virtuelle Windows Server 2016 Server Core.

Le fournisseur de ressources MySQL s’exécute en tant que service sur un serveur Add-on RP Windows Server spécial.

Important

Seul le fournisseur de ressources doit créer des éléments sur les serveurs qui hébergent SQL ou MySQL. Les éléments créés sur un serveur hôte, et qui ne sont pas créés par le fournisseur de ressources, ne sont pas pris en charge. Ils peuvent entraîner un état incompatible.

Conditions préalables requises

Si vous avez déjà installé un fournisseur de ressources, vous avez probablement rempli les prérequis suivants et pouvez ignorer cette section. Sinon, faites ce qui suit avant de continuer :

  1. Inscrivez votre instance Azure Stack Hub auprès d’Azure si ce n’est déjà fait. Cette étape est nécessaire, car vous allez vous connecter à la Place de marché et y télécharger des éléments à partir d’Azure.

  2. Si vous ne connaissez pas la fonctionnalité Gestion de la Place de marché du portail administrateur Azure Stack Hub, consultez Télécharger des éléments de la Place de marché Azure et les publier sur Azure Stack Hub. Cet article vous guide tout au long du processus de téléchargement des éléments à partir d’Azure vers la Place de marché Azure Stack Hub. Il couvre les deux scénarios, connecté et déconnecté. Si votre instance Azure Stack Hub est déconnectée ou partiellement connectée, d’autres prérequis doivent être respectés en vue de l’installation.

  3. Mettez à jour votre répertoire de base Microsoft Entra. À partir de la build 1910, une nouvelle application doit être inscrite dans votre abonné de répertoire de base. Cette application permet à Azure Stack Hub de créer et d’inscrire des fournisseurs de ressources plus récents (comme Event Hubs et d’autres) auprès de votre locataire Microsoft Entra. Il s’agit d’une action ponctuelle qui doit être effectuée après la mise à niveau vers la build 1910 ou une build plus récente. Si cette étape n’est pas effectuée, les installations du fournisseur de ressources échouent.

Prérequis pour le fournisseur de ressources MySQL Server

  • Vous avez besoin d’un ordinateur et d’un compte pouvant accéder :

    • au portail administrateur Azure Stack Hub
    • au point de terminaison privilégié (nécessaire uniquement pour le déploiement du fournisseur de ressources MySQL Server V1 ou la mise à niveau du fournisseur de ressources MySQL Server V1 vers le fournisseur de ressources MySQL Server V2)
    • au point de terminaison d’administration Azure Resource Manager, https://adminmanagement.region.<fqdn>, où <fqdn> représente votre nom de domaine complet
    • Internet, si votre Azure Stack Hub a été déployé pour utiliser Microsoft Entra ID comme fournisseur d’identité.
  • Téléchargez la version prise en charge du fichier binaire du fournisseur de ressources MySQL en fonction du tableau de mappage de versions ci-dessous. Pour le fournisseur de ressources MySQL V2, téléchargez l’élément de la Place de Marché vers Azure Stack Hub.

    Versions d’Azure Stack Hub prises en charge Version du fournisseur de ressources MySQL Windows Server sur lequel le service RP s’exécute
    2206, 2301, 2306 MySQL RP version 2.0.13.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
    2108, 2206 MySQL RP version 2.0.6.x Microsoft AzureStack Add-on RP Windows Server 1.2009.0
  • Veillez à ce que la machine virtuelle Windows Server requise soit téléchargée sur la Place de Marché Azure Stack Hub. Téléchargez manuellement l’image en fonction de la table de mappage de versions ci-dessus, si nécessaire.

  • Vérifiez que les prérequis relatifs à l’intégration du centre de données sont respectés :

    Configuration requise Informations de référence
    La redirection DNS conditionnelle est correctement définie. Intégration au centre de données Azure Stack Hub - DNS
    Les ports d’entrée pour les fournisseurs de ressources sont ouverts. Intégration au centre de données Azure Stack Hub - Publier des points de terminaison
    Les objets du certificat PKI et SAN sont correctement définis. Prérequis PKI obligatoires pour le déploiement Azure Stack HubPrérequis de certificat PaaS pour le déploiement Azure Stack Hub
  • Préparer le certificat. (Pour les installations de systèmes intégrés uniquement.)

    • Vous devez fournir le certificat PKI SQL Paas décrit dans la section facultative consacrée aux certificats PaaS de Exigences relatives à l'infrastructure de clés publiques pour le déploiement d'Azure Stack Hub. L’autre nom de l’objet doit respecter le modèle de nommage suivant : CN=*.dbadapter.<région>.<fqdn>, avec protection par mot de passe. Capture d’écran du certificat.
    • Quand vous déployez le fournisseur de ressources MySQL Server V1, placez le fichier .pfx à l’emplacement spécifié par le paramètre DependencyFilesLocalPath. Ne fournissez pas de certificat pour les systèmes ASDK.
    • Quand vous déployez le fournisseur de ressources MySQL Server V2, préparez le certificat pour les étapes d’installation suivantes.

Scénario déconnecté

Quand vous déployez le fournisseur de ressources MySQL Server V2 dans un scénario déconnecté, suivez les instructions Télécharger des éléments de la Place de Marché vers Azure Stack Hub pour télécharger l’élément du fournisseur de ressources MySQL Server et l’élément Add-on RP Windows Server dans votre environnement Azure Stack Hub.

Quand vous déployez le fournisseur de ressources MySQL Server V1 dans un scénario déconnecté, effectuez les étapes suivantes pour télécharger les modules PowerShell requis et inscrire le référentiel manuellement.

  1. Connectez-vous à un ordinateur disposant d'une connexion Internet et utilisez les scripts suivants pour télécharger les modules 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. Selon la version du fournisseur de ressources que vous déployez, exécutez l’un des 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. Copiez ensuite les packages téléchargés sur un périphérique USB.

  4. Connectez-vous à la station de travail déconnectée, puis copiez les packages du périphérique USB vers un emplacement sur la station de travail.

  5. Enregistrez cet emplacement en tant que référentiel 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" 
    

Déployer le fournisseur de ressources MySQL V2

Si vous effectuez une mise à niveau à partir d’une version V1, reportez-vous au document Mettre à jour le fournisseur de ressources MySQL Server.

Démarrer l’installation

  1. Si ce n'est déjà fait, connectez-vous au portail d'administration Azure Stack Hub, sélectionnez Gestion de la Place de marché sur la gauche, puis choisissez Fournisseurs de ressources.

  2. Une fois que le fournisseur de ressources MySQL et les autres logiciels requis ont été téléchargés, la page Gestion de la Place de Marché affiche les packages « MySQL Server resource provider » avec l’état « Non installé ». Il peut y avoir d’autres packages qui affichent l’état « Téléchargé ».

    Capture d’écran de la gestion de la Place de marché avant d’installer le fournisseur de ressources.

  3. Sélectionnez la ligne que vous souhaitez installer. Une bannière bleue apparaît en haut de la page des packages d’installation de fournisseur de ressources MySQL Server. Sélectionnez la bannière pour démarrer l’installation. Capture d’écran de la gestion de la place de marché : début de l’installation du fournisseur de ressources.

Prérequis à installer

  1. Vous êtes ensuite dirigé vers la page d’installation. Sélectionnez Prérequis pour l’installation pour commencer le processus d’installation. Capture d’écran des prérequis d’installation de la gestion de la Place de marché.

  2. Attendez la fin de l’installation des prérequis. Vous devez voir une coche verte en regard de Prérequis pour l’installation avant de passer à l’étape suivante. Capture d’écran des conditions préalables à l’installation de la gestion de la Place de marché réussies.

Préparer les secrets

  1. Sous l’étape 2. Préparer les secrets, sélectionnez Ajouter un certificat et le panneau Ajouter un certificat s’affiche. Capture d’écran de la préparation des secrets de la gestion de la Place de marché.

  2. Sélectionnez le bouton Parcourir sur Ajouter un certificat, juste à droite du champ de nom de fichier du certificat. Sélectionnez le fichier de certificat .pfx que vous avez obtenu lors de la finalisation des prérequis.

  3. Entrez le mot de passe que vous avez fourni pour créer une chaîne sécurisée pour le certificat SSL du fournisseur de ressources SQL Server. Sélectionnez ensuite Ajouter. Capture d’écran de l’ajout d’un certificat pour la gestion de la Place de marché.

Configurer et installer le fournisseur de ressources

  1. Lorsque l’installation du certificat aboutit, vous devez voir une coche verte en regard de Préparer les secrets avant de passer à l’étape suivante. À présent, sélectionnez le bouton Configurer + Installer en regard de 3 Installer le fournisseur de ressources. Capture d’écran du démarrage de l’installation du fournisseur de ressources de la gestion de la Place de marché.

  2. Ensuite, vous devez fournir un URI d’objet blob Azure Stack Hub pour le connecteur MySQL.

    • Lisez la licence GPL du connecteur MySQL ici et téléchargez la version 8.0.21 dans un dossier local.

    • Créez un compte de stockage avec votre abonnement opérateur par défaut, puis créez un conteneur avec le niveau d’accès « Blob » ou « Conteneur ». Capture d’écran oof création d’un compte de stockage.Capture d’écran de la création d’un conteneur de stockage.

    • Chargez le fichier mysql-connector-net-8.0.21.msi à partir de votre dossier local vers le conteneur de stockage nouvellement créé. Capture d’écran du chargement du connecteur MySQL dans le conteneur.

    Important

    Vérifiez que la version du connecteur MySQL est 8.0.21.

    • Copiez l’URI d’objet blob. Capture d’écran de la copie de l’URI du connecteur MySQL.

    • Revenez à la page de configuration des fournisseurs de ressources MySQL. Collez l’URI d’objet blob (par exemple, https://<nomCompteDeStockage>.blob.<région>.<FQDN>/<nomConteneur>/mysql-connector-net-8.0.21.msi) dans la zone de texte, puis cliquez sur OK. Capture d’écran de la fourniture de l’URI du connecteur MySQL.

  3. La page suivante s’affiche, indiquant que le fournisseur de ressources MySQL est en cours d’installation. Capture d’écran de l’installation du rp de gestion de la place de marché.

  4. Attendez la notification de fin de l’installation. Ce processus prend généralement une ou plusieurs heures, en fonction de votre type Azure Stack Hub. Capture d’écran de l’installation du rp de gestion de la Place de marché en cours.

  5. Vérifiez que l’installation du fournisseur de ressources MySQL Server a réussi en revenant à la page Gestion de la Place de Marché, Fournisseurs de ressources. L’état du fournisseur de ressources MySQL Server doit être « Installé ». Capture d’écran du rp de gestion de la Place de marché installé.

Déployer le fournisseur de ressources SQL V1

Une fois tous les prérequis respectés, exécutez l’auto-extracteur pour extraire le package d’installation téléchargé dans un répertoire temporaire. Exécutez le script DeployMySqlProvider.ps1 à partir d’un ordinateur ayant accès au point de terminaison d’administration Azure Resource Manager d’Azure Stack Hub ainsi qu’au point de terminaison privilégié pour déployer le fournisseur de ressources MySQL. Le script DeployMySqlProvider.ps1 est extrait des fichiers d’installation du fournisseur de ressources MySQL que vous avez téléchargé pour votre version d’Azure Stack Hub.

Important

Avant de déployer le fournisseur de ressources, passez en revue les notes de publication pour en savoir plus sur les nouvelles fonctionnalités, les correctifs et les problèmes connus qui pourraient affecter votre déploiement.

Pour déployer le fournisseur de ressources MySQL, ouvrez une nouvelle fenêtre PowerShell (pas PowerShell ISE) avec élévation de privilèges et basculez vers le répertoire où vous avez extrait les fichiers binaires du fournisseur de ressources MySQL.

Important

Nous vous recommandons fortement d’utiliser Clear-AzureRmContext -Scope CurrentUser et Clear-AzureRmContext -Scope Process pour effacer le cache avant d’exécuter le script de déploiement ou de mise à jour.

Notes

Si vous déployez le fournisseur de ressources MySQL Server V1 dans un environnement déconnecté, copiez le fichier mysql-connector-net-6.10.5.msi dans un chemin local. Fournissez le nom du chemin à l’aide du paramètre DependencyFilesLocalPath.

Exécutez le script DeployMySqlProvider.ps1, qui complète les tâches suivantes :

  • Chargement des certificats et autres artefacts sur un compte de stockage d'Azure Stack Hub.
  • Publication des packages de la galerie afin que vous puissiez déployer des bases de données MySQL par le biais de la galerie.
  • Publication d’un package de galerie pour déployer des serveurs d’hébergement.
  • Déploiement d’une machine virtuelle à l’aide de l’image Windows Server 2016 Core ou de l’image Microsoft AzureStack Add-on RP Windows Server que vous avez téléchargée, puis installation du fournisseur de ressources MySQL.
  • Inscription d’un enregistrement DNS local mappé à la machine virtuelle de votre fournisseur de ressources.
  • Inscription de votre fournisseur de ressources auprès de l’Azure Resource Manager local pour le compte d’opérateur.

Notes

Lorsque le déploiement du fournisseur de ressources MySQL démarre, le groupe de ressources system.local.sqladapter est créé. L’exécution des déploiements nécessaires sur ce groupe de ressources peut prendre jusqu’à 75 minutes. Vous ne devez pas placer d’autres ressources dans le groupe de ressources system.local.mysqladapter.

Paramètres de DeployMySqlProvider.ps1

Vous pouvez spécifier ces paramètres à partir de la ligne de commande. Si vous ne le faites pas, ou si la validation d’un paramètre échoue, vous êtes invité à fournir les paramètres requis.

Nom du paramètre Description Commentaire ou valeur par défaut
CloudAdminCredential Informations d’identification de l’administrateur du cloud, nécessaires pour accéder au point de terminaison privilégié. Obligatoire
AzCredential Informations d'identification du compte administrateur de service Azure Stack Hub. Utilisez les mêmes informations d'identification que celles utilisées pour le déploiement d'Azure Stack Hub. Le script échoue si le compte que vous utilisez avec AzCredential nécessite l’authentification multifacteur (MFA). Obligatoire
VMLocalCredential Les informations d’identification du compte d’administrateur local de la machine virtuelle du fournisseur de ressources MySQL. Obligatoire
PrivilegedEndpoint Adresse IP ou nom DNS du point de terminaison privilégié. Obligatoire
AzureEnvironment Environnement Azure du compte administrateur de service utilisé pour déployer Azure Stack Hub. Obligatoire uniquement pour les déploiements Microsoft Entra. Les noms d’environnement pris en charge sont AzureCloud, AzureUSGovernment ou, si vous utilisez un ID de Microsoft Entra Chine, AzureChinaCloud. AzureCloud
DependencyFilesLocalPath Pour les systèmes intégrés uniquement, votre fichier de certificat .pfx doit être placé dans ce répertoire. Pour les environnements déconnectés, téléchargez mysql-connector-net-6.10.5.msi dans ce répertoire. Vous pouvez éventuellement copier un package MSU Windows Update ici. Facultatif (obligatoire pour les systèmes intégrés ou les environnements déconnectés)
DefaultSSLCertificatePassword Mot de passe pour le certificat .pfx. Obligatoire
MaxRetryCount Nombre de fois où vous souhaitez réessayer chaque opération en cas d’échec. 2
RetryDuration Délai d’attente entre les tentatives, en secondes. 120
Désinstaller Supprime le fournisseur de ressources et toutes les ressources associées (voir les remarques ci-dessous). Non
DebugMode Empêche le nettoyage automatique en cas d’échec. Non
AcceptLicense Ignore l’invite à accepter la licence GPL. https://www.gnu.org/licenses/old-licenses/gpl-2.0.html

Déployer le fournisseur de ressources MySQL à l’aide d’un script personnalisé

Si vous déployez le fournisseur de ressources MySQL version 1.1.33.0 ou antérieure, vous devez installer des versions spécifiques des modules Azure Stack Hub et AzureRm.Bootstrapper dans PowerShell.

Si vous déployez le fournisseur de ressources MySQL version 1.1.47.0 ou ultérieure, le script de déploiement télécharge et installe automatiquement les modules PowerShell nécessaires sous 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

Remarque

Dans un scénario déconnecté, vous devez télécharger les modules PowerShell requis et inscrire manuellement le référentiel en tant que condition préalable.

Pour éliminer toute configuration manuelle lors du déploiement du fournisseur de ressources, vous pouvez personnaliser le script suivant. Modifiez les informations de compte et les mots de passe par défaut en fonction des besoins de votre déploiement 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

Au terme du script d'installation du fournisseur de ressources, actualisez votre navigateur pour vous assurer que vous pouvez voir les dernières mises à jour, puis fermez la session PowerShell en cours.

Vérifier le déploiement V1 à l’aide du portail Azure Stack Hub

  1. Connectez-vous au portail d’administration en tant qu’administrateur de service.
  2. Sélectionnez Groupes de ressources.
  3. Sélectionnez le groupe de ressources system.<location>.mysqladapter.
  4. La page de la vue d’ensemble du groupe de ressources ne doit pas indiquer que des déploiements ont échoué.
  5. Enfin, sélectionnez Machines virtuelles dans le portail d’administration pour vérifier que la machine virtuelle du fournisseur de ressources MySQL a été correctement créée et est en cours d’exécution.

Configuration importante pour Microsoft Entra ID

Si votre Azure Stack Hub utilise Microsoft Entra ID comme fournisseur d’identité, vérifiez que la machine virtuelle qui a installé le fournisseur de ressources MySQL Server dispose d’une connectivité Internet sortante.

Si vous avez besoin de l’IP de la machine virtuelle sur laquelle est installé le fournisseur de ressources MySQL Server (par exemple, pour l’ajouter à la liste d’autorisation de votre pare-feu), vous devez ouvrir un cas de support et demander à l’ingénieur du support de rendre l’abonnement du fournisseur de ressources MySQL Server temporairement visible. Vous pouvez ensuite localiser la machine virtuelle dans l’abonnement et obtenir son IP.

Étapes suivantes

Ajouter des serveurs d’hébergement