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. Il explique en outre comment déplacer des instances dans et hors du pool.
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 si vous prévoyez d'utiliser 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 contenant 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 le pool est de 40.
Créer un pool d’instances
Vous pouvez créer un pool d'instances à l'aide de PowerShell ou d'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 votre pool d'instances, utilisez New-AzSqlInstancePool.
Tenez compte des éléments suivants :
- Pour
LicenseType
, utilisez BasePrice pour Azure Hybrid Benefit ou LicenseIncluded si vous n'avez pas de licence SQL Server qui peut être utilisée pour la remise Azure Hybrid Benefit. - Utilisez
Get-AzLocation | select displayname, location
pour obtenir une liste des régions où des pools d'instances sont disponibles.
Créez un nouveau pool d'instances avec 8 vCores sur du matériel de série standard (Gen5) en exécutant l'exemple de script suivant :
# Identify the SubnetId
$virtualNetwork = Get-AzVirtualNetwork -Name <vnet name> -ResourceGroupName <resource group name>
$miSubnet = Get-AzVirtualNetworkSubnetConfig -Name <subnet name> -VirtualNetwork $virtualNetwork
$miSubnetConfigId = $miSubnet.Id
# Create the instance
$instancePool = New-AzSqlInstancePool `
-ResourceGroupName <resource group name> `
-Name <instance pool name> `
-SubnetId $miSubnetConfigId `
-LicenseType LicenseIncluded `
-VCore 8 `
-Edition GeneralPurpose `
-ComputeGeneration Gen5 `
-Location <region>
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 de PowerShell ou d'Azure CLI.
Pour identifier les paramètres du pool, utilisez Get-AzSqlInstancePool, puis créez votre instance dans le pool spécifique avec New-AzSqlInstance.
Créez une nouvelle instance dans votre pool en exécutant l'exemple de script suivant :
$adminCredential = Get-Credential
$instancePool = Get-AzSqlInstancePool -ResourceGroupName <resource group name> -Name <instance pool name>
$instance01 = $instancePool | New-AzSqlInstance `
-Name $instance01`
-VCore 2 `
-StorageSizeInGB 32 `
-AdministratorCredential $adminCredential `
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.
Pour déplacer une instance dans un pool, 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
Pour vous connecter à une instance dans un pool, activez d'abord le point de terminaison public de l'instance, puis autorisez le trafic de point de terminaison public sur le groupe de sécurité réseau.
Pour activer le point de terminaison public pour une instance, définissez -PublicDataEndpointEnabled
sur true lorsque vous mettez à jour les propriétés de l'instance avec Set-AzSqlInstance :
$instance01 | Set-AzSqlInstance -InstancePoolName $instancePoolName -PublicDataEndpointEnabled $true
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 à l'aide de PowerShell ou d'Azure CLI.
Pour créer une nouvelle base de données pour votre instance, utilisez New-AzSqlInstanceDatabase :
New-AzSqlInstanceDatabase -Name <database name> -InstanceName <instance name> -ResourceGroupName <resource group>
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 :
$databases = Get-AzSqlInstanceDatabase -InstanceName $instance01Name -ResourceGroupName $resourceGroupName
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 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 :
$instancePool | Set-AzSqlInstancePool -LicenseType BasePrice -VCores 16 -ComputeGeneration Gen8
Vous pouvez également déterminer les planifications de fenêtre de maintenance disponibles :
# 'Available maintenance schedules in $location'
$configurations = Get-AzMaintenancePublicConfiguration
$configurations | ?{ $_.Location -eq $location -and $_.MaintenanceScope -eq "SQLManagedInstance"}
$maintenanceWindowOptions = $configurations | ?{ $_.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 :
$instancePool | Set-AzSqlInstancePool -MaintenanceConfigurationId $maintenanceWindowOptions[1].Id
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.
Par exemple, le script suivant met à jour les vCores sur 8 et remplace la taille de stockage par 512 Go pour Instance1 :
$instance1name | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName $instancePoolName
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 :
Remove-AzSqlInstancePool -ResourceGroupName <resource group name -Name <instance pool name>
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 | Non | 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 Managed Instance à l'intérieur du pool | Non | 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.
Si vous rencontrez des problèmes lors de la création ou de la suppression d'une instance, veillez à indiquer Pools d'instances dans le champ Sous-type de problème.
Si vous rencontrez des problèmes liés à une instance managée unique ou à une base de données au sein d'un pool, vous devez créer un ticket de support standard pour Azure SQL Managed Instance.
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 à l'aide d'Azure SQL Analytics.
- Tarification de SQL Managed Instance.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour