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 - Amazon Aurora

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

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-identifier my-57-cluster-snapshot \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.02.0

    En: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 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, usaremos db.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-class db.t3.medium \ --engine aurora-mysql

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