Comment déplacer une instance Amazon RDS hors d’une zone de disponibilité ?
Je souhaite déplacer une instance Amazon Relational Database Service (Amazon RDS) ou Amazon Aurora hors d’une zone de disponibilité. Je souhaite également supprimer le sous-réseau qui se trouve dans un groupe de sous-réseaux de base de données Amazon RDS.
Brève description
Pour lancer une instance de base de données Amazon RDS, un groupe de sous-réseaux de base de données doit contenir au moins deux sous-réseaux. Vous pouvez lancer des instances RDS uniquement dans les sous-réseaux du groupe de sous-réseaux de base de données associé. Les sous-réseaux doivent se trouver dans différentes zones de disponibilité de la même région AWS. Pour minimiser les perturbations, il est recommandé d’utiliser des sous-réseaux provenant d’au moins trois zones de disponibilité.
Résolution
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l’interface de la ligne de commande AWS (AWS CLI), consultez Résolution des erreurs liées à l’AWS CLI. Vérifiez également que vous utilisez bien la version la plus récente de l’AWS CLI.
Déterminer la zone de disponibilité
ID de zone de disponibilité
Utilisez les ID de zone de disponibilité pour déterminer l’emplacement des ressources d’un compte AWS par rapport aux ressources d’un autre compte. Par exemple, vous avez des instances Amazon Elastic Compute Cloud (Amazon EC2) qui s’exécutent dans un compte situé dans use1-az2. Ces instances EC2 communiquent avec des bases de données RDS qui s’exécutent dans un compte situé dans use1-az3. Pour éviter les coûts supplémentaires et la latence liés au trafic entre zones de disponibilité, exécutez les deux instances dans la même zone de disponibilité. Pour réduire la durée d’indisponibilité en cas de panne, utilisez un déploiement multi-AZ.
Pour vérifier les mappages des zones de disponibilité de votre compte et obtenir les noms de vos zones de disponibilité, exécutez la commande describe-availability-zones :
aws ec2 describe-availability-zones --zone-ids ZONE ID --region REGION
Remarque : remplacez ZONE ID par l’ID de votre zone de disponibilité et REGION par votre région.
Identifier l’instance RDS que vous souhaitez déplacer
Pour identifier l’instance RDS que vous souhaitez déplacer, utilisez le nom de la zone de disponibilité dans AWS Config ou exécutez des commandes de liste dans l’AWS CLI.
AWS Config
Activez AWS Config. Exécutez ensuite la commande suivante pour renvoyer la liste des instances de base de données qui s’exécutent dans la zone de disponibilité ou y possèdent un nœud secondaire :
SELECT resourceId, resourceName, accountId, awsRegion, configuration.availabilityZone, configuration.secondaryAvailabilityZone WHERE resourceType = 'AWS::RDS::DBInstance' AND ( configuration.availabilityZone = 'us-east-1e' OR configuration.secondaryAvailabilityZone = 'us-east-1e' )
Remarque : dans la requête précédente, la zone de disponibilité doit correspondre au nom de zone indiqué dans les mappages de votre compte.
AWS CLI
Exécutez la commande describe-db-instances pour répertorier les instances de base de données RDS actuellement déployées dans la zone de disponibilité :
aws rds describe-db-instances \ --query 'DBInstances[?Engine!=`aurora-postgresql`&&Engine!=`aurora-mysql`&&(AvailabilityZone==`AVAILABILITY ZONE` || SecondaryAvailabilityZone==`AVAILABILITY ZONE`)].{"0-Engine":Engine, "1-DBInstanceIdentifier":DBInstanceIdentifier, "2-DBSubnetGroupName":DBSubnetGroup.DBSubnetGroupName, "3-AvailabilityZone":AvailabilityZone, "4-SecondaryAvailabilityZone":SecondaryAvailabilityZone} | sort_by([], &"1-DBInstanceIdentifier")' \ --region us-east-1
Exécutez la commande describe-db-instances pour répertorier les instances de base de données Aurora actuellement déployées dans la zone de disponibilité :
aws rds describe-db-instances \ --query 'DBInstances[?Engine==`aurora-postgresql`&&Engine==`aurora-mysql`&&AvailabilityZone==`AVAILABILITY ZONE`].{"0-Engine":Engine, "1-DBClusterIdentifier":DBClusterIdentifier, "2-DBInstanceIdentifier":DBInstanceIdentifier, "3-DBSubnetGroupName":DBSubnetGroup.DBSubnetGroupName, "4-AvailabilityZone":AvailabilityZone} | sort_by([], &"1-DBClusterIdentifier")' \ --region us-east-1
Déplacer l’instance hors de la zone de disponibilité
Instance de base de données RDS
Remarque : Vous ne pouvez pas modifier directement la zone de disponibilité d’un déploiement mono-AZ.
Pour déplacer une instance RDS mono-AZ hors d’une zone de disponibilité, procédez comme suit :
- Modifiez le groupe de sous-réseaux de base de données afin de supprimer tous les sous-réseaux situés dans des zones de disponibilité autres que votre zone cible. Cela oblige RDS à placer l’instance de secours dans votre zone de disponibilité cible lorsque vous activez le mode multi-AZ.
Remarque : le groupe de sous-réseaux de base de données doit toujours contenir des sous-réseaux dans au moins deux zones de disponibilité. Conservez le sous-réseau de la zone de disponibilité actuelle de l’instance et celui de votre zone de disponibilité cible. Supprimez les sous-réseaux de toutes les autres zones de disponibilité. - Modifiez l’instance de base de données pour en faire un déploiement multi-AZ. RDS crée une instance de secours dans votre zone de disponibilité cible, car il s’agit de la seule autre zone de disponibilité disponible dans le groupe de sous-réseaux.
- Redémarrez l’instance de base de données avec basculement. L’instance de base de données de secours de votre zone de disponibilité cible devient l’instance de base de données principale.
Remarque : vérifiez que l’instance de base de données apparaît dans la zone de disponibilité cible après le basculement. - Modifiez l’instance de base de données pour en faire un déploiement mono-AZ afin de supprimer l’ancienne instance de secours.
- (Facultatif) Ajoutez de nouveau les sous-réseaux que vous avez supprimés à l’étape 1 afin de restaurer la configuration d’origine du groupe de sous-réseaux de base de données.
Remarque : pour la réplication synchrone RDS multi-AZ, AWS ne facture pas de frais de transfert de données intra-région. Le processus de basculement n’entraîne pas de frais de transfert de données supplémentaires.
Instance de base de données Aurora
Pour déplacer une instance Aurora hors d’une zone de disponibilité, procédez comme suit :
- Si votre instance de base de données Aurora est un déploiement mono-AZ, ajoutez une nouvelle instance de lecteur à votre cluster de base de données Aurora. Lorsque vous créez la nouvelle instance de lecteur, choisissez l’une des zones de disponibilité de votre groupe de sous-réseaux de base de données.
- Forcez un basculement du cluster de base de données afin de promouvoir la nouvelle instance de lecteur comme nouvelle instance de base de données d’enregistreur.
Remarque : si vous disposez de plusieurs instances de lecteur cibles et n’en spécifiez aucune, Amazon RDS promeut le lecteur ayant le niveau de promotion le plus élevé. Les priorités vont de 0 pour la priorité la plus élevée à 15 pour la plus faible. Pour plus d’informations, consultez Tolérance aux pannes d’un cluster de base de données Aurora. - Supprimez l’ancienne instance de base de données principale.
Supprimer les sous-réseaux du groupe de sous-réseaux de base de données
Remarque : si vous avez lancé une instance dans le sous-réseau, vous ne pouvez pas supprimer ce sous-réseau. Si vous avez lancé des instances de base de données dans le sous-réseau que vous supprimez, le message d’erreur suivant s’affiche : « We're sorry, your request to modify DB subnet group has failed. Some of the subnets to be deleted are currently in use: »
Pour supprimer les sous-réseaux du groupe de sous-réseaux de base de données, procédez comme suit :
-
Ouvrez la console Aurora et RDS.
-
Dans le volet de navigation, choisissez Groupes de sous-réseaux.
-
Sélectionnez le groupe de sous-réseaux auquel l’instance de base de données est associée, puis choisissez Modifier.
-
Sur la page Modifier les groupes de sous-réseaux de base de données, sous Ajouter des sous-réseaux, supprimez les sous-réseaux que vous souhaitez supprimer.
-
Pour vérifier quelles instances de base de données RDS se trouvent encore dans la zone de disponibilité, exécutez la commande describe-db-instances :
aws rds describe-db-instances \ --query 'DBInstances[?Engine!=`aurora-postgresql`&&Engine!=`aurora-mysql`&&(AvailabilityZone==`AVAILABILITY ZONE` || SecondaryAvailabilityZone==`AVAILABILITY ZONE`)].{"0-Engine":Engine, "1-DBInstanceIdentifier":DBInstanceIdentifier, "2-DBSubnetGroupName":DBSubnetGroup.DBSubnetGroupName, "3-AvailabilityZone":AvailabilityZone, "4-SecondaryAvailabilityZone":SecondaryAvailabilityZone} | sort_by([], &"1-DBInstanceIdentifier")' \ --region us-east-1Pour vérifier quelles instances de base de données Aurora se trouvent encore dans la zone de disponibilité, exécutez la commande describe-db-instances :
aws rds describe-db-instances \ --query 'DBInstances[?Engine==`aurora-postgresql`&&Engine==`aurora-mysql`&&AvailabilityZone==`AVAILABILITY ZONE`].{"0-Engine":Engine, "1-DBClusterIdentifier":DBClusterIdentifier, "2-DBInstanceIdentifier":DBInstanceIdentifier, "3-DBSubnetGroupName":DBSubnetGroup.DBSubnetGroupName, "4-AvailabilityZone":AvailabilityZone} | sort_by([], &"1-DBClusterIdentifier")' \ --region us-east-1 -
Choisissez Enregistrer.
Rétablir le déploiement d’origine de l’instance RDS
Si vous avez commencé avec un déploiement multi-AZ, modifiez l’instance de base de données afin qu’elle soit un déploiement multi-AZ. Si vous avez commencé avec un déploiement mono-AZ, aucune autre étape n’est requise.
Si vous avez supprimé une instance de lecteur de votre cluster de base de données Aurora, ajoutez une nouvelle instance de base de données de lecteur à votre cluster. Si vous avez commencé avec un déploiement mono-AZ, aucune autre étape n’est requise.
Informations connexes
- Sujets
- Database
- Langue
- Français

This article was reviewed and updated on 2026-08-25.
Contenus pertinents
demandé il y a 2 ans
demandé il y a un an
demandé il y a 8 mois
demandé il y a 3 ans
demandé il y a un an
AWS OFFICIELA mis à jour il y a 4 ans
AWS OFFICIELA mis à jour il y a un an