Cambiare una blue/green distribuzione in - 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à.

Cambiare una blue/green distribuzione in

Uno switchover passa il cluster di database, comprese le relative istanze database, nell’ambiente verde come cluster di database di produzione. Prima dello switchover, il traffico di produzione viene indirizzato al cluster nell'ambiente blu. Dopo lo switchover, il traffico di produzione viene indirizzato al cluster di database nell'ambiente verde.

Cambiare una blue/green distribuzione non equivale a promuovere il cluster DB all'interno della blue/green distribuzione. Se si promuove manualmente il cluster DB scegliendo Promuovi dal menu Azioni, la replica tra gli ambienti blu e verde si interrompe e la blue/green distribuzione entra in uno stato di configurazione non valida.

Timeout dello switchover

È possibile specificare un timeout per lo switchover compreso tra 30 secondi e 3.600 secondi (un'ora). Se lo switchover richiede più tempo della durata specificata, viene eseguito il rollback di tutte le modifiche e non viene apportata alcuna modifica agli ambienti. L'impostazione predefinita del timeout è 300 secondi (cinque minuti).

Guardrail dello switchover

Quando avvii uno switchover, Amazon RDS esegue alcuni controlli di base per verificare la preparazione degli ambienti blu e verdi per lo switchover. Questi controlli sono noti come guardrail dello switchover e impediscono lo switchover se gli ambienti non sono pronti per farlo. Pertanto, evitano tempi di inattività più lunghi del previsto e impediscono la perdita di dati tra gli ambienti blu e quelli verdi che potrebbe verificarsi se lo switchover venisse avviato.

Amazon RDS esegue i seguenti controlli guardrail sull'ambiente verde:

  • Integrità della replica: verifica se lo stato della replica del cluster di database verde è integro. Il cluster di database verde è una replica del cluster di database blu.

  • Ritardo della replica: verifica se il ritardo della replica del cluster di database verde rientra nei limiti consentiti per lo switchover. I limiti consentiti si basano sul periodo di timeout specificato. Il ritardo della replica indica il ritardo del cluster di database verde rispetto al cluster di database blu. Per ulteriori informazioni, consulta Monitoraggio del ritardo della replica prima dello switchover.

  • Scritture attive: assicura che non vi siano scritture attive nel cluster di database verde.

Amazon RDS esegue i seguenti controlli guardrail sull'ambiente blu:

  • Replica esterna: per Aurora PostgreSQL, assicura che l’ambiente blu non sia un’origine logica autogestita (publisher) o una replica (subscriber). In caso contrario, è consigliabile eliminare gli slot e gli abbonamenti di replica autogestiti su tutti i database nell’ambiente blu, procedere con lo switchover e quindi ricrearli per riprendere la replica. Per Aurora MySQL, verifica che il database blu non sia una replica di log binari esterna. In caso contrario, è necessario assicurarsi che la replica non sia attiva.

  • Scritture attive di lunga durata: assicura che non vi siano scritture attive di lunga durata nel cluster di database blu perché possono aumentare il ritardo della replica.

  • Istruzioni DDL di lunga durata: assicura che non vi siano istruzioni DLL di lunga durata nel cluster di database blu perché possono aumentare il ritardo della replica.

  • Modifiche PostgreSQL non supportate: per le di oggetti di grandi dimensioni nell'ambiente blu. Per ulteriori informazioni, consulta Limitazioni specifiche della replica logica per le distribuzioni blue/green .

    Se Amazon RDS rileva modifiche PostgreSQL non supportate, modifica lo stato di replica e notifica che lo switchover non è disponibile Replication degraded per la distribuzione. blue/green Per procedere con il passaggio al digitale, ti consigliamo di eliminare e ricreare la distribuzione e tutti i database ecologici. blue/green A tale scopo, scegli Operazioni, Elimina con database verdi.

Azioni dello switchover

Quando si passa a una blue/green distribuzione, RDS esegue le seguenti azioni:

  1. Esegue controlli guardrail per verificare se gli ambienti blu e verdi sono pronti per lo switchover.

  2. Interrompe le nuove operazioni di scrittura nel cluster di database in entrambi gli ambienti.

  3. Elimina le connessioni alle istanze database in entrambi gli ambienti e non consente nuove connessioni.

  4. Attende che la replica recuperi l'ambiente verde in modo che sia sincronizzato con l'ambiente blu.

  5. Rinomina il cluster di database e le istanze database in entrambi gli ambienti.

    RDS rinomina il cluster di database e le istanze database nell'ambiente verde in modo che corrispondano al cluster di database e alle istanze database nell'ambiente blu. Ad esempio, supponi che il nome dell'istanza database nell'ambiente blu sia mydb. Supponi anche che il nome dell'istanza database corrispondente nell'ambiente verde sia mydb-green-abc123. Durante lo switchover, il nome dell'istanza database nell'ambiente verde viene modificato in mydb.

    RDS rinomina il cluster di database e le istanze database nell'ambiente blu aggiungendo -oldn al nome corrente, dove n è un numero. Ad esempio, supponi che il nome dell'istanza database nell'ambiente blu sia mydb. Dopo lo switchover, il nome dell'istanza database diventa mydb-old1.

    RDS rinomina anche gli endpoint nell'ambiente verde in modo che corrispondano agli endpoint nell'ambiente blu, per non apportare modifiche all'applicazione.

  6. Consente le connessioni ai database in entrambi gli ambienti.

  7. Consente le operazioni di scrittura nel cluster di database nel nuovo ambiente di produzione.

    Dopo lo switchover, il cluster di database di produzione precedente consente operazioni di lettura solo. Anche se abiliti le scritture sul cluster DB, questo rimane di sola lettura finché non elimini la distribuzione. blue/green

Puoi monitorare lo stato di uno switchover utilizzando Amazon. EventBridge Per ulteriori informazioni, consulta Eventi di implementazione blu/verde.

Durante il passaggio, i tag dell'ambiente blu sostituiscono tutti i tag sulle risorse nell'ambiente verde. Tutti i tag aggiunti direttamente alle risorse ambientali verdi vengono sovrascritti durante questo processo. Per ulteriori informazioni sui tag, consulta Tag delle risorse Amazon Aurora e Amazon RDS.

Se lo switchover inizia e poi si interrompe prima del termine per un qualsiasi motivo, viene eseguito il rollback di tutte le modifiche e non viene apportata alcuna modifica agli ambienti.

Best practice per lo switchover

Prima di effettuare lo switchover, ti consigliamo vivamente di seguire le best practice completando le seguenti attività:

  • Esegui accuratamente il test delle risorse nell'ambiente verde. Assicurati che funzionino correttamente ed efficacemente.

  • Monitora i CloudWatch parametri Amazon pertinenti. Per ulteriori informazioni, consulta CloudWatch Verifica delle metriche prima del passaggio al digitale.

  • Identifica il momento migliore per lo switchover.

    Durante lo switchover, le scritture dei database vengono interrotte in entrambi gli ambienti. Identifica il momento in cui il traffico è più basso nell'ambiente di produzione. Le transazioni a lunga durata, come quelle attive DDLs, possono aumentare i tempi di passaggio al digitale, con conseguenti tempi di inattività più lunghi per i carichi di lavoro di produzione.

    Se è presente un numero elevato di connessioni sulle istanze DB, valuta la possibilità di ridurle manualmente al minimo necessario per l'applicazione prima di passare alla distribuzione. blue/green Un modo per raggiungere questo obiettivo è creare uno script che monitori lo stato della blue/green distribuzione e inizi a ripulire le connessioni quando rileva che lo stato è cambiato in. SWITCHOVER_IN_PROGRESS

  • Assicurati che il cluster di database e le istanze database siano nello stato Available in entrambi gli ambienti.

  • Assicurati che il cluster di database nell'ambiente verde sia nello stato integro e in grado di replicare.

  • 
 Altrimenti, le applicazioni continueranno a inviare traffico di scrittura all'ambiente blu dopo lo switchover.

  • Per le distribuzioni Aurora PostgreSQL, le blue/green implementazioni che utilizzano la replica logica, procedi come segue:

Nota

Durante uno switchover non è possibile modificare il cluster di database incluso nello switchover.

CloudWatch Verifica delle metriche prima del passaggio al digitale

Prima di passare a una blue/green distribuzione, ti consigliamo di verificare i valori delle seguenti metriche all'interno di Amazon CloudWatch.

  • DatabaseConnections— Utilizza questa metrica per stimare il livello di attività della blue/green distribuzione e assicurati che il valore sia a un livello accettabile per la tua implementazione prima di passare alla versione successiva. Se Approfondimenti sulle prestazioni è attivato, DBLoad è un parametro più accurato.

  • ActiveTransactions: se innodb_monitor_enable è impostato su all nel gruppo di parametri del database per una qualsiasi istanza database, usa questo parametro per vedere se c'è un numero elevato di transazioni attive che possono bloccare lo switchover.

Per ulteriori informazioni, consulta CloudWatch Parametri Amazon per Amazon Aurora.

Monitoraggio del ritardo della replica prima dello switchover

Prima di passare a un' blue/green implementazione, assicurati che il ritardo di replica sia vicino allo zero per ridurre i tempi di inattività.

Aurora MySQL

Per le implementazioni blue/green MariadB, AuroraBinlogReplicaLag CloudWatch controlla la metrica nell'ambiente verde per identificare l'attuale ritardo della replica. Per ulteriori informazioni, consulta Diagnosi e risoluzione del ritardo tra repliche di lettura.

Aurora PostgreSQL

Per le OldestReplicationSlotLag CloudWatch l'attuale ritardo della replica. Per ulteriori informazioni, consulta Parametri a livello di istanza per Amazon Aurora.

Inoltre, è possibile eseguire la seguente query SQL nell’ambiente blu:

SELECT slot_name, confirmed_flush_lsn as flushed, pg_current_wal_lsn(), (pg_current_wal_lsn() - confirmed_flush_lsn) AS lsn_distance FROM pg_catalog.pg_replication_slots WHERE slot_type = 'logical'; slot_name | flushed | pg_current_wal_lsn | lsn_distance -----------------+---------------+--------------------+------------ logical_replica1 | 47D97/CF32980 | 47D97/CF3BAC8 | 37192

confirmed_flush_lsn rappresenta l’ultimo numero di sequenza di log (LSN) inviato alla replica. pg_current_wal_lsn rappresenta la posizione attuale del database. Un valore lsn_distance pari a 0 significa che la replica è stata recuperata.

Passaggio blue/green da una distribuzione all'altra

È possibile passare da una blue/green distribuzione all'altra utilizzando Console di gestione AWS l' AWS CLI API RDS o l'API RDS.

Per passare da una blue/green distribuzione all'altra
  1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli Database, quindi scegli la blue/green distribuzione che desideri trasferire.

  3. In Actions (Operazioni), scegli Switch over (Esegui switchover).

    Viene visualizzata la pagina Switch over (Switchover).

    Passa alla blue/green distribuzione
  4. Nella pagina Switch over (Switchover), consulta il riepilogo dello switchover. Assicurati che le risorse in entrambi gli ambienti corrispondano a quelle previste. In caso contrario, scegli Cancel (Annulla).

  5. In Impostazioni di timeout, inserisci il limite di tempo per lo switchover.

  6. Se sul cluster è in esecuzione Aurora PostgreSQL, esamina e verifica i suggerimenti prima dello switchover. Per ulteriori informazioni, consulta Limitazioni specifiche della replica logica per le distribuzioni blue/green .

  7. Seleziona Switch over (Switchover).

Per cambiare una blue/green distribuzione utilizzando il AWS CLI, usa il switchover-blue-green-deploymentcomando con le seguenti opzioni:

  • --blue-green-deployment-identifier— Specificare l'ID della risorsa della blue/green distribuzione.

  • --switchover-timeout: specifica il limite di tempo per lo switchover, in secondi. Il valore predefinito è 300.

Esempio Passare da una blue/green distribuzione all'altra

Per Linux, macOS o Unix:

aws rds switchover-blue-green-deployment \ --blue-green-deployment-identifier bgd-1234567890abcdef \ --switchover-timeout 600

Per Windows:

aws rds switchover-blue-green-deployment ^ --blue-green-deployment-identifier bgd-1234567890abcdef ^ --switchover-timeout 600

Per passare da una blue/green distribuzione utilizzando l'API Amazon RDS, utilizza l'SwitchoverBlueGreenDeploymentoperazione con i seguenti parametri:

  • BlueGreenDeploymentIdentifier— Specificare l'ID della risorsa della blue/green distribuzione.

  • SwitchoverTimeout: specifica il limite di tempo per lo switchover, in secondi. Il valore predefinito è 300.

Dopo lo switchover

Dopo uno switchover, il cluster di database e le istanze database vengono mantenuti nell'ambiente blu precedente. A queste risorse si applicano i costi standard. La replica e il log binario tra gli ambienti blu e verde vengono arrestati.

RDS rinomina il cluster di database e le istanze database nell'ambiente blu aggiungendo -oldn al nome corrente, dove n è un numero. Il cluster di database blu viene forzato nello stato di sola lettura. Anche se abiliti le operazioni di scrittura, rimane di sola lettura fino a quando non elimini la blue/green distribuzione. RDS rinomina il cluster di database e le istanze database nell’ambiente verde -newn.

Se si elimina la risorsa blue/green di distribuzione, RDS conserva le risorse and. -oldn -newn

Dopo il passaggio a una distribuzione blue/green

Aggiornamento del nodo principale per i consumer

RDS offre repliche di lettura completamente gestite. Tuttavia, fornisce anche la possibilità di configurare repliche autogestite, note anche come repliche esterne. Le repliche esterne consentono di utilizzare risorse di terze parti come destinazioni della replica.

Dopo aver cambiato una distribuzione , se il cluster DB di istanze DB passaggio, è necessario aggiornare il nodo principale dopo il passaggio per mantenere la continuità della replica.

Per aggiornare il nodo principale
  1. Dopo lo switchover, l’istanza database di scrittura che si trovava precedentemente nell’ambiente verde emette un evento che contiene il nome del file di log principale e la posizione del log principale. Per individuare l’evento, accedere alla console RDS e scegliere Eventi nel riquadro di navigazione a sinistra.

  2. Filtrare per eventi la cui origine è il nome della vecchia istanza database di scrittura verde, prima dello switchover.

  3. Individuare l’evento che contiene le coordinate del log binario. Il messaggio dell’evento è simile a: Binary log coordinates in green environment after switchover: file mysql-bin-changelog.000003 and position 40134574.

  4. Assicurarsi che il consumer o la replica abbiano applicato tutti i log binari del vecchio ambiente blu. Quindi, utilizzare le coordinate del log binario fornite per riprendere la replica sui consumer. Ad esempio, se stai eseguendo una replica MySQL EC2 su, puoi usare i seguenti comandi:

    MySQL 8.0.22 e versioni principali e secondarie precedenti

    CHANGE MASTER TO MASTER_HOST='{new-writer-endpoint}', MASTER_LOG_FILE='mysql-bin-changelog.000003', MASTER_LOG_POS=40134574;

    MySQL 8.0.23 e versioni principali e secondarie successive

    CHANGE REPLICATION SOURCE TO SOURCE_HOST='{new-writer-endpoint}', SOURCE_LOG_FILE='mysql-bin-changelog.000003', SOURCE_LOG_POS=40134574;