Tutoriel : restaurez un cluster de bases de données Amazon Aurora à partir d'un instantané de cluster de bases de données - Amazon Aurora

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Tutoriel : restaurez un cluster de bases de données Amazon Aurora à partir d'un instantané de cluster de bases de données

Un scénario fréquent lors de l'utilisation d'Amazon Aurora consiste à avoir une instance de base de données que vous utilisez occasionnellement, mais dont vous n'avez pas besoin en permanence. Par exemple, vous pouvez utiliser un cluster de base de données pour contenir les données d'un rapport que vous n'exécutez que tous les trimestres. Dans ce scénario, une manière d'économiser est de prendre un instantané du cluster de base de données après la génération du rapport. Vous supprimez ensuite le cluster de base de données et le restaurez lorsque vous devez charger de nouvelles données et exécuter le rapport au cours du trimestre suivant.

Lorsque vous restaurez un cluster de base de données, vous fournissez le nom de l'instantané du cluster de base de données à restaurer. Vous fournissez ensuite un nom pour le nouveau cluster de base de données qui est créé à partir de l'opération de restauration. Pour plus d'informations sur la restauration de clusters de base de données à partir d'instantanés, veuillez consulter Restauration à partir d'un instantané de cluster de base de données.

Dans ce tutoriel, nous mettons également à niveau le cluster de base de données restauré de la version 2 de Aurora MySQL (compatible avec MySQL 5.7) à la version 3 de Aurora MySQL (compatible avec MySQL 8.0).

Restauration d'un cluster de bases de données à partir d'un instantané de cluster de bases de données à l'aide de la console Amazon RDS

Lorsque vous restaurez un cluster de base de données à partir d'un instantané à l'aide de la AWS Management Console, l'instance de base de données principale (en écriture) est également créée.

Note

Pendant la création de l'instance de base de données principale, elle apparaît comme une instance en lecture, mais après la création, elle devient une instance en écriture.

Pour restaurer un cluster DB à partir d'un instantané de cluster DB
  1. Connectez-vous à l'AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Snapshots.

  3. Choisissez l'instantané de cluster de base de données à partir duquel vous voulez restaurer.

  4. Pour Actions, choisissez Restaurer l'instantané.

    Option Restore snapshot (Restaurer l'instantané) dans le menu Actions de la console RDS

    La page Restaurer l'instantané s'affiche.

  5. Sous DB instance settings (Paramètres de l'instance de la base de données), procédez comme suit :

    1. Utilisez le paramètre par défaut pour DB engine (Moteur de la base de données).

    2. Pour Available versions (Versions disponibles), choisissez une version compatible avec MySQL 8.0, telle que Aurora MySQL 3.02.0 (compatible with MySQL 8.0.23) (Aurora MySQL 3.02.0 [compatible avec MySQL 8.0.23]).

    Page Restore snapshot (Restaurer l'instantané)
  6. Sous Settings (Paramètres), pour DB cluster identifier (Identifiant de cluster de base de données), saisissez le nom unique que vous voulez utiliser pour le cluster de base de données restaurée, par exemple my-80-cluster.

  7. Sous Connectivity (Connectivité), utilisez les paramètres par défaut pour les éléments suivants :

    • Cloud privé virtuel (VPC)

    • Groupe de sous-réseaux de base de données

    • Accès public

    • VPC security group (firewall) [Groupe de sécurité VPC (pare-feu)]

  8. Choisissez la classe d'instance de base de données.

    Pour ce didacticiel, choisissez Burstable classes (includes t classes) [Classes à capacité extensible (inclut les classes t)], puis db.t3.medium.

    Note

    Nous recommandons d'utiliser les classes d'instance de base de données T uniquement pour les serveurs de développement et de test, ou pour d'autres serveurs non dédiés à la production. Pour plus de détails sur les classes d'instance T, consultez Types de classes d'instance de base de données.

    Configuration des instances
  9. Pour Database authentication (Authentification de la base de données), utilisez le paramètre par défaut.

  10. Pour Encryption (Chiffrement), utilisez les paramètres par défaut.

    Si le cluster de base de données source de l'instantané était chiffré, le cluster de base de données restauré est également chiffré. Vous ne pouvez pas la rendre non chiffrée.

  11. Développez Additional configuration (Configuration supplémentaire) en bas de la page.

    Configuration supplémentaire
  12. Faites les choix suivants :

    1. Pour ce tutoriel, utilisez la valeur par défaut pour DB cluster parameter group (Groupe de paramètres de base de données).

    2. Pour ce tutoriel, utilisez la valeur par défaut pour DB parameter group (Groupe de paramètres de base de données).

    3. Pour Log exports (Exportations de journaux), cochez toutes les cases.

    4. Pour Deletion protection (Protection contre la suppression), cochez la case Enable deletion protection (Activer la protection contre la suppression).

  13. Choisissez Restore DB Instance (Restaurer une instance de base de données).

La page Databases (Bases de données) affiche le cluster de base de données restaurée, avec le statut Creating.

Cluster de base de données restauré sur la page Databases (Bases de données)

Pendant la création de l'instance de base de données principale, elle apparaît comme une instance en lecture, mais après la création, elle devient une instance en écriture.

Restauration d'un cluster de base de données à partir d'un instantané de cluster de base de données, à l'aide de la AWS CLI

Pour restaurer un cluster de base de données à partir d'un instantané avec la AWS CLI, suivez les deux étapes suivantes :

Restauration du cluster de base de données

Vous utilisez la commande restore-db-cluster-from-snapshot. Les options suivantes sont requises :

  • --db-cluster-identifier : le nom du cluster de base de données restauré.

  • --snapshot-identifier : le nom de l'instantané de la base depuis lequel effectuer la restauration.

  • --engine : le moteur de base de données du cluster de bases de données restauré. Il doit être compatible avec le moteur de base de données du cluster de base de données source.

    Les choix sont les suivants :

    • aurora-mysql : Aurora compatible avec MySQL 5.7 et 8.0.

    • aurora-postgresql : compatible avec Aurora PostgreSQL.

    Dans cet exemple, nous utilisons aurora-mysql.

  • --engine-version : la version de la base de données restaurée. Dans cet exemple, nous utilisons une version compatible avec MySQL-8.0.

L'exemple suivant restaure un cluster de base de données compatible avec Aurora MySQL 8.0 nommé my-new-80-cluster à partir d'un instantané de cluster de base de données nommé my-57-cluster-snapshot.

Pour restaurer le cluster de bases de données
  • Utilisez l’une des commandes suivantes.

    Pour LinuxmacOS, ou Unix :

    aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier my-new-80-cluster \ --snapshot-identifier my-57-cluster-snapshot \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.02.0

    Dans Windows :

    aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier my-new-80-cluster ^ --snapshot-identifier my-57-cluster-snapshot ^ --engine aurora-mysql ^ --engine-version 8.0.mysql_aurora.3.02.0

La sortie se présente comme suit :

{ "DBCluster": { "AllocatedStorage": 1, "AvailabilityZones": [ "eu-central-1b", "eu-central-1c", "eu-central-1a" ], "BackupRetentionPeriod": 14, "DatabaseName": "", "DBClusterIdentifier": "my-new-80-cluster", "DBClusterParameterGroup": "default.aurora-mysql8.0", "DBSubnetGroup": "default", "Status": "creating", "Endpoint": "my-new-80-cluster.cluster-############.eu-central-1.rds.amazonaws.com", "ReaderEndpoint": "my-new-80-cluster.cluster-ro-############.eu-central-1.rds.amazonaws.com", "MultiAZ": false, "Engine": "aurora-mysql", "EngineVersion": "8.0.mysql_aurora.3.02.0", "Port": 3306, "MasterUsername": "admin", "PreferredBackupWindow": "01:55-02:25", "PreferredMaintenanceWindow": "thu:21:14-thu:21:44", "ReadReplicaIdentifiers": [], "DBClusterMembers": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-########", "Status": "active" } ], "HostedZoneId": "Z1RLNU0EXAMPLE", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:eu-central-1:123456789012:key/#######-5ccc-49cc-8aaa-############", "DbClusterResourceId": "cluster-ZZ12345678ITSJUSTANEXAMPLE", "DBClusterArn": "arn:aws:rds:eu-central-1:123456789012:cluster:my-new-80-cluster", "AssociatedRoles": [], "IAMDatabaseAuthenticationEnabled": false, "ClusterCreateTime": "2022-07-05T20:45:42.171000+00:00", "EngineMode": "provisioned", "DeletionProtection": false, "HttpEndpointEnabled": false, "CopyTagsToSnapshot": false, "CrossAccountClone": false, "DomainMemberships": [], "TagList": [] } }

Création de l'instance de base de données principale (écriture)

Pour créer l'instance de base de données principale (écriture), vous utilisez la commande create-db-instance. Les options suivantes sont requises :

  • --db-cluster-identifier : le nom du cluster de base de données restauré.

  • --db-instance-identifier : le nom de l'instance principale de la base de données.

  • --db-instance-class : la classe d'instance de l'instance principale de la base de données. Dans cet exemple, nous utilisons db.t3.medium.

    Note

    Nous recommandons d'utiliser les classes d'instance de base de données T uniquement pour les serveurs de développement et de test, ou pour d'autres serveurs non dédiés à la production. Pour plus de détails sur les classes d'instance T, consultez Types de classes d'instance de base de données.

  • --engine : le moteur de base de données de l'instance de base de données principale. Il doit s'agir du même moteur de base de données que celui utilisé par le cluster de base de données restauré.

    Les choix sont les suivants :

    • aurora-mysql : Aurora compatible avec MySQL 5.7 et 8.0.

    • aurora-postgresql : compatible avec Aurora PostgreSQL.

    Dans cet exemple, nous utilisons aurora-mysql.

L'exemple suivant crée une instance de base de données principale (écriture) nommée my-new-80-cluster-instance dans le cluster de base de données compatible avec Aurora MySQL 8.0 restauré nommé my-new-80-cluster.

Pour créer l'instance de base de données principale
  • Utilisez l’une des commandes suivantes.

    Pour LinuxmacOS, ou Unix :

    aws rds create-db-instance \ --db-cluster-identifier my-new-80-cluster \ --db-instance-identifier my-new-80-cluster-instance \ --db-instance-class db.t3.medium \ --engine aurora-mysql

    Dans Windows :

    aws rds create-db-instance ^ --db-cluster-identifier my-new-80-cluster ^ --db-instance-identifier my-new-80-cluster-instance ^ --db-instance-class db.t3.medium ^ --engine aurora-mysql

La sortie se présente comme suit :

{ "DBInstance": { "DBInstanceIdentifier": "my-new-80-cluster-instance", "DBInstanceClass": "db.t3.medium", "Engine": "aurora-mysql", "DBInstanceStatus": "creating", "MasterUsername": "admin", "AllocatedStorage": 1, "PreferredBackupWindow": "01:55-02:25", "BackupRetentionPeriod": 14, "DBSecurityGroups": [], "VpcSecurityGroups": [ { "VpcSecurityGroupId": "sg-########", "Status": "active" } ], "DBParameterGroups": [ { "DBParameterGroupName": "default.aurora-mysql8.0", "ParameterApplyStatus": "in-sync" } ], "DBSubnetGroup": { "DBSubnetGroupName": "default", "DBSubnetGroupDescription": "default", "VpcId": "vpc-2305ca49", "SubnetGroupStatus": "Complete", "Subnets": [ { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1a" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1b" }, "SubnetOutpost": {}, "SubnetStatus": "Active" }, { "SubnetIdentifier": "subnet-########", "SubnetAvailabilityZone": { "Name": "eu-central-1c" }, "SubnetOutpost": {}, "SubnetStatus": "Active" } ] }, "PreferredMaintenanceWindow": "sat:02:41-sat:03:11", "PendingModifiedValues": {}, "MultiAZ": false, "EngineVersion": "8.0.mysql_aurora.3.02.0", "AutoMinorVersionUpgrade": true, "ReadReplicaDBInstanceIdentifiers": [], "LicenseModel": "general-public-license", "OptionGroupMemberships": [ { "OptionGroupName": "default:aurora-mysql-8-0", "Status": "in-sync" } ], "PubliclyAccessible": false, "StorageType": "aurora", "DbInstancePort": 0, "DBClusterIdentifier": "my-new-80-cluster", "StorageEncrypted": true, "KmsKeyId": "arn:aws:kms:eu-central-1:534026745191:key/#######-5ccc-49cc-8aaa-############", "DbiResourceId": "db-5C6UT5PU0YETANOTHEREXAMPLE", "CACertificateIdentifier": "rds-ca-2019", "DomainMemberships": [], "CopyTagsToSnapshot": false, "MonitoringInterval": 0, "PromotionTier": 1, "DBInstanceArn": "arn:aws:rds:eu-central-1:123456789012:db:my-new-80-cluster-instance", "IAMDatabaseAuthenticationEnabled": false, "PerformanceInsightsEnabled": false, "DeletionProtection": false, "AssociatedRoles": [], "TagList": [] } }