Switchover di un'implementazione blu/verde - 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à.

Switchover di un'implementazione blu/verde

Uno switchover trasforma il cluster DB, comprese le relative istanze DB, nell'ambiente verde per diventare il cluster DB 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.

Il passaggio a una distribuzione blu/verde non equivale a promuovere il cluster DB di verdi all'interno della distribuzione blu/verde. Se promuovi manualmente il cluster DB di verdi selezionando Promuovi dal menu Azioni, la replica tra gli ambienti blu e verde si interrompe e la distribuzione blu/verde 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 disponibilità degli ambienti blu e verdi allo 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 nella replica prima del passaggio al digitale.

  • 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 Postgre , verifica che l'ambiente blu non sia una fonte logica autogestita (editore) o una replica (sottoscrittore). In tal caso, consigliamo di eliminare gli slot e gli abbonamenti di replica autogestiti su tutti i database nell'ambiente blu, procedere con il passaggio al digitale, quindi ricrearli per riprendere la replica. Per Aurora My SQL RDS for My SQL , verifica se il database blu non è una replica binlog esterna. Se lo è, assicurati che non si stia replicando attivamente.

  • 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.

  • DDLIstruzioni di lunga durata: assicura che non vi siano DDL istruzioni di lunga durata sul cluster DB blu , poiché possono aumentare il ritardo di replica.

  • SQLModifiche Postgre non supportate: per le non siano state eseguite DDL modifiche e aggiunte o modifiche di oggetti di grandi dimensioni nell'ambiente blu. Per ulteriori informazioni, consulta Limitazioni specifiche della replica logica per le distribuzioni blu/verdi.

    Se Amazon RDS rileva SQL modifiche Postgre non supportate, modifica lo stato di replica Replication degraded e ti avvisa che lo switchover non è disponibile per la distribuzione e per tutti i database verdi. blue/green deployment. To proceed with switchover, we recommend that you delete and recreate the blue/green A tale scopo, scegli Operazioni, Elimina con database verdi.

Azioni dello switchover

Quando passi da una distribuzione blu/verde, esegue le seguenti azioni: RDS

  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.

    RDSrinomina il cluster di DB e le istanze DB nell'ambiente verde in modo che corrispondano al cluster di istanze DB corrispondente e alle DB 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.

    RDSrinomina il cluster di DB e le istanze DB nell'ambiente blu aggiungendo -oldn al nome corrente, where è un numero. n 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.

    RDSrinomina inoltre gli endpoint nell'ambiente verde in modo che corrispondano agli endpoint corrispondenti nell'ambiente blu in modo che non siano necessarie 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 precedente cluster DB di istanze DB di produzione consente operazioni di lettura solo si riavvia. 0 Anche se abiliti le scritture sul cluster DB, questo rimane di sola lettura finché non elimini la distribuzione blu/verde.

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

Se hai dei tag configurati nell'ambiente blu, questi tag vengono copiati nel nuovo ambiente di produzione durante lo switchover. Per ulteriori informazioni sui tag, consulta Etichettatura di Amazon Aurora e risorse 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 Verifica CloudWatch 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 attiveDDLs, 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 , sul cluster di database e sulle istanze DB, valuta la possibilità di ridurle manualmente al minimo necessario per l'applicazione prima di passare alla blue/green deployment. One way to achieve this is to create a script that monitors the status of the blue/green distribuzione e iniziare 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.

  • Assicurati che le configurazioni di rete e client non aumentino la DNS cache Time-To-Live (TTL) oltre cinque secondi, che è l'impostazione predefinita per le zone DNSAurora.
 Altrimenti, le applicazioni continueranno a inviare traffico di scrittura all'ambiente blu dopo lo switchover.

  • Per le distribuzioni blu/verde di Aurora Postgre per le distribuzioni SQL blu/verde di

Nota

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

Verifica CloudWatch delle metriche prima del passaggio al digitale

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

  • DatabaseConnections: utilizza questo parametro per stimare il livello di attività dell'implementazione blu/verde e assicurarti che il valore sia a un livello accettabile per la tua implementazione prima dello switchover. 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 nella replica prima del passaggio al digitale

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

Aurora My SQL RDS per Me SQL

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

Per le implementazioni Postgre SQL blu/verdi . OldestReplicationSlotLag CloudWatch Per ulteriori informazioni, consulta Parametri a livello di istanza per Amazon Aurora.

Inoltre, puoi eseguire la seguente query nell'ambiente blu: SQL

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_lsnrappresenta l'ultimo numero di sequenza di log (LSN) inviato alla replica. pg_current_wal_lsnRappresenta la posizione attuale del database. Un valore lsn_distance pari a 0 indica che la replica è stata recuperata.

Switchover di un'implementazione blu/verde

È possibile passare da una distribuzione blu/verde utilizzando il, il o. AWS Management Console AWS CLI RDS API

Per eseguire lo switchover di un'implementazione blu/verde
  1. Accedi AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli Databases (Database) e seleziona l'implementazione blu/verde di cui eseguire lo switchover.

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

    Viene visualizzata la pagina Switch over (Switchover).

    Switchover di un'implementazione blu/verde
  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 il tuo cluster è in esecuzione, l'SQListanza Aurora Postgre conferma i consigli prima del passaggio al digitale. Per ulteriori informazioni, consulta Limitazioni specifiche della replica logica per le distribuzioni blu/verdi.

  7. Seleziona Switch over (Switchover).

Per passare da una distribuzione blu/verde utilizzando il, usa il comando con le seguenti opzioni: AWS CLIswitchover-blue-green-deployment

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

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

Esempio Switchover di un'implementazione blu/verde

In Linux, macOS, oppure Unix:

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

In Windows:

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

Per passare da una distribuzione blu/verde utilizzando Amazon RDSAPI, utilizza l'SwitchoverBlueGreenDeploymentoperazione con i seguenti parametri:

  • BlueGreenDeploymentIdentifier— Specificare l'ID della risorsa della distribuzione blu/verde.

  • 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.

RDSrinomina il cluster di DB e le istanze DB nell'ambiente blu aggiungendo -oldn al nome della risorsa corrente, dove è un numero. n Il cluster DB blu viene forzato in uno stato di sola lettura. Anche se abiliti le operazioni di scrittura, rimane di sola lettura finché non elimini la distribuzione blu/verde. RDSnomina il cluster di DB e le istanze DB nell'ambiente verde. -newn

Se elimini la risorsa di distribuzione blu/verde, RDS conserva le risorse and. -oldn -newn

Dopo aver cambiato una distribuzione blu/verde

Aggiornamento del nodo principale per i consumatori

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

Dopo aver effettuato il passaggio a una RDS distribuzione blu/verde Aurora SQL My Aurora, se il cluster DB di istanze DB aveva repliche esterne o consumer di log binari prima del passaggio, è necessario aggiornare il relativo nodo principale dopo il passaggio per mantenere la continuità della replica.

Per aggiornare il nodo principale
  1. Dopo il passaggio, l'istanza Writer DB che si trovava precedentemente nell'ambiente verde emette un evento che contiene il nome del file di registro principale e la posizione del registro principale. Per individuare l'evento, accedi alla RDS console e scegli Eventi dal riquadro di navigazione a sinistra.

  2. Filtra per eventi la cui fonte è il nome della vecchia istanza di Green Writer DB, prima dello switchover.

  3. Individua 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. Assicurati che il consumatore o la replica abbiano applicato tutti i log binari del vecchio ambiente blu. Quindi, utilizzate le coordinate del log binario fornite per riprendere la replica sui consumatori. Ad esempio, se stai eseguendo una SQL replica My suEC2, puoi utilizzare i seguenti comandi:

    Le mie SQL versioni principali e secondarie 8.0.22 e precedenti

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

    Le mie versioni principali e secondarie SQL 8.0.23 e successive

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