Eliminazione di cluster e istanze database di Aurora - 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à.

Eliminazione di cluster e istanze database di Aurora

È possibile eliminare un cluster database Aurora quando non è più necessario. L'eliminazione del cluster rimuove il volume del cluster contenente tutti i dati. Prima di eliminare il cluster, puoi decidere di salvare una snapshot dei dati. È possibile ripristinare lo snapshot in un secondo momento per creare un nuovo cluster contenente gli stessi dati.

Inoltre, è possibile eliminare le istanze database da un cluster, conservando però il cluster stesso e i dati che contiene. L'eliminazione delle istanze database consente di ridurre i costi se il cluster non è occupato e non ha bisogno della capacità di calcolo di più istanze database.

Eliminazione di un cluster database Aurora

Aurora non fornisce un metodo con una singola operazione per eliminare un cluster database. Questa scelta progettuale ha lo scopo di impedire la perdita accidentale di dati o di portare l'applicazione offline. Le applicazioni Aurora sono in genere mission-critical e richiedono elevata disponibilità. Pertanto, Aurora facilita il dimensionamento del cluster verso l'alto e verso il basso aggiungendo e rimuovendo istanze database. La rimozione del cluster database stesso richiede di effettuare un'eliminazione separata.

Utilizza la procedura generale seguente per rimuovere tutte le istanze database da un cluster e quindi eliminare il cluster stesso.

  1. Elimina tutte le istanze reader nel cluster. Utilizza la procedura descritta in Eliminazione di un'istanza database da un cluster database Aurora.

    Se il cluster dispone di più istanze di lettura, l'eliminazione di una delle istanze riduce la capacità di calcolo del cluster. L'eliminazione delle istanze reader garantisce innanzitutto che il cluster rimanga disponibile per tutta la procedura e non esegua operazioni di failover non necessarie.

  2. Elimina l'istanza writer dal cluster. Ancora una volta, utilizza la procedura in Eliminazione di un'istanza database da un cluster database Aurora.

    Quando elimini le istanze database, il cluster e il relativo volume cluster associato vengono mantenuti anche dopo l'eliminazione di tutte le istanze database.

  3. Elimina il cluster database.

    • AWS Management Console: scegli il cluster, quindi scegli Elimina nel menu lOperazioni. Puoi scegliere le opzioni seguenti per conservare i dati del cluster in caso di necessità in un secondo momento:

      • Crea uno snapshot finale del volume del cluster. L'impostazione predefinita prevede la creazione di uno snapshot finale.

      • Mantieni backup automatici. L'impostazione predefinita non prevede il mantenimento dei backup automatici.

        Nota

        I backup automatici per i cluster Aurora Serverless v1 DB non vengono conservati.

      Aurora richiede inoltre di confermare che intendi veramente eliminare il cluster.

    • CLI e API: chiama il comando CLI delete-db-cluster o l'operazione API DeleteDBCluster. Puoi scegliere le opzioni seguenti per conservare i dati del cluster in caso di necessità in un secondo momento:

      • Crea uno snapshot finale del volume del cluster.

      • Mantieni backup automatici.

        Nota

        I backup automatici per i cluster Aurora Serverless v1 DB non vengono conservati.

Eliminazione di un cluster Aurora vuoto

Puoi eliminare un cluster database vuoto mediante la AWS Management Console, la AWS CLI o l'API Amazon RDS.

Suggerimento

Puoi conservare un cluster senza istanze database in modo da mantenere i dati senza incorrere in costi di CPU per il cluster. Puoi iniziare a utilizzare di nuovo il cluster molto rapidamente creando una o più nuove istanze database per il cluster. Puoi eseguire operazioni amministrative specifiche di Aurora sul cluster se questo non dispone di istanze database associate. Non puoi accedere ai dati o eseguire operazioni che richiedono la connessione a un'istanza database.

Per eliminare un cluster database
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel pannello di navigazione, scegli Database, quindi scegli il cluster database multi-AZ che vuoi eliminare.

  3. In Actions (Azioni), scegliere Delete (Elimina).

  4. Per creare uno snapshot database multi-AZ finale per il cluster di database, scegli Crea snapshot finale. Si tratta dell'impostazione di default.

  5. Se si è scelto di creare uno snapshot finale, immettere il Final snapshot name (Nome dello snapshot finale).

  6. Per mantenere i backup automatici, scegliere Retain automated backups (Mantieni backup automatici). Questa non è l'impostazione predefinita.

  7. Immettere delete me nella casella.

  8. Scegliere Delete (Elimina).

Per eliminare un cluster Aurora DB vuoto utilizzandoAWS CLI, chiamare il delete-db-clustercomando.

Supponiamo che il cluster vuoto deleteme-zero-instances sia stato utilizzato solo per lo sviluppo e il test e non contenga dati importanti. In tal caso, non è necessario conservare una snapshot del volume del cluster quando si elimina il cluster. Nell'esempio seguente viene illustrato un cluster che non contiene istanze database e quindi elimina il cluster vuoto senza creare uno snapshot finale o mantenendo backup automatici.

$ 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" }

Per eliminare un cluster database Aurora vuoto utilizzando l'API Amazon RDS, chiama l'operazione DeletedBInstance.

Eliminazione di un cluster Aurora con una singola istanza database

Puoi anche eliminare l'ultima istanza database anche se il cluster database è protetto dall'eliminazione. In questo caso, il cluster di database continua a esistere e i dati vengono conservati. Puoi accedere di nuovo ai dati collegando una nuova istanza database al cluster.

Nell'esempio seguente viene illustrato come il comando delete-db-cluster non funziona quando al cluster sono ancora associate istanze database. Questo cluster ha una singola istanza database writer. Esaminando le istanze database nel cluster, si controlla l’attributo IsClusterWriter di ciascuna di esse. Il cluster potrebbe avere zero o un'istanza database writer. Un valore true indica un'istanza database writer. Un valore false indica un'istanza database reader. Il cluster potrebbe avere zero, una o più istanze database reader. In questo caso, eliminiamo l'istanza database writer utilizzando il comando delete-db-instance. Non appena l'istanza database entra nello stato deleting, possiamo eliminare anche il cluster. Anche per questo esempio, supponiamo che il cluster non contenga dati che valga la pena conservare. Pertanto, non creiamo uno snapshot del volume del cluster né manteniamo backup automatici.

$ 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" }

Eliminazione di un cluster Aurora con più istanze database

Se il cluster contiene più istanze database, in genere esiste una singola istanza writer e una o più istanze reader. Le istanze reader aiutano con la disponibilità elevata, rimanendo in standby per assumere il controllo se l'istanza writer riporta un problema. Le istanze reader possono inoltre essere utilizzate per il dimensionamento del cluster in modo da gestire un carico di lavoro a uso intensivo di lettura senza aggiungere sovraccarico all'istanza writer.

Per eliminare un cluster con più istanze database reader, elimina prima le istanze reader, quindi l'istanza writer. L'eliminazione dell'istanza di scrittura lascia il cluster e i relativi dati al loro posto. Il cluster viene eliminato mediante un'azione distinta.

In questo esempio della CLI viene illustrato come eliminare un cluster contenente sia un'istanza database di scrittura che una singola istanza database di lettura. L'output di describe-db-clusters mostra che instance-7384 è l'istanza writer e instance-1039 è l'istanza reader. Nell'esempio viene eliminata prima l'istanza reader, poiché l'eliminazione dell'istanza writer mentre esiste ancora un'istanza reader provocherebbe un'operazione di failover. Non ha senso promuovere l'istanza reader a writer se prevedi di eliminare anche quell'istanza. Di nuovo, supponiamo che queste istanze db.t2.small vengano utilizzate solo per lo sviluppo e il test e quindi l'operazione di eliminazione ignora lo snapshot finale e non mantiene i backup automatici.

$ 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" }

Nell'esempio seguente viene illustrato come eliminare un cluster database contenente un'istanza database writer e più istanze database reader. Utilizza un output conciso dal comando describe-db-clusters per ottenere un report delle istanze writer e reader. Ancora una volta, eliminiamo tutte le istanze database reader prima di eliminare l'istanza database writer. Non importa con quale ordine eliminiamo le istanze database reader.

Supponiamo che questo cluster con diverse istanze database contenga dati che vale la pena conservare. Pertanto, il comando delete-db-cluster di questo esempio include i parametri --no-skip-final-snapshot e --final-db-snapshot-identifier per specificare i dettagli della snapshot da creare. Include anche il parametro --no-delete-automated-backups per mantenere i backup automatici.

$ 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" }

Nell'esempio seguente viene illustrato come confermare che Aurora abbia creato la snapshot richiesta. Puoi richiedere i dettagli per la snapshot specifica specificandone l'identificativo deleteme-multiple-readers-final-snapshot. Puoi inoltre ottenere un report di tutte le snapshot per il cluster che è stato eliminato specificando l'identificativo del cluster deleteme-multiple-readers. Entrambi i comandi restituiscono informazioni sulla stessa snapshot.

$ 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", ...

Protezione dall'eliminazione per i cluster Aurora

Non puoi eliminare cluster per i quali è abilitata la protezione dall'eliminazione. Puoi eliminare istanze database all'interno del cluster, ma non il cluster stesso. In questo modo, il volume del cluster contenente tutti i dati è al sicuro dall'eliminazione accidentale. Aurora applica la protezione da eliminazione accidentale per un cluster di database se provi a eliminare il cluster utilizzando la console, AWS CLI o l'API RDS.

La protezione da eliminazione viene abilitata per impostazione predefinita quando crei un cluster di database di produzione con la AWS Management Console. Tuttavia, la protezione da eliminazione è disabilitata per impostazione predefinita se crei un cluster utilizzando AWS CLI o l'API. L'attivazione o la disattivazione della protezione contro l'eliminazione non causa un'interruzione. Per poter eliminare il cluster, modifica il cluster e disabilita la protezione dall'eliminazione. Per ulteriori informazioni sull'attivazione e sulla disattivazione della protezione da eliminazione, consulta Modifica del cluster di database tramite la console, la CLI e l'API.

Suggerimento

Anche se tutte le istanze database sono state eliminate, potrai comunque accedere ai dati creando una nuova istanza database nel cluster.

Eliminazione di un cluster Aurora arrestato

Non puoi eliminare un cluster se si trova nello stato stopped. In questo caso, avvia il cluster prima di eliminarlo. Per ulteriori informazioni, consulta Avvio di un cluster di database Aurora.

Eliminazione di cluster Aurora MySQL che sono repliche di lettura

Con Aurora MySQL, non puoi eliminare un'istanza database in un cluster di database se si verificano entrambe le condizioni seguenti:

  • Il cluster database è una replica di lettura di un altro cluster di database Aurora.

  • L'istanza database è l'unica istanza nel cluster database.

Per eliminare un'istanza database in questo caso, prima di tutto promuovi il cluster di database in modo che non sia più una replica di lettura. Al termine della promozione, puoi eliminare l'istanza database finale nel cluster database. Per ulteriori informazioni, consulta Repliche di cluster di database Amazon Aurora MySQL tra Regioni AWS.

Lo snapshot finale durante l'eliminazione di un cluster

In questa sezione, gli esempi mostrano come è possibile scegliere se eseguire un'istantanea finale quando si elimina un cluster Aurora. Se si sceglie di creare uno snapshot finale ma il nome specificato corrisponde a uno snapshot esistente, l'operazione si interrompe con un errore. In questo caso, esamina i dettagli dello snapshot per confermare se rappresenta il dettaglio corrente o se si tratta di uno snapshot precedente. Se lo snapshot esistente non contiene i dati più recenti che desideri conservare, rinomina lo snapshot e riprova oppure specifica un nome diverso per il parametro snapshot finale.

Eliminazione di un'istanza database da un cluster database Aurora

Puoi eliminare un'istanza database da un cluster database Aurora come parte del processo di eliminazione dell'intero cluster. Se il cluster contiene un certo numero di istanze database, l'eliminazione del cluster richiede l'eliminazione di ogni singola istanza database. Puoi eliminare una o più istanze reader da un cluster anche se il cluster in esecuzione. Questa operazione può essere effettuata per ridurre la capacità di calcolo e i costi associati se il cluster non è occupato.

Per eliminare un'istanza database, devi specificare il nome dell'istanza.

Puoi eliminare un'istanza database tramite la AWS Management Console, AWS CLI o l'API di RDS.

Nota

Quando una replica Aurora viene eliminata, l'endpoint dell'istanza viene rimosso immediatamente e la replica Aurora viene rimossa dall'endpoint di lettura. Se sono presenti istruzioni in esecuzione nella replica Aurora da eliminare, è disponibile un periodo di tolleranza di tre minuti. L'esecuzione delle istruzioni esistenti può essere completata correttamente durante questo periodo di tolleranza. Quando finisce il periodo di tolleranza, la replica Aurora viene chiusa ed eliminata.

Per i cluster database Aurora, l'eliminazione di un'istanza database non comporta necessariamente l'eliminazione dell'intero cluster. Puoi eliminare un'istanza database in un cluster Aurora per ridurre la capacità di calcolo e i costi associati quando il cluster non è occupato. Per informazioni sulle circostanze speciali per i cluster Aurora che dispongono di un'istanza database o zero istanze database, consulta Eliminazione di un cluster Aurora con una singola istanza database e Eliminazione di un cluster Aurora vuoto.

Nota

Non puoi eliminare un'istanza database se è abilitata la protezione dall’eliminazione. Per ulteriori informazioni, consulta Protezione dall'eliminazione per i cluster Aurora.

Puoi disabilitare la protezione dall’eliminazione modificando l'istanza database. Per ulteriori informazioni, consulta Modifica di un cluster database Amazon Aurora.

Per eliminare un'istanza database in un cluster database
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegliere Databases (Database) e selezionare l'istanza database da eliminare.

  3. In Actions (Azioni), selezionare Delete (Elimina).

  4. Immettere delete me nella casella.

  5. Scegliere Delete (Elimina).

Per eliminare un'istanza DB utilizzando ilAWS CLI, chiamate il delete-db-instancecomando e specificate il --db-instance-identifier valore.

Per LinuxmacOS, oUnix:

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

Per Windows:

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

Per eliminare un'istanza database mediante l'API Amazon RDS, chiama l'operazione DeleteDBInstance e specifica il parametro DBInstanceIdentifier.

Nota

Quando lo stato di un'istanza DB è deleting, il relativo valore del certificato CA non viene visualizzato nella console RDS o nell'output per i comandi AWS CLI o le operazioni API RDS. Per ulteriori informazioni sui certificati CA, consulta .