Tutorial: Restauración de un clúster de base de datos a partir de una instantánea de clúster de base de datos mediante AWS CLI
En este tutorial, restaurará un clúster de base de datos a partir de una instantánea de clúster de base de datos mediante la AWS CLI. Restauración de un clúster de base de datos a partir de una instantánea de clúster de base de datos mediante AWS CLI
-
Restauración de un clúster de bases de datos utilizando el comando restore-db-clúster-from-snapshot
-
Creación de la instancia de base de datos principal (escritora) utilizando el comando create-db-instance
Restauración de un clúster de bases de datos
Utilice el comando restore-db-cluster-from-snapshot
. Se requieren las siguientes opciones:
-
--db-cluster-identifier
: nombre del clúster de base de datos restaurado. -
--snapshot-identifier
: nombre de la instantánea de base de datos desde la que se va a restaurar. -
--engine
: motor de base de datos del clúster de base de datos restaurado. Debe ser compatible con el motor de base de datos del clúster de base de datos de origen.Las opciones son las siguientes:
-
aurora-mysql
: Aurora compatible con MySQL 5.7 y 8.0 -
aurora-postgresql
: Aurora compatible con PostgreSQL.
En este ejemplo, usaremos
aurora-mysql
. -
-
--engine-version
: versión del clúster de base de datos restaurado. En este ejemplo, utilizamos una versión compatible con MySQL 8.0.
El siguiente ejemplo restaura un clúster de base de datos de Aurora compatible con MySQL 8.0 llamado my-new-80-cluster
desde una instantánea de clúster de base de datos denominada my-57-cluster-snapshot
.
Para restaurar un clúster de bases de datos
-
Utilice uno de los siguientes comandos.
Para Linux, macOS o:Unix
aws rds restore-db-cluster-from-snapshot \ --db-cluster-identifier
my-new-80-cluster
\ --snapshot-identifiermy-57-cluster-snapshot
\ --engine aurora-mysql \ --engine-version8.0.mysql_aurora.3.02.0
En:Windows
aws rds restore-db-cluster-from-snapshot ^ --db-cluster-identifier
my-new-80-cluster
^ --snapshot-identifiermy-57-cluster-snapshot
^ --engine aurora-mysql ^ --engine-version8.0.mysql_aurora.3.02.0
La salida se parece a la siguiente.
{ "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": [] } }
Creación de la instancia de base de datos principal (escritora)
Para crear la instancia de base de datos principal (escritora), utilice el comando create-db-instance
. Se requieren las siguientes opciones:
-
--db-cluster-identifier
: nombre del clúster de base de datos restaurado. -
--db-instance-identifier
: nombre de la instancia de base de datos principal. -
--db-instance-class
: clase de instancia de la instancia de base de datos principal. En este ejemplo, usaremosdb.t3.medium
.nota
Recomendamos que las clases de instancia de base de datos T se utilicen solo para los servidores de desarrollo y de pruebas, o para otros servidores que no se utilicen para la producción. Para obtener más detalles sobre las clases de instancia T, consulte Tipos de clase de instancia de base de datos.
-
--engine
: motor de base de datos de la instancia de base de datos principal. Debe ser el mismo motor de base de datos que utiliza el clúster de base de datos restaurado.Las opciones son las siguientes:
-
aurora-mysql
: Aurora compatible con MySQL 5.7 y 8.0 -
aurora-postgresql
: Aurora compatible con PostgreSQL.
En este ejemplo, usaremos
aurora-mysql
. -
En el siguiente ejemplo se crea una instancia de base de datos principal (escritora) llamada my-new-80-cluster-instance
en el clúster de base de datos de Aurora compatible con MySQL 8.0 denominado my-new-80-cluster
.
Para crear la instancia de base de datos principal
-
Utilice uno de los siguientes comandos.
Para 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-classdb.t3.medium
\ --engine aurora-mysqlEn:Windows
aws rds create-db-instance ^ --db-cluster-identifier my-new-80-cluster ^ --db-instance-identifier
my-new-80-cluster-instance
^ --db-instance-classdb.t3.medium
^ --engine aurora-mysql
La salida se parece a la siguiente.
{ "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": [] } }