Eliminación de clústeres e instancias de base de datos de Aurora - Amazon Aurora

Eliminación de clústeres e instancias de base de datos de Aurora

Puede eliminar un clúster de base de datos de Aurora cuando ya no lo necesite. Al eliminar el clúster, se elimina el volumen del clúster que contiene todos los datos. Antes de eliminar el clúster, puede guardar una instantánea de los datos. Puede restaurar la instantánea más adelante para crear un nuevo clúster que contenga los mismos datos.

También puede eliminar las instancias de base de datos de un clúster y, al mismo tiempo, conservar el clúster en sí y los datos que contiene. Eliminar las instancias de base de datos puede ayudar a reducir los cargos si el clúster no está ocupado o si no necesita la capacidad de computación de varias instancias de base de datos.

Eliminación de un clúster de base de datos de Aurora

Aurora no proporciona un método de un solo paso para eliminar un clúster de base de datos. Esta opción de diseño está pensada para evitar que accidentalmente pierda datos o quite la conexión de la aplicación. Las aplicaciones de Aurora suelen ser de misión crítica y requieren alta disponibilidad. Por lo tanto, Aurora facilita el escalado ascendente y descendente de la capacidad del clúster mediante la incorporación y la eliminación de instancias de base de datos. Eliminar el clúster de base de datos en sí requiere que realice una eliminación por separado.

Utilice el siguiente procedimiento general para eliminar todas las instancias de base de datos de un clúster y, a continuación, elimine el clúster en sí.

  1. Elimine todas las instancias de lector del clúster. Utilice el procedimiento en Eliminación de una instancia de base de datos de un clúster de base de datos de Aurora.

    Si el clúster tiene alguna una instancia del lector, eliminar una de las instancias solo reduce la capacidad de computación del clúster. Si primero se eliminan las instancias de lector, se garantiza que el clúster permanezca disponible durante todo el procedimiento y no realice operaciones de conmutación por error innecesarias.

  2. Elimine la instancia de escritor del clúster. Utilice nuevamente el procedimiento en Eliminación de una instancia de base de datos de un clúster de base de datos de Aurora.

    Si elimina las instancias de base de datos, el clúster y su volumen del clúster asociado permanecerán incluso después de eliminar todas las instancias de base de datos.

  3. Elimine el clúster de base de datos.

    • AWS Management Console: elija el clúster y, a continuación, elija Eliminar del menú Acciones. Puede elegir las siguientes opciones para conservar los datos del clúster en caso de que los necesite más adelante:

      • Crear una instantánea final del volumen del clúster. La configuración predeterminada es crear una instantánea final.

      • Conservar copias de seguridad automatizadas La configuración predeterminada es no retener copias de seguridad automatizadas.

        nota

        No se conservan las copias de seguridad automatizadas de los clústeres de bases de datos de Aurora Serverless v1.

      Aurora también requiere que confirme que tiene intención de eliminar el clúster.

    • CLI y API: llame al comando de la CLI delete-db-cluster o a la operación de API DeleteDBCluster. Puede elegir las siguientes opciones para conservar los datos del clúster en caso de que los necesite más adelante:

      • Crear una instantánea final del volumen del clúster.

      • Conservar copias de seguridad automatizadas

        nota

        No se conservan las copias de seguridad automatizadas de los clústeres de bases de datos de Aurora Serverless v1.

Eliminación de un clúster de Aurora vacío

Puede eliminar un cluster de base de datos vacío con al AWS Management Console, la AWS CLI o la API de Amazon RDS.

sugerencia

Puede mantener un clúster sin instancias de base de datos para conservar los datos sin incurrir en cargos por CPU por el clúster. Puede volver a utilizar rápidamente el clúster si crea una o más instancias de base de datos nuevas para el clúster. Puede realizar operaciones administrativas específicas de Aurora en el clúster siempre y cuando no tenga ninguna instancia de base de datos asociada. No puede acceder a los datos ni realizar ninguna operación que requiera conectarse a una instancia de base de datos.

Para eliminar un clúster de base de datos
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Bases de datos y, a continuación, elija el clúster de base de datos que desea eliminar.

  3. En Actions (Acciones), seleccione Delete (Eliminar).

  4. Para crear una instantánea de base de datos final del clúster de base de datos, elija ¿Crear la instantánea final?. Este es el valor predeterminado.

  5. Si elige crear una instantánea final, introduzca el nombre de instantánea final.

  6. Para conservar las copias de seguridad automatizadas, seleccione Retain automated backups (Conservar copias de seguridad automatizadas). Este no es el valor predeterminado.

  7. En el cuadro, escriba delete me.

  8. Elija Eliminar (Delete).

Para eliminar un clúster de base de datos de Aurora vacío mediante la AWS CLI, llame al comando delete-db-cluster.

Supongamos que el clúster vacío deleteme-zero-instances solo se utilizó para el desarrollo y la prueba, y que no contiene ningún dato importante. En ese caso, no es necesario conservar una instantánea del volumen del clúster cuando elimine el clúster. En el siguiente ejemplo se muestra que un clúster no contiene ninguna instancia de base de datos y, a continuación, se elimina el clúster vacío sin crear una instantánea final ni copias de seguridad automatizadas.

$ aws rds describe-db-clusters --db-cluster-identifier deleteme-zero-instances --output text \ --query '*[].["Cluster:",DBClusterIdentifier,DBClusterMembers[*].["Instance:",DBInstanceIdentifier,IsClusterWriter]] Cluster: deleteme-zero-instances $ aws rds delete-db-cluster --db-cluster-identifier deleteme-zero-instances \ --skip-final-snapshot \ --delete-automated-backups { "DBClusterIdentifier": "deleteme-zero-instances", "Status": "available", "Engine": "aurora-mysql" }

Para eliminar un clúster de base de datos de Aurora vacío mediante la API de Amazon RDS, llame a la operación DeleteDBCluster.

Eliminación de un clúster de Aurora con una única instancia de base de datos

Puede eliminar la instancia de base de datos, incluso si el clúster de base de datos tiene la protección de eliminación habilitada. En ese caso, el propio clúster de base de datos sigue existiendo y se conservan los datos. Puede acceder a los datos de nuevo si asocia una nueva instancia de base de datos al clúster.

En el siguiente ejemplo se muestra de qué manera no funciona el comando delete-db-cluster cuando el clúster aún tiene instancias de base de datos asociadas. Este clúster tiene una única instancia de base de datos de escritor. Cuando examinamos las instancias de base de datos en el clúster, comprobamos el atributo IsClusterWriter de cada una. El clúster podría no tener instancias o tener una instancia de base de datos de escritor. Un valor de true implica una instancia de base de datos de escritor. Un valor de false implica una instancia de base de datos de lector. El clúster podría no tener, tener una o muchas instancias de base de datos de escritor. En este caso, eliminamos la instancia de base de datos de escritor usando el comando delete-db-instance. Tan pronto como la instancia de base de datos tenga el estado deleting, también podemos eliminar el clúster. En este ejemplo, también suponemos que el clúster no contiene ningún dato que valga la pena conservar. Por lo tanto, no creamos una instantánea del volumen del clúster ni retenemos copias de seguridad automatizadas.

$ aws rds delete-db-cluster --db-cluster-identifier deleteme-writer-only --skip-final-snapshot An error occurred (InvalidDBClusterStateFault) when calling the DeleteDBCluster operation: Cluster cannot be deleted, it still contains DB instances in non-deleting state. $ aws rds describe-db-clusters --db-cluster-identifier deleteme-writer-only \ --query '*[].[DBClusterIdentifier,Status,DBClusterMembers[*].[DBInstanceIdentifier,IsClusterWriter]]' [ [ "deleteme-writer-only", "available", [ [ "instance-2130", true ] ] ] ] $ aws rds delete-db-instance --db-instance-identifier instance-2130 { "DBInstanceIdentifier": "instance-2130", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-cluster --db-cluster-identifier deleteme-writer-only \ --skip-final-snapshot \ --delete-automated-backups { "DBClusterIdentifier": "deleteme-writer-only", "Status": "available", "Engine": "aurora-mysql" }

Eliminación de un clúster Aurora con varias instancias de base de datos

Si el clúster contiene varias instancias de base de datos, normalmente hay una única instancia de escritor y una o más instancias de lector. Las instancias de lector ayudan con la alta disponibilidad, ya que se encuentran en espera para hacerse cargo si la instancia de escritor encuentra algún problema. También puede utilizar instancias de lector para escalar el clúster de manera ascendente para gestionar una carga de trabajo de lectura intensiva sin agregar sobrecarga a la instancia de escritor.

Para eliminar un clúster con varias instancias de base de datos de lector, primero debe eliminar las instancias de lector y, luego, la instancia de escritor. La eliminación de la instancia de escritor deja el clúster y sus datos en su lugar. El clúster se elimina mediante una acción independiente.

En este ejemplo de la CLI se muestra cómo eliminar un clúster que contiene una instancia de base de datos de escritor y una única instancia de base de datos de lector. El resultado describe-db-clusters muestra que instance-7384 es la instancia de escritor y instance-1039 es la instancia de lector. En el ejemplo se elimina primero la instancia de lector, ya que eliminar la instancia de escritor mientras todavía existe una instancia de lector provocaría una operación de conmutación por error. No tiene sentido promover la instancia de lector a una de escritor si planea eliminar esa instancia también. Supongamos nuevamente que estas instancias db.t2.small solo se utilizan para el desarrollo y la prueba, por lo que la operación de eliminación omite la instantánea final y no retiene copias de seguridad automatizadas.

$ aws rds delete-db-cluster --db-cluster-identifier deleteme-writer-and-reader --skip-final-snapshot An error occurred (InvalidDBClusterStateFault) when calling the DeleteDBCluster operation: Cluster cannot be deleted, it still contains DB instances in non-deleting state. $ aws rds describe-db-clusters --db-cluster-identifier deleteme-writer-and-reader --output text \ --query '*[].["Cluster:",DBClusterIdentifier,DBClusterMembers[*].["Instance:",DBInstanceIdentifier,IsClusterWriter]] Cluster: deleteme-writer-and-reader Instance: instance-1039 False Instance: instance-7384 True $ aws rds delete-db-instance --db-instance-identifier instance-1039 { "DBInstanceIdentifier": "instance-1039", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-instance --db-instance-identifier instance-7384 { "DBInstanceIdentifier": "instance-7384", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-cluster --db-cluster-identifier deleteme-writer-and-reader \ --skip-final-snapshot \ --delete-automated-backups { "DBClusterIdentifier": "deleteme-writer-and-reader", "Status": "available", "Engine": "aurora-mysql" }

En el siguiente ejemplo se muestra cómo eliminar un clúster de base de datos que contiene una instancia de base de datos de escritor y varias instancias de base de datos de lector. Utiliza un resultado conciso del comando describe-db-clusters para obtener un informe de las instancias de escritor y lector. Nuevamente, eliminamos todas las instancias de base de datos de lector antes de eliminar la instancia de base de datos de escritor. No importa el orden en que se eliminan las instancias de base de datos de lector.

Supongamos que este clúster con varias instancias de base de datos contiene datos que vale la pena conservar. Por lo tanto, el comando delete-db-cluster de este ejemplo incluye los parámetros --no-skip-final-snapshot y --final-db-snapshot-identifier para especificar los detalles de la instantánea que se creará. También incluye el parámetro --no-delete-automated-backups para retener las copias de seguridad automatizadas.

$ aws rds describe-db-clusters --db-cluster-identifier deleteme-multiple-readers --output text \ --query '*[].["Cluster:",DBClusterIdentifier,DBClusterMembers[*].["Instance:",DBInstanceIdentifier,IsClusterWriter]] Cluster: deleteme-multiple-readers Instance: instance-1010 False Instance: instance-5410 False Instance: instance-9948 False Instance: instance-8451 True $ aws rds delete-db-instance --db-instance-identifier instance-1010 { "DBInstanceIdentifier": "instance-1010", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-instance --db-instance-identifier instance-5410 { "DBInstanceIdentifier": "instance-5410", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-instance --db-instance-identifier instance-9948 { "DBInstanceIdentifier": "instance-9948", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-instance --db-instance-identifier instance-8451 { "DBInstanceIdentifier": "instance-8451", "DBInstanceStatus": "deleting", "Engine": "aurora-mysql" } $ aws rds delete-db-cluster --db-cluster-identifier deleteme-multiple-readers \ --no-delete-automated-backups \ --no-skip-final-snapshot \ --final-db-snapshot-identifier deleteme-multiple-readers-final-snapshot { "DBClusterIdentifier": "deleteme-multiple-readers", "Status": "available", "Engine": "aurora-mysql" }

En el siguiente ejemplo se muestra cómo confirmar que Aurora creó la instantánea solicitada. Puede solicitar detalles de la instantánea específica especificando su identificador deleteme-multiple-readers-final-snapshot. También puede obtener un informe de todas las instantáneas del clúster que se eliminó especificando el identificador del clúster deleteme-multiple-readers. Ambos comandos devuelven información sobre la misma instantánea.

$ aws rds describe-db-cluster-snapshots \ --db-cluster-snapshot-identifier deleteme-multiple-readers-final-snapshot { "DBClusterSnapshots": [ { "AvailabilityZones": [], "DBClusterSnapshotIdentifier": "deleteme-multiple-readers-final-snapshot", "DBClusterIdentifier": "deleteme-multiple-readers", "SnapshotCreateTime": "11T01:40:07.354000+00:00", "Engine": "aurora-mysql", ... $ aws rds describe-db-cluster-snapshots --db-cluster-identifier deleteme-multiple-readers { "DBClusterSnapshots": [ { "AvailabilityZones": [], "DBClusterSnapshotIdentifier": "deleteme-multiple-readers-final-snapshot", "DBClusterIdentifier": "deleteme-multiple-readers", "SnapshotCreateTime": "11T01:40:07.354000+00:00", "Engine": "aurora-mysql", ...

Protección contra eliminación para clústeres de Aurora

No puede eliminar clústeres que tengan habilitada la protección contra eliminación. Puede eliminar instancias de base de datos dentro del clúster, pero no el clúster en sí. De esta forma, el volumen del clúster que contiene todos los datos está protegido de la eliminación accidental. Aurora aplica la protección de eliminación para un clúster si intenta eliminar el clúster usando la consola, la AWS CLI o la API de RDS.

La protección contra eliminación se habilita de forma predeterminada cuando crea un clúster de base de datos de producción con la AWS Management Console. Sin embargo, la protección contra eliminación está deshabilitada de forma predeterminada si crea un clúster con la AWS CLI o la API. Habilitar o deshabilitar la protección contra eliminación no provoca una interrupción. Para poder eliminar el clúster, modifique el clúster y deshabilite la protección contra eliminación. Para obtener más información sobre la activación y desactivación de la protección contra contraseña, consulte Modificación del clúster de base de datos con la consola, CLI y API.

sugerencia

Incluso si se eliminan todas las instancias de base de datos, puede acceder a los datos creando una nueva instancia de base de datos en el clúster.

Eliminación de un clúster detenido de Aurora

No puede eliminar un clúster si se encuentra en el estado stopped. En este caso, inicie el clúster antes de eliminarlo. Para obtener más información, consulte Inicio de un clúster de bases de datos de Aurora.

Eliminación de clústeres de Aurora MySQL que son réplicas de lectura

Para Aurora MySQL, no puede eliminar una instancia de la base de datos en un clúster de base de datos si se cumplen las dos condiciones siguientes:

  • El clúster de base de datos es una réplica de lectura de otro clúster de base de datos de Aurora.

  • La instancia de base de datos es la única instancia en el clúster de base de datos.

Para eliminar una instancia de base de datos en este caso, primero promocione el clúster de bases de datos para que deje de ser una réplica de lectura. Una vez finalizada la promoción, puede eliminar la instancia final de la base de datos en el clúster de bases de datos. Para obtener más información, consulte Reproducción de clústeres de base de datos de Amazon Aurora MySQL entre Regiones de AWS.

La instantánea final al eliminar un clúster

A lo largo de esta sección, los ejemplos muestran cómo puede elegir si desea tomar una instantánea final al eliminar un clúster de Aurora. Si elige tomar una instantánea final pero el nombre especificado coincide con una instantánea existente, la operación se detiene con un error. En este caso, examine los detalles de la instantánea para confirmar si representa el detalle actual o si es una instantánea anterior. Si la instantánea existente no tiene los datos más recientes que desea conservar, cambie el nombre de la instantánea e inténtelo de nuevo, o especifique un nombre diferente para el parámetro de la instantánea final.

Eliminación de una instancia de base de datos de un clúster de base de datos de Aurora

Puede eliminar una instancia de base de datos de un clúster de base de datos de Aurora como parte del proceso de eliminación de todo el clúster. Si el clúster contiene una cierta cantidad de instancias de base de datos, la eliminación del clúster requiere eliminar cada una de esas instancias de base de datos. También puede eliminar una o más instancias de lector de un clúster mientras el clúster se sigue ejecutando. Puede hacerlo para reducir la capacidad de cómputo y los cargos asociados si el clúster no está ocupado.

Para eliminar una instancia de base de datos, debe especificar el nombre de la instancia.

Puede eliminar una instancia de base de datos mediante la consola de AWS Management Console, la AWS CLI o la API de RDS.

nota

Cuando se elimina una réplica de Aurora su punto de enlace de instancia se elimina inmediatamente y la réplica de Aurora se elimina del punto de enlace del lector. Si hay instrucciones que se ejecutan en la réplica de Aurora que se van a eliminar, hay un periodo de gracia de tres minutos. Las instrucciones existentes pueden finalizar durante el periodo de gracia. Cuando termina dicho periodo, se apaga la réplica de Aurora y se elimina.

Para los clústeres de base de datos de Aurora, eliminar una instancia de base de datos no necesariamente elimina todo el clúster. Puede eliminar una instancia de base de datos de Aurora de un clúster para reducir la capacidad de cómputo y los cargos asociados cuando el clúster no está ocupado. Para obtener información acerca de las circunstancias especiales de los clústeres de Aurora que tienen una instancia de base de datos o no tienen instancias de base de datos, consulte Eliminación de un clúster de Aurora con una única instancia de base de datos y Eliminación de un clúster de Aurora vacío.

nota

No se puede eliminar un clúster de base de datos cuando tiene habilitada la protección contra eliminación. Para obtener más información, consulte Protección contra eliminación para clústeres de Aurora.

Puede deshabilitar la protección contra eliminación modificando el clúster de base de datos. Para obtener más información, consulte Modificación de un clúster de base de datos de Amazon Aurora.

Para eliminar una instancia de base de datos en un clúster de base de datos
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Databases (Bases de datos) y, a continuación, seleccione la instancia de base de datos que desee eliminar.

  3. En Actions (Acciones), elija Delete (Eliminar).

  4. En el cuadro, escriba delete me.

  5. Elija Eliminar (Delete).

Para eliminar una instancia de base de datos mediante la AWS CLI, llame al comando delete-db-instance y especifique el valor --db-instance-identifier.

Para Linux, macOS, o Unix:

aws rds delete-db-instance \ --db-instance-identifier mydbinstance

En Windows:

aws rds delete-db-instance ^ --db-instance-identifier mydbinstance

Para eliminar una instancia de base de datos con la API de Amazon RDS, llame a la operación DeleteDBInstance y especifique el parámetro DBInstanceIdentifier.

nota

Cuando el estado de una instancia de base de datos es deleting, su valor de certificado de entidad de certificación no aparece en la consola de RDS ni en la salida de comandos de la AWS CLI ni en las operaciones de la API de RDS. Para obtener más información acerca de los certificados de entidad de certificación, consulte Uso de SSL/TLS para cifrar una conexión a un clúster de base de datos.