Créer un pool d'instances (Aperçu) : Azure SQL Managed Instance
S’applique à : Azure SQL Managed Instance
Cet article explique comment créer un pool d'instances pour Azure SQL Managed Instance à l'aide du portail Azure, de PowerShell ou de l’Azure CLI, et comment déplacer des instances dans et hors du pool à l'aide de PowerShell ou d’Azure CLI.
Les pools d'instances permettent de déployer plusieurs instances avec des ressources partagées sur une seule machine virtuelle, ce qui fournit une infrastructure pratique et rentable pour migrer plusieurs instances SQL Server sans avoir à consolider des charges de travail plus petites et moins exigeantes en termes de calcul sur une SQL Managed Instance plus grande.
Remarque
Les pools d'instances pour Azure SQL Managed Instance sont actuellement en Aperçu.
Prérequis
Pour créer un pool d'instances, vous devez disposer des éléments suivants :
- Un réseau virtuel existant avec une plage de sous-réseaux de taille appropriée.
- Le dernier module Az.SQL pour la version actuelle de PowerShell ou la dernière version d'Azure CLI.
- Examen des propriétés de l'instance et du pool.
Considérations sur la taille du sous-réseau
Planifiez judicieusement la taille de votre sous-réseau lorsque vous utilisez un pool d'instances. Reportez-vous à Déterminer la taille de sous-réseau requise et la plage pour les instructions de dimensionnement de sous-réseau.
Utilisez la formule suivante pour calculer le nombre d'adresses IP requises par un pool d'instances qui contient plusieurs instances Usage général :
2 * (5 + (3 * # of MIs)) + 5
# of MIs
fait référence au nombre potentiel maximum d'instances que vous prévoyez d'approvisionner. Le nombre maximum possible d'instances dans un pool est de 40.
Créer un pool d’instances
Vous pouvez créer un pool d’instance avec le portail Azure, PowerShell ou Azure CLI. Tenez compte des éléments suivants :
- Seul le niveau de service Usage général sur la série standard (Gen5) ou le matériel de la série Premium est actuellement disponible.
- Le nom du pool ne peut contenir que des lettres minuscules, des chiffres et des traits d’union, et ne peut pas commencer par un trait d’union.
- La solution Azure Hybrid Benefit s'applique au niveau du pool d'instances. Vous pouvez définir le type de licence lors de la création du pool et le mettre à jour après la création du pool.
Important
Le déploiement d'un pool d'instances est une opération de longue haleine qui peut prendre jusqu'à 4,5 heures.
Pour créer un pool d'instances dans le portail Azure, procédez comme suit :
Recherchez des pools d’instances dans le Portail Azure et sélectionnez le service Pools d’instances pour ouvrir la page Pools d’instances :
Sur la page Pools d'instances, sélectionnez + Créer pour ouvrir la page Créer un pool Azure SQL Managed Instance :
Dans Créer un pool Azure SQL Managed Instance :
- Fournissez les détails du projet et de l'instance dans l'onglet Bases.
- Utilisez Configurer le pool d’instances sous Calcul + stockage pour ouvrir la page Calcul + Stockage, puis choisissez le niveau de service, le matériel de calcul et la licence SQL Server que vous souhaitez utiliser pour le pool. Utilisez Appliquer pour enregistrer vos paramètres de calcul et revenir à la page Créer un pool Azure SQL Managed Instance.
- Sélectionnez un réseau virtuel existant ou configurez un nouveau réseau virtuel sous l’onglet Mise en réseau.
- (Facultatif) Configurez une fenêtre de maintenance non par défaut pour le pool sous l’onglet Paramètres supplémentaires.
- Passez en revue votre configuration sous l’onglet Vérifier + créer, puis sélectionnez Créer pour créer votre pool d’instances.
Vous pouvez surveiller le déploiement du pool depuis Notifications.
Une fois votre pool d’instances créé, vous pouvez créer une instance dans le pool à l’aide du Portail Azure, ou vous pouvez déplacer une instance existante dans le pool à l’aide de PowerShell ou d’Azure CLI.
Créer une instance à l'intérieur du pool
Une fois votre pool créé, vous pouvez créer une instance dans le pool à l'aide du portail Azure, de PowerShell ou d'Azure CLI.
Tenez compte des éléments suivants :
- Vous devez spécifier le type de licence pour la nouvelle instance, et il doit correspondre au type de licence du pool.
Pour créer une nouvelle instance dans un pool à l'aide du portail Azure, procédez comme suit :
Accédez à la page Azure SQL dans le portail Azure.
Dans la page Azure SQL, sélectionnez +Créer pour ouvrir la page Sélectionner l’option de déploiement SQL.
Dans la vignette SQL Managed Instances, sélectionnez Instance unique en tant que type de ressource, puis sélectionnez Créer pour ouvrir la page Créer Azure SQL Managed Instance.
Dans l’onglet Bases de la page Créer Create Azure SQL Managed Instance :
- Sélectionnez le groupe de ressources qui contient votre pool d’instances existant.
- Choisissez Oui pour Appartenir à un pool d’instances ? sous Détails de Managed Instance pour créer votre nouvelle instance à l’intérieur d’un pool d’instances.
- Sélectionnez le pool dans la liste déroulante Pool d'instances.
Remplissez les détails restants sur la page Créer Azure SQL Managed Instance, pour créer votre instance dans le pool. Pour plus d’informations, passez en revue Créer Azure SQL Managed Instance.
Sélectionnez Vérifier + créer pour passer en revue les paramètres de votre nouvelle instance, puis utilisez Créer pour déployer votre instance dans le pool sélectionné.
Déplacer une instance existante
Vous pouvez déplacer une instance existante dans et hors d'un pool à l'aide de PowerShell ou d'Azure CLI si :
- elle se trouve dans le même groupe de ressources que le pool.
- Elle se trouve sur le même réseau virtuel et sous-réseau que le pool.
- Elle correspond aux limites de ressources du pool d'instances.
Lorsqu'une instance existante est déplacée dans un pool, les paramètres au niveau du pool sont prioritaires sur les paramètres au niveau de l'instance. Par exemple, l'instance hérite du type de licence et de la fenêtre de maintenance définies au niveau du pool. Lorsqu'une instance est déplacée hors du pool, elle conserve les paramètres hérités du pool. La seule exception concerne le type de licence, qui revient par défaut à « LicenseIncluded » lorsqu'une instance est supprimée du pool d'instances : Azure Hybrid Benefit et l'avantage des droits de basculement hybride doit être configuré manuellement après qu'une instance a été déplacée hors d'un pool.
Le déplacement d’une instance existante à l’intérieur d’un pool à l’aide du Portail Azure n’est actuellement pas pris en charge.
Pour déplacer une instance dans un pool avec PowerShell, indiquez le nom du pool lorsque vous utilisez Set-AzSqlInstance :
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName
Pour déplacer une instance hors d'un pool, fournissez un nom de pool vide :
$instance01 | Set-AzSqlInstance -InstancePoolName ''
Se connecter à une instance dans un pool
Vous pouvez choisir de vous connecter à une instance d’un pool avec un point de terminaison privé ou un point de terminaison public. Pour utiliser un point de terminaison privé, vous devez utiliser Azure Private Link.
Pour vous connecter à une instance dans un pool avec un point de terminaison public, vous devez d’abord activer le point de terminaison public, puis autoriser le trafic de point de terminaison public sur le groupe de sécurité réseau.
Création d'une base de données
La création d'une base de données pour une instance à l'intérieur d'un pool est identique à celle d'une base de données pour une instance unique. Vous pouvez créer une nouvelle base de données en utilisant le portail Azure, PowerShell ou Azure CLI.
Pour créer une nouvelle base de données pour un SQL managed instance existant en utilisant le portail Azure, procédez comme suit :
- Accédez à votre SQL Managed Instance dans le portail Azure.
- Dans le volet Vue d'ensemble, choisissez + Nouvelle base de données depuis la barre de commandes pour ouvrir la page Créer une base de données Azure SQL gérée.
- Fournissez les détails pour la nouvelle base de données.
- Sélectionnez Vérifier + créer pour passer en revue votre nouvelle configuration de base de données, puis utilisez Créer pour déployer votre base de données.
Obtenir l’utilisation du pool
Vous pouvez utiliser PowerShell pour déterminer comment les ressources sont utilisées à l'intérieur d'un pool.
Pour obtenir la liste des instances à l'intérieur d'un pool, utilisez Get-AzSqlInstance :
$instancePool | Get-AzSqlInstance
Pour obtenir l'utilisation des ressources du pool, utilisez Get-AzSqlInstancePoolUsage :
$instancePool| Get-AzSqlInstancePoolUsage
Vous pouvez ajouter le paramètre -ExpandChildren pour obtenir une vue d'ensemble détaillée du pool et des instances qu'il contient :
$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren
Pour répertorier les bases de données d'une instance, utilisez Get-AzSqlInstanceDatabase :
$databaseParams = @{
InstanceName = $instance01Name
ResourceGroupName = $resourceGroupName
}
$databases = Get-AzSqlInstanceDatabase @databaseParams
Remarque
Pour vérifier les limites des instances déployées dans un pool et des bases de données par pool d'instances, consultez les limites de ressources.
Mettre à jour un pool d’instances
Vous pouvez mettre à jour les paramètres d'un pool d'instances existant à l'aide de PowerShell ou d’Azure CLI.
Vous pouvez utiliser PowerShell pour modifier les limites du pool d'instances.
L'exemple de script suivant modifie le type de licence, la taille vCore et le type de matériel :
Changer de type de licence :
$instancePoolParams = @{
LicenseType = "BasePrice"
VCores = 16
ComputeGeneration = "Gen8"
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams
Vous pouvez également déterminer les planifications de fenêtre de maintenance disponibles :
$parameters = @{
Location = $location
MaintenanceScope = "SQLManagedInstance"
}
$configurations = Get-AzMaintenancePublicConfiguration @parameters
$maintenanceWindowOptions = $configurations | Where-Object { $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance" }
Vous pouvez ensuite modifier la fenêtre de maintenance en spécifiant une option de fenêtre, par exemple :
$instancePoolParams = @{
MaintenanceConfigurationId = $maintenanceWindowOptions[1].Id
}
$instancePool | Set-AzSqlInstancePool @instancePoolParams
Mettre à jour un pool d’instances
Si les limites de ressources du pool n'ont pas été dépassées, vous pouvez modifier les configurations de ressources pour une instance à l'intérieur d'un pool à l'aide de PowerShell ou d'Azure CLI,
Pour modifier les paramètres de ressource d'une instance à l'intérieur d'un pool, utilisez Set-AzSqlInstance.
L'exemple suivant met à jour les vCores sur 8 et remplace la taille de stockage par 512 Go pour Instance1 :
$instancePoolParams = @{
VCore = 8
StorageSizeInGB = 512
InstancePoolName = $instancePoolName
}
$instance1name | Set-AzSqlInstance @instancePoolParams
Supprimer un pool d’instances
Vous pouvez supprimer un pool d'instances à l'aide de PowerShell ou d'Azure CLI, une fois toutes les instances du pool supprimées ou déplacées hors du pool.
Pour supprimer un pool d'instances, utilisez Remove-AzSqlInstancePool.
L'exemple de script suivant supprime un pool d'instances vide :
$params = @{
ResourceGroupName = "<resource group name>"
Name = "<instance pool name>"
}
Remove-AzSqlInstancePool @params
Opérations des pools d’instances
Le tableau suivant présente les opérations de pool d'instances disponibles :
Commande | Portail Azure | PowerShell | Azure CLI |
---|---|---|---|
Créer un pool d’instances | Oui | Oui | Oui |
Mettre à jour les propriétés du pool | Non | Oui | Oui |
Vérifier l'utilisation et les propriétés du pool | Oui | Oui | Oui |
Supprimer un pool d’instances | Oui | Oui | Oui |
Créer une nouvelle managed instance à l'intérieur du pool | Oui | Oui | Oui |
Déplacer une Managed Instance dans un pool | Non | Oui | Oui |
Supprimer Managed Instance du pool | Oui | Oui | Oui |
Déplacer une Managed Instance hors d'un pool | Non | Oui | Oui |
Créer une base de données dans une instance à l'intérieur d'un pool | Oui | Oui | Oui |
Supprimer une base de données de SQL Managed Instance | Oui | Oui | Oui |
Pour utiliser PowerShell, installez la dernière version de PowerShell Core et suivez les instructions pour installer le module Azure PowerShell.
Commandes PowerShell disponibles :
Applet de commande | Description |
---|---|
New-AzSqlInstancePool | Crée un pool d'instances. |
Get-AzSqlInstancePool | Retourne des informations sur un pool d’instances. |
Set-AzSqlInstancePool | Définit les propriétés d'un pool d'instances. |
Remove-AzSqlInstancePool | Supprime un pool d'instances. |
Get-AzSqlInstancePoolUsage | Retourne des informations sur l'utilisation du pool d'instances. |
Pour les opérations liées aux instances à la fois dans les pools et les instances uniques, utilisez les commandes de l’instance managée standard, mais la propriété de nom du pool d’instances doit être remplie lors de l’utilisation de ces commandes pour une instance d’un pool.
Limites
Pendant l'aperçu public, les instances d'un pool ont les limitations suivantes :
- Le nom du pool ne peut contenir que des lettres minuscules, des chiffres et des traits d’union, et ne peut pas commencer par un trait d’union.
- Toutes les instances du pool utilisent le même modèle de gestion des licences. Lorsque vous spécifiez un modèle de licence pour une instance qui est différent du modèle de licence pour le pool, ce dernier est utilisé. Lorsque l'instance est déplacée hors du pool, elle bascule automatiquement vers une licence payante complète (
LicenseType
= « LicenseIncluded »). Activez manuellement Azure Hybrid Benefit ou l'avantage des droits de basculement hybride pour modifier le modèle de gestion des licences. - Les instances groupées doivent appartenir au même sous-réseau et au même groupe de ressources. Le déplacement d'une instance dans et hors du pool n'est possible que dans le sous-réseau du pool et du même groupe de ressources.
- Seul le niveau de service Usage général est disponible sur le matériel de série standard (Gen5) ou premium. Les niveaux de service Usage général nouvelle génération et Critique pour l’entreprise, ainsi que le matériel à mémoire optimisée de la série Premium ne sont pas disponibles.
- Le nombre maximum possible d'instances dans le pool est de 40.
- Un pool d'instances ne peut être supprimé qu'une fois toutes les instances du pool supprimées ou déplacées hors du pool.
- Vous ne pouvez pas utiliser le portail Azure pour :
- Configurer le pool d'instances. Utiliser PowerShell ou Azure CLI à la place.
- Déplacer les instances dans et hors du pool. Utiliser PowerShell ou Azure CLI à la place.
- Les fonctionnalités SQL Managed Instance suivantes ne sont pas prises en charge lorsque les instances se trouvent dans un pool :
- Groupes de basculement. Les droits de basculement ne sont pas disponibles pour les instances d'un pool.
- Démarrer/Arrêter.
- Redondance de zone.
- La tarification des instances de la capacité de réserve n'est pas disponible.
Demandes de support
Créez et gérez les demandes de support pour les pools d’instances dans le portail Azure.
Pour créer une demande de support dans le portail Azure, procédez comme suit :
Ouvrez la page Nouvelle demande de support dans le portail Azure.
Sur la Nouvelle demande de requête, fournissez les informations suivantes :
- Pour le Type de problème, sélectionnez
Technical
. - Choisissez l’Abonnement approprié dans la liste déroulante.
- Pour le Type de service, sélectionnez
SQL Managed Instance
. - Pour la Ressource, indiquez le nom de votre SQL Managed Instance s’il existe, ou sélectionnez Question générale si vous n’êtes pas en mesure de déployer votre instance dans le pool.
- Pour Résumé, tapez
instance pools
. - Pour le Type de problème, choisissez
Create, Scale, Stop, Start, or Delete Resources
. - Pour le Sous-type de problème, choisissez
Instance Pools
.
- Pour le Type de problème, sélectionnez
Sélectionnez Suivant dans les pages suivantes jusqu’à ce que vous puissiez Créer votre demande de support.
Pour créer des déploiements SQL Managed Instance plus grands (avec ou sans pools d'instances), vous devrez peut-être obtenir un quota régional plus grand. Pour plus d’informations, consultez Demander des augmentations de quota pour Azure SQL Database. La logique de déploiement des pools d'instance compare la consommation totale de vCores au niveau du pool à votre quota pour déterminer si vous êtes autorisé à créer des ressources sans augmenter davantage votre quota.
Contenu connexe
- Fonctionnalités communes de SQL
- Configuration du réseau virtuel SQL Managed Instance
- Créer une instance managée démarrage rapide
- Migration de SQL Managed Instance à l'aide du service de migration de bases de données
- Surveiller Azure SQL Managed Instance avec l’observateur de base de données
- Tarification de SQL Managed Instance