Replica tra cluster per Amazon Service OpenSearch - OpenSearch Servizio Amazon

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

Replica tra cluster per Amazon Service OpenSearch

Con la replica tra cluster in Amazon OpenSearch Service, puoi replicare indici utente, mappature e metadati da un dominio di servizio a un altro. OpenSearch L'utilizzo della replica tra cluster aiuta a garantire il ripristino di emergenza in caso di interruzione e consente di replicare i dati su data center geograficamente distanti per ridurre la latenza. Paghi le tariffe standard di trasferimento AWS dei dati per i dati trasferiti tra domini.

La replica tra cluster segue un modello di replica attiva-passiva in cui l'indice locale o dei follower estrae i dati dall'indice remoto o leader. L'indice leader si riferisce all'origine dei dati o all'indice da cui si desidera replicare i dati. L'indice dei follower si riferisce alla destinazione dei dati o all'indice in cui si desidera replicare i dati.

La replica tra cluster è disponibile nei domini che eseguono Elasticsearch 7.10 o 1.1 o versioni successive. OpenSearch

Nota

Questa documentazione descrive come configurare la replica tra cluster dal punto di vista di Amazon OpenSearch Service. Ciò include l'utilizzo AWS Management Console di per configurare connessioni tra cluster, cosa non possibile in un cluster autogestito. OpenSearch Per la documentazione completa, incluso un riferimento alle impostazioni e un riferimento completo all'API, consulta Replica tra cluster nella documentazione. OpenSearch

Limitazioni

La replica tra cluster ha le seguenti limitazioni:

  • Non puoi replicare i dati tra domini Amazon OpenSearch Service e cluster autogestiti OpenSearch o Elasticsearch.

  • Non puoi replicare un indice da un dominio follower a un altro dominio di follower. Se desideri replicare un indice su più domini di follower, puoi replicarlo solo dal singolo dominio leader.

  • Un dominio può essere connesso, tramite una combinazione di connessioni in entrata e in uscita, a un massimo di altri 20 domini.

  • Quando si configura inizialmente una connessione tra cluster, il dominio leader deve trovarsi nella stessa versione o in una versione successiva rispetto al dominio follower.

  • Non è possibile utilizzarlo AWS CloudFormation per connettere domini.

  • Non è possibile utilizzare la replica tra cluster su istanze M3 o istanze espandibili (T2 e T3).

  • Non è possibile replicare dati tra indici UltraWarm o indici freddi. Entrambi gli indici devono essere nell'archiviazione ad accesso frequente.

  • Quando elimini un indice dal dominio leader, l'indice corrispondente nel dominio del follower non viene eliminato automaticamente.

Prerequisiti

Prima di configurare la replica tra cluster, assicurati che i domini soddisfino i seguenti requisiti:

Requisiti per le autorizzazioni

Per avviare la replica, è necessario includere l'autorizzazione es:ESCrossClusterGet sul dominio remoto (principale). Consigliamo la seguente politica IAM sul dominio remoto. Questa policy consente anche di eseguire altre operazioni, come l'indicizzazione dei documenti e l'esecuzione di ricerche standard:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "*" ] }, "Action": [ "es:ESHttp*" ], "Resource": "arn:aws:es:region:account:domain/leader-domain/*" }, { "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "es:ESCrossClusterGet", "Resource": "arn:aws:es:region:account:domain/leader-domain" } ] }

Assicurarsi che l'autorizzazione es:ESCrossClusterGet sia applicata per /leader-domain e non per /leader-domain/*.

Affinché gli utenti non amministratori possano eseguire attività di replica, devono essere mappati alle autorizzazioni appropriate. La maggior parte delle autorizzazioni corrisponde a operazioni REST API specifiche. Ad esempio, l'autorizzazione indices:admin/plugins/replication/index/_resume consente di riprendere la replica di un indice. Per un elenco completo delle autorizzazioni, consulta Autorizzazioni di replica nella documentazione. OpenSearch

Nota

I comandi per avviare la replica e creare una regola di replica sono casi speciali. Poiché richiamano processi in background sui domini leader e follower, è necessario inserire un e nella richiesta. leader_cluster_role follower_cluster_role OpenSearch Il servizio utilizza questi ruoli in tutte le attività di replica del backend. Per informazioni sulla mappatura e l'utilizzo di questi ruoli, consulta Mappare i ruoli del cluster leader e follower nella documentazione. OpenSearch

Configurazione di una connessione tra cluster

Per replicare gli indici da un dominio all'altro, è necessario configurare una connessione tra cluster tra i domini. Il modo più semplice per connettere i domini è dalla scheda Connessioni del pannello di controllo del dominio. È inoltre possibile utilizzare l'API di configurazione o AWS CLI. Poiché la replica tra cluster segue un modello "pull" (ovvero di estrazione), le connessioni vengono avviate dal dominio follower.

Nota

Se in precedenza sono stati collegati due domini per eseguire ricerche tra cluster, non sarà possibile utilizzare la stessa connessione per la replica. La connessione è contrassegnata come SEARCH_ONLY nella console. Per eseguire la replica tra due domini precedentemente connessi, è necessario eliminare la connessione e ricrearla. Una volta fatto questo, la connessione è disponibile sia per la ricerca tra cluster che per la replica tra cluster.

Per impostare una connessione
  1. Nella console di Amazon OpenSearch Service, seleziona il dominio del follower, vai alla scheda Connessioni e scegli Richiesta.

  2. Per Alias di connessione, specifica un nome per la connessione.

  3. Scegli se connetterti a un dominio nella tua regione Account AWS e in un altro account o regione.

    • Per connetterti a un dominio nella tua regione Account AWS e nella tua regione, seleziona il dominio e scegli Richiedi.

    • Per connetterti a un dominio in un'altra regione Account AWS o in un'altra regione, specifica l'ARN del dominio remoto e scegli Richiesta.

OpenSearch Il servizio convalida la richiesta di connessione. Se i domini non sono compatibili, la connessione ha esito negativo. Se la convalida ha esito positivo, viene inviata al dominio di destinazione per l'approvazione. Una volta che dominio di destinazione ha approvato la richiesta, sarà possibile iniziare la replica.

La replica tra cluster supporta la replica bidirezionale. Ciò significa che è possibile creare una connessione in uscita dal dominio A al dominio B e un'altra connessione in uscita dal dominio B al dominio A. È quindi possibile impostare la replica in modo che il dominio A segua un indice nel dominio B e il dominio B segua un indice nel dominio A.

Avvio della replica

Dopo aver stabilito una connessione tra cluster, potrai iniziare a replicare i dati. Innanzitutto, crea un indice da replicare nel dominio principale:

PUT leader-01

Per replicare tale indice, invia questo comando al dominio follower:

PUT _plugins/_replication/follower-01/_start { "leader_alias": "connection-alias", "leader_index": "leader-01", "use_roles":{ "leader_cluster_role": "all_access", "follower_cluster_role": "all_access" } }

È possibile trovare l'alias di connessione nella scheda Connessioni nel pannello di controllo del dominio.

In questo esempio si presuppone che un amministratore stia emettendo la richiesta e utilizzi all_access per il leader_cluster_role e follower_cluster_role per semplicità. Negli ambienti di produzione, tuttavia, si consiglia di creare utenti di replica sugli indici leader e follower e di mapparli di conseguenza. I nomi utente devono essere identici. Per informazioni su questi ruoli e su come mapparli, consulta Mappare i ruoli del cluster leader e follower nella OpenSearch documentazione.

Conferma della replica

Per confermare che la replica è in corso, ottieni lo stato di replica:

GET _plugins/_replication/follower-01/_status { "status" : "SYNCING", "reason" : "User initiated", "leader_alias" : "connection-alias", "leader_index" : "leader-01", "follower_index" : "follower-01", "syncing_details" : { "leader_checkpoint" : -5, "follower_checkpoint" : -5, "seq_no" : 0 } }

I valori dei checkpoint principale e follower iniziano come numeri interi negativi e riflettono il numero di partizioni presenti (-1 per una partizione, -5 per cinque partizioni e così via). I valori aumentano e diventano numeri interi positivi con ogni modifica apportata. Se i valori sono uguali, significa che gli indici sono completamente sincronizzati. È possibile utilizzare questi valori di checkpoint per misurare la latenza di replica nei domini.

Per convalidare ulteriormente la replica, aggiungi un documento all'indice principale:

PUT leader-01/_doc/1 { "Doctor Sleep":"Stephen King" }

Quindi conferma che viene visualizzato sull'indice follower:

GET follower-01/_search { ... "max_score" : 1.0, "hits" : [ { "_index" : "follower-01", "_type" : "_doc", "_id" : "1", "_score" : 1.0, "_source" : { "Doctor Sleep" : "Stephen King" } } ] } }

Sospensione e ripristino della replica

È possibile sospendere temporaneamente la replica se è necessario risolvere problemi o ridurre il carico sul dominio principale. Invia questa richiesta al dominio follower. Assicurati di includere un corpo della richiesta vuoto:

POST _plugins/_replication/follower-01/_pause {}

Quindi ottieni lo stato per assicurarti che la replica sia sospesa:

GET _plugins/_replication/follower-01/_status { "status" : "PAUSED", "reason" : "User initiated", "leader_alias" : "connection-alias", "leader_index" : "leader-01", "follower_index" : "follower-01" }

Una volta completate le modifiche, riprendi la replica. Invia questa richiesta al dominio follower. Assicurati di includere un corpo della richiesta vuoto:

POST _plugins/_replication/follower-01/_resume {}

Non è possibile riprendere la replica dopo che è stata sospesa per più di 12 ore. È necessario interrompere la replica, eliminare l'indice di follower e riavviare la replica del leader.

Arresto della replica

Quando si interrompe completamente la replica, l'indice follower smette di seguire l'indice principale e diventa un indice standard. Non è possibile riavviare una replica dopo averla arrestata.

Interrompi la replica dal dominio follower. Assicurati di includere un corpo della richiesta vuoto:

POST _plugins/_replication/follower-01/_stop {}

Auto-follow

È possibile definire un set di regole di replica in base a un singolo dominio principale che replicano automaticamente gli indici che corrispondono a uno schema specificato. Quando un indice nel dominio leader corrisponde a uno dei modelli (ad esempio,books*), viene creato un indice di follower corrispondente nel dominio del follower. OpenSearch Il servizio replica tutti gli indici esistenti che corrispondono al modello, nonché i nuovi indici creati dall'utente. Non replica gli indici già presenti nel dominio follower.

Per replicare tutti gli indici (ad eccezione degli indici creati dal sistema e di quelli già esistenti nel dominio follower), utilizzare un modello con carattere jolly (*).

Creazione di una regola di replica

Crea una regola di replica nel dominio follower e specifica il nome della connessione tra cluster:

POST _plugins/_replication/_autofollow { "leader_alias" : "connection-alias", "name": "rule-name", "pattern": "books*", "use_roles":{ "leader_cluster_role": "all_access", "follower_cluster_role": "all_access" } }

È possibile trovare l'alias di connessione nella scheda Connessioni nel pannello di controllo del dominio.

In questo esempio si presuppone che un amministratore stia emettendo la richiesta e usa all_access come ruoli per i domini principale e follower per semplicità. Negli ambienti di produzione, tuttavia, si consiglia di creare utenti di replica sugli indici leader e follower e di mapparli di conseguenza. I nomi utente devono essere identici. Per informazioni su questi ruoli e su come mapparli, consulta Mappare i ruoli del cluster leader e follower nella OpenSearch documentazione.

Per recuperare un elenco di regole di replica esistenti in un dominio, utilizza l'operazione API auto-follow.

Per testare la regola, crea un indice che corrisponda al pattern sul dominio principale:

PUT books-are-fun

Quindi controlla che la replica venga visualizzata sul dominio follower:

GET _cat/indices health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open books-are-fun ldfHO78xYYdxRMULuiTvSQ 1 1 0 0 208b 208b

Eliminazione di una regola di replica

Quando si elimina una regola di replica, OpenSearch Service interrompe la replica di nuovi indici che corrispondono al modello, ma continua l'attività di replica esistente finché non si interrompe la replica di tali indici.

Elimina le regole di replica dal dominio follower:

DELETE _plugins/_replication/_autofollow { "leader_alias" : "connection-alias", "name": "rule-name" }

Aggiornamento dei domini connessi

Per aggiornare la versione del motore di due domini con una connessione tra cluster, aggiorna prima il dominio follower e poi il dominio leader. Non eliminate la connessione tra di essi, altrimenti la replica si interrompe e non sarà possibile riprenderla.