Tutorial: Ripristino di un cluster di database da uno snapshot del cluster di database mediante la AWS CLI - Amazon Aurora

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Tutorial: Ripristino di un cluster di database da uno snapshot del cluster di database mediante la AWS CLI

Con questo tutorial, è possibile ripristinare un cluster di database da una snapshot del cluster di database mediante la AWS CLI. Il ripristino di un cluster di database da uno snapshot mediante la AWS CLI comprende due passaggi:

Ripristino del cluster database

Si utilizza il comando restore-db-cluster-from-snapshot. Sono richieste le seguenti opzioni:

  • --db-cluster-identifier: il nome del cluster database ripristinato.

  • --snapshot-identifier: il nome dello snapshot DB da cui eseguire il ripristino.

  • --engine: il motore di database del cluster database ripristinato. Deve essere compatibile con il motore di database del cluster database di origine.

    Le scelte sono le seguenti:

    • aurora-mysql: compatibile con Aurora MySQL 5.7 e 8.0.

    • aurora-postgresql: compatibile con Aurora PostgreSQL.

    In questo esempio viene utilizzato aurora-mysql.

  • --engine-version: la versione del cluster database ripristinato. In questo esempio, si utilizza una versione compatibile con MySQL-8.0.

Nell'esempio seguente viene ripristinato un cluster database compatibile con Aurora MySQL 8.0 denominato my-new-80-cluster da uno snapshot cluster DB denominato my-57-cluster-snapshot.

Per ripristinare il cluster database
  • Utilizzare uno dei seguenti comandi.

    Per Linux, macOS o 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

    Per 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

L'output è simile a quello riportato di seguito.

{ "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": [] } }

Creazione dell'istanza database (scrittura) primaria

Per creare l'istanza database (scrittura) primaria, si utilizza il comando create-db-instance. Sono richieste le seguenti opzioni:

  • --db-cluster-identifier: il nome del cluster database ripristinato.

  • --db-instance-identifier: il nome dell'istanza database primaria.

  • --db-instance-class: la classe istanza dell'istanza database primaria. In questo esempio viene utilizzato db.t3.medium.

    Nota

    Consigliamo di utilizzare le classi di istanza database T solo per i server di sviluppo e test o altri server non di produzione. Per ulteriori informazioni sulle classi di istanza T, consulta Tipi di classi di istanza database.

  • --engine- il motore di database dell'istanza database primaria. Deve essere identico a quello utilizzato dal cluster database ripristinato.

    Le scelte sono le seguenti:

    • aurora-mysql: compatibile con Aurora MySQL 5.7 e 8.0.

    • aurora-postgresql: compatibile con Aurora PostgreSQL.

    In questo esempio viene utilizzato aurora-mysql.

Nell'esempio seguente viene creata un'istanza database (scrittura) primaria denominata my-new-80-cluster-instance nel cluster database compatibile con Aurora MySQL 8.0 denominato my-new-80-cluster.

Per creare l'istanza database primaria
  • Utilizzare uno dei seguenti comandi.

    Per Linux, macOS o 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

    Per 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

L'output è simile a quello riportato di seguito.

{ "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": [] } }