Creazione di istantanee di indici in AmazonOpenSearchServizio - AmazonOpenSearchServizio

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

Creazione di istantanee di indici in AmazonOpenSearchServizio

Istantanee in AmazonOpenSearchI servizi sono backup degli indici e dello stato di un cluster. Lo stato include le impostazioni del cluster, le informazioni sul nodo, le impostazioni degli indici e l'allocazione delle partizioni.

OpenSearchLe istantanee del servizio sono disponibili nei seguenti formati:

  • Gli snapshot automatici sono solo per il ripristino del cluster. È possibile utilizzarli per ripristinare il dominio in caso di stato rosso del cluster o di perdita di dati. Per ulteriori informazioni, consultare Ripristino degli snapshot. OpenSearchIl servizio archivia le istantanee automatiche in un bucket Amazon S3 preconfigurato senza costi aggiuntivi.

  • Gli snapshot manuali servono per il ripristino del cluster o lo spostamento di dati da un cluster a un altro. È necessario avviare gli snapshot manuali. Questi snapshot vengono archiviati nel bucket Amazon S3 e vengono applicati i costi standard di S3. Se disponi di un'istantanea da un sistema autogestitoOpenSearchcluster, puoi usare quell'istantanea per migrare a unOpenSearchDominio del servizio. Per ulteriori informazioni, vedereMigrazione ad AmazonOpenSearchServizio.

TuttiOpenSearchI domini di servizio acquisiscono istantanee automatiche, ma la frequenza varia nei seguenti modi:

  • Per domini in esecuzioneOpenSearcho Elasticsearch 5.3 e versioni successive,OpenSearchIl servizio acquisisce istantanee automatiche ogni ora e ne conserva fino a 336 per 14 giorni. Gli snapshot orari sono meno dirompenti a causa della loro natura incrementale. Forniscono inoltre un punto di ripristino più recente in caso di problemi di dominio.

  • Per i domini che eseguono Elasticsearch 5.1 e versioni precedenti,OpenSearchIl servizio acquisisce istantanee automatiche giornaliere durante l'ora specificata, ne conserva fino a 14 e non conserva i dati delle istantanee per più di 30 giorni.

Se il cluster entra nello stato rosso, tutti gli snapshot automatici hanno esito negativo mentre lo stato del cluster persiste. Se il problema non viene risolto entro due settimane, è possibile che i dati del cluster vengano persi definitivamente. Per la risoluzione dei problemi, consulta Cluster in stato rosso.

Prerequisiti

Per creare manualmente gli snapshot, è necessario utilizzare IAM e Amazon S3. Verificare che siano soddisfatti i seguenti prerequisiti prima di provare ad acquisire uno snapshot.

Prerequisito Descrizione
Bucket S3

Crea un bucket S3 per archiviare istantanee manuali per i tuoiOpenSearchDominio del servizio. Per le istruzioni, consulta Crea un bucket nella Guida per l'utente di Amazon Simple Storage Service.

Ricordare il nome del bucket per utilizzarlo nei seguenti punti:

  • L'istruzione Resource della policy IAM collegata al ruolo IAM

  • Il client Python utilizzato per registrare un repository di snapshot (se si utilizza questo metodo)

Importante

Non applicare la regola del ciclo di vita S3 Glacier a questo bucket. Gli snapshot manuali non supportano la classe di archiviazione S3 Glacier.

Ruolo IAM

Crea un ruolo IAM a cui delegare le autorizzazioniOpenSearchServizio. Per le istruzioni, consultare Creazione di un ruolo IAM (console) nella Guida per l'utente di IAM. Nel resto di questo capitolo ci si riferisce a questo ruolo come TheSnapshotRole.

Collegamento di una policy IAM

Collegare la seguente policy a TheSnapshotRole per consentire l'accesso al bucket S3:

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name" ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name/*" ] } ] }

Per istruzioni su come collegare una policy a un ruolo, consultare Aggiunta di autorizzazioni per l'identità IAM nella Guida per l'utente di IAM.

Modifica della relazione di trust

Modifica la relazione di fiducia diTheSnapshotRoleper specificareOpenSearchServizio nelPrincipaldichiarazione come mostrato nell'esempio seguente:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }

Si consiglia di utilizzare il le chiavi di condizione aws:SourceAccount e aws:SourceArn per proteggersi dal problema del "confused deputy". L'account fonte è il proprietario del flusso di log e l'ARN fonte è l'ARN del dominio. Per aggiungere queste chiavi di condizione, il dominio deve trovarsi sul software di servizio R20211203 o versioni successive.

Ad esempio, è possibile aggiungere il seguente blocco di condizione alla policy di attendibilità:

"Condition": { "StringEquals": { "aws:SourceAccount": "account-id" }, "ArnLike": { "aws:SourceArn": "arn:aws:es:region:account-id:domain/domain-name" } }

Per le istruzioni su come modificare la relazione di trust, consultare Modifica di una policy di attendibilità del ruolo nella Guida per l'utente di IAM.

Autorizzazioni

Per registrare l'archivio delle istantanee, devi essere in grado di passareTheSnapshotRoleaOpenSearchServizio. Devi inoltre disporre dell'accesso all'operazione es:ESHttpPut. Per concedere entrambe queste autorizzazioni, collega la policy seguente al ruolo IAM le cui credenziali vengono utilizzate per firmare la richiesta:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/TheSnapshotRole" }, { "Effect": "Allow", "Action": "es:ESHttpPut", "Resource": "arn:aws:es:region:123456789012:domain/domain-name/*" } ] }

Se il tuo utente o ruolo non haiam:PassRoleautorizzazioni per passareTheSnapshotRole, potresti riscontrare il seguente errore comune quando provi a registrare un repository nel passaggio successivo:

$ python register-repo.py {"Message":"User: arn:aws:iam::123456789012:user/MyUserAccount is not authorized to perform: iam:PassRole on resource: arn:aws:iam::123456789012:role/TheSnapshotRole"}

Registrazione di un repository di snapshot manuali

È necessario registrare un archivio di istantanee conOpenSearchAssistenza prima di poter scattare istantanee manuali dell'indice. Tale operazione una tantum richiede che la richiesta AWS sia firmata con credenziali che dispongono dell'accesso a TheSnapshotRole, come descritto in Prerequisiti.

Passaggio 1: mappa il ruolo dell'istantanea inOpenSearchDashboard (se si utilizza un controllo di accesso granulare)

Il controllo granulare degli accessi introduce un passaggio aggiuntivo durante la registrazione di un repository. Anche se si utilizza l'autenticazione di base HTTP per tutti gli altri scopi, è necessario mappare il ruolo manage_snapshots al ruolo IAM che dispone delle autorizzazioni iam:PassRole per inviare TheSnapshotRole.

  1. Accedere allaOpenSearchPlugin per dashboard per i tuoiOpenSearchDominio del servizio. Puoi trovare l'endpoint di Dashboard nella dashboard del tuo dominio suOpenSearchConsole di servizio.

  2. Dal menu principale scegliere Sicurezza, Ruoli e selezionare il ruolo manage_snapshots.

  3. Scegliere Utenti mappati, Gestisci mappatura.

  4. Aggiungi l'ARN del ruolo che dispone delle autorizzazioni per inviare TheSnapshotRole. Inserisci gli ARN dei ruoli in Backend roles (Ruoli di back-end).

    arn:aws:iam::123456789123:role/role-name
  5. Selezionare Mappa e confermare che l'utente o il ruolo venga visualizzato in Utenti mappati.

Fase 2: Registrazione di un repository

Quanto segueIstantaneela scheda mostra come registrare una directory di istantanee. Per opzioni specifiche per la crittografia di un'istantanea manuale e la registrazione di un'istantanea dopo la migrazione a un nuovo dominio, consulta le schede pertinenti.

Snapshots

Per registrare un archivio di istantanee, inviare una richiesta PUT alOpenSearchEndpoint del dominio di servizio. Puoi usarearricciare, ilesempio di client Python,Postinoo qualche altro metodo per inviare una richiesta firmata per registrare l'archivio delle istantanee. Nota che non puoi utilizzare una richiesta PUT nella console Kibana per registrare il repository.

La richiesta ha il seguente formato:

PUT domain-endpoint/_snapshot/my-snapshot-repo-name { "type": "s3", "settings": { "bucket": "s3-bucket-name", "region": "region", "role_arn": "arn:aws:iam::123456789012:role/TheSnapshotRole" } }
Nota

I nomi dei repository non possono iniziare con "cs-". Inoltre, non dovresti scrivere nello stesso repository da più domini. Solo un dominio deve avere accesso in scrittura al repository.

Se il dominio si trova all'interno di un Virtual Private Cloud (VPC), perché la richiesta registri correttamente il repository di snapshot il computer deve essere connesso al VPC. L'accesso a un VPC varia in base alla configurazione della rete, ma prevede con ogni probabilità la connessione a una VPN o a una rete aziendale. Per verificare che tu possa raggiungereOpenSearchDominio del servizio, vai ahttps://your-vpc-domain.region.es.amazonaws.comin un browser Web e verifica di ricevere la risposta JSON predefinita.

Quando il bucket Amazon S3 si trova in un altroRegione AWSrispetto al tuoOpenSearchdominio, sostituisci"region"larghezza del parametro"endpoint": "s3.amazonaws.com".

Encrypted snapshots

Al momento non è possibile utilizzare chiavi AWS Key Management Service (KMS) per crittografare gli snapshot manuali, ma è possibile proteggerli utilizzando la crittografia lato server (SSE).

Per attivare SSE con chiavi gestite da S3 per il bucket che usi come archivio di istantanee, aggiungi"server_side_encryption": trueal"settings"blocco della richiesta PUT. Per maggiori informazioni, consultare Protezione dei dati mediante la crittografia lato server con chiavi di crittografia gestite da Amazon S3 nella Guida per l'utente di Amazon Simple Storage Service.

In alternativa, è possibile utilizzare le chiavi AWS KMS per la crittografia lato server sul bucket S3 che si utilizza come repository degli snapshot. Se usi questo approccio, assicurati di fornire l'autorizzazione TheSnapshotRole per la chiave AWS KMS utilizzata per crittografare il bucket S3. Per ulteriori informazioni, consulta Policy delle chiavi in AWS KMS.

Domain migration

La registrazione di un repository di snapshot è un'operazione che viene eseguita una tantum. Tuttavia, per eseguire la migrazione da un dominio a un altro, è necessario registrare lo stesso repository di snapshot sia sul vecchio dominio che sul nuovo. Il nome del repository è arbitrario.

Considerare le seguenti linee guida quando si esegue la migrazione a un nuovo dominio o si registra lo stesso repository con più domini:

  • Quando si registra il repository nel nuovo dominio, aggiungere "readonly": true al blocco "settings" della richiesta PUT. Questa impostazione impedisce di sovrascrivere accidentalmente i dati dal vecchio dominio. Solo un dominio deve avere accesso in scrittura al repository.

  • Se stai migrando i dati verso un dominio in un altroRegione AWS, (ad esempio, da un vecchio dominio e bucket situati in us-east-2 a un nuovo dominio in us-west-2), sostituisci"region": "region"con"endpoint": "s3.amazonaws.com"nell'istruzione PUT e riprova la richiesta.

Utilizzo del client Python di esempio

Il client Python è più facile da automatizzare rispetto a una semplice richiesta HTTP e ha una migliore riusabilità. Se si sceglie di utilizzare questo metodo per registrare un repository di snapshot, salvare il seguente codice Python di esempio come file Python, ad esempio register-repo.py. Il client richiede i pacchetti AWS SDK for Python (Boto3), richieste e requests-aws4auth. Il client contiene esempi commentati per altre operazioni con snapshot.

Aggiornare le seguenti variabili nel codice di esempio:host, region, path e payload.

import boto3 import requests from requests_aws4auth import AWS4Auth host = '' # domain endpoint with trailing / region = '' # e.g. us-west-1 service = 'es' credentials = boto3.Session().get_credentials() awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token) # Register repository path = '_snapshot/my-snapshot-repo-name' # the OpenSearch API endpoint url = host + path payload = { "type": "s3", "settings": { "bucket": "s3-bucket-name", "region": "us-west-1", "role_arn": "arn:aws:iam::123456789012:role/snapshot-role" } } headers = {"Content-Type": "application/json"} r = requests.put(url, auth=awsauth, json=payload, headers=headers) print(r.status_code) print(r.text) # # Take snapshot # # path = '_snapshot/my-snapshot-repo-name/my-snapshot' # url = host + path # # r = requests.put(url, auth=awsauth) # # print(r.text) # # # Delete index # # path = 'my-index' # url = host + path # # r = requests.delete(url, auth=awsauth) # # print(r.text) # # # Restore snapshot (all indexes except Dashboards and fine-grained access control) # # path = '_snapshot/my-snapshot-repo-name/my-snapshot/_restore' # url = host + path # # payload = { # "indices": "-.kibana*,-.opendistro_security,-.opendistro-*", # "include_global_state": False # } # # headers = {"Content-Type": "application/json"} # # r = requests.post(url, auth=awsauth, json=payload, headers=headers) # # print(r.text) # # # Restore snapshot (one index) # # path = '_snapshot/my-snapshot-repo-name/my-snapshot/_restore' # url = host + path # # payload = {"indices": "my-index"} # # headers = {"Content-Type": "application/json"} # # r = requests.post(url, auth=awsauth, json=payload, headers=headers) # # print(r.text)

Acquisizione di snapshot manuali

Gli snapshot non sono istantanei. Richiedono tempo per essere completati e non rappresentano la perfezionepoint-in-timeviste del cluster. Mentre è in corso uno snapshot, è comunque possibile indicizzare i documenti ed effettuare altre richieste al cluster, ma i nuovi documenti (e gli aggiornamenti ai documenti esistenti) non saranno generalmente inclusi nello snapshot. La snapshot include gli shard primari esistenti quando OpenSearch ha avviato la snapshot. A seconda della dimensione del pool di thread dello snapshot, potrebbero essere incluse diverse partizioni nello snapshot in momenti leggermente diversi.

Archiviazione e prestazioni degli snapshot

OpenSearchle istantanee sono incrementali, nel senso che memorizzano solo i dati che sono cambiati dall'ultima istantanea riuscita. Questa natura incrementale significa che la differenza di utilizzo del disco tra snapshot frequenti e infrequenti spesso è minima. In altre parole, effettuando snapshot orarie per una settimana (per un totale di 168 snapshot) potrebbe non essere necessario molto più spazio su disco rispetto a una snapshot singola alla fine della settimana. Inoltre, se la frequenza con cui si prendono le snapshot è alta, minore è il tempo necessario per il completamento del processo. Ad esempio, gli snapshot giornalieri possono richiedere 20-30 minuti per essere completati, mentre gli snapshot orari potrebbero essere completati in pochi minuti. Alcuni utenti OpenSearch acquisiscono snapshot ogni mezz'ora.

Acquisisci uno snapshot

Quando si crea uno snapshot, specificare quanto segue:

  • Il nome del repository di snapshot

  • Un nome per lo snapshot

Per brevità e comodità, gli esempi illustrati in questo capitolo utilizzano curl, un comune client HTTP. Per passare un nome utente e una password alla tua richiesta di curl, consulta ilTutorial introduttivo.

Se i criteri di accesso specificano utenti o ruoli, è necessario firmare le richieste di snapshot. Per curl, puoi usare--aws-sigv4opzionecon versione 7.75.0 o successiva. Puoi anche usare gli esempi commentati nelesempio di client Pythonper effettuare richieste HTTP firmate agli stessi endpoint utilizzati dai comandi curl.

Per acquisire uno snapshot manuale, procedere nel seguente modo:

  1. Non puoi acquisire uno snapshot se ne è attualmente in esecuzione un altro. Per verificare, esegui il comando seguente:

    curl -XGET 'domain-endpoint/_snapshot/_status'
  2. Emettere il comando seguente per acquisire manualmente uno snapshot:

    curl -XPUT 'domain-endpoint/_snapshot/repository-name/snapshot-name'

    Per includere o escludere determinati indici e specificare altre impostazioni, aggiungere un corpo della richiesta. Per la struttura della richiesta, vedereScatta istantaneenelOpenSearchdocumentazione.

Nota

Il tempo necessario per scattare un'istantanea aumenta con la dimensione delOpenSearchDominio del servizio. In caso di operazioni di snapshot di lunga durata, talvolta si verifica l'errore 504 GATEWAY_TIMEOUT. In genere, è possibile ignorare questi errori e attendere il completamento dell'operazione. Utilizzare il comando seguente per verificare lo stato di tutti gli snapshot del dominio:

curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'

Ripristino di snapshot

avvertimento

Se utilizzi alias di indice, dovresti interrompere le richieste di scrittura su un alias o cambiare l'alias su un altro indice prima di eliminarne l'indice. Interrompere le richieste di scrittura consente di evitare il seguente scenario:

  1. L'eliminazione di un indice comporta l'eliminazione anche del relativo alias.

  2. Una richiesta di scrittura all'alias ormai eliminato crea un nuovo indice con lo stesso nome dell'alias.

  3. Non puoi più utilizzare l'alias a causa di un conflitto di denominazione con il nuovo indice. Se hai passato l'alias a un altro indice, specifica "include_aliases": false durante il ripristino da una snapshot.

Per ripristinare uno snapshot, completare la seguente procedura.

  1. Identificare lo snapshot che si desidera ripristinare. Assicurati che tutte le impostazioni per questo indice, come i pacchetti di analisi personalizzati o le impostazioni dei requisiti di allocazione, siano compatibili con il dominio. Per vedere tutti i repository di snapshot, esegui il comando seguente:

    curl -XGET 'domain-endpoint/_snapshot?pretty'

    Dopo aver identificato il repository, esegui il comando seguente per visualizzare tutte le snapshot:

    curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'
    Nota

    La maggior parte delle snapshot automatiche viene archiviata nel repository cs-automated. Se il dominio prevede la crittografia dei dati a riposo, gli snapshot saranno archiviati nel repository cs-automated-enc. Se il repository di snapshot manuali che si sta cercando non viene trovato, verificare di averlo registrato nel dominio.

  2. (Facoltativo) Eliminare o rinominare uno o più indici nelOpenSearchDominio di servizio in caso di conflitti di denominazione tra gli indici del cluster e gli indici nello snapshot. Non puoi ripristinare un'istantanea dei tuoi indici su unOpenSearchcluster che contiene già indici con gli stessi nomi.

    Se sono presenti conflitti di nomi degli indici, sono disponibili le opzioni seguenti:

    Il comando seguente elimina tutti gli indici esistenti in un dominio:

    curl -XDELETE 'domain-endpoint/_all'

    Tuttavia, se non si prevede di ripristinare tutti gli indici, è possibile eliminarne uno:

    curl -XDELETE 'domain-endpoint/index-name'
  3. Esegui il comando seguente per ripristinare una snapshot:

    curl -XPOST 'domain-endpoint/_snapshot/repository-name/snapshot-name/_restore'

    A causa di autorizzazioni speciali sulOpenSearchDashboard e indici di controllo degli accessi dettagliati, i tentativi di ripristino di tutti gli indici potrebbero fallire, soprattutto se si tenta di eseguire il ripristino da un'istantanea automatica. Nell'esempio seguente viene ripristinato solo un indice, my-index, da 2020-snapshot nel repository di snapshot cs-automated:

    curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "my-index"}' \ -H 'Content-Type: application/json'

    In alternativa, è possibile ripristinare tutti gli indici tranne gli indici Dashboards e quelli con controllo granulare degli accessi:

    curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "-.kibana*,-.opendistro*"}' \ -H 'Content-Type: application/json'

    È possibile ripristinare un'istantanea senza eliminarne i dati utilizzando ilrename_patternerename_replacementparametri. Per ulteriori informazioni su questi parametri, consulta l'API Restore Snapshotcampi della richiestaerichiesta di esempionelOpenSearchdocumentazione.

Nota

Se non tutte le partizioni principali sono disponibili per le istanze in questione, uno snapshot può avere state come PARTIAL. Tale valore indica che i dati provenienti da almeno una partizione non sono stati memorizzati. È comunque possibile eseguire il ripristino da una snapshot parziale, ma potrebbe essere necessario utilizzare le snapshot meno recenti per ripristinare gli indici mancanti.

Eliminazione degli snapshot manuali

Per eliminare uno snapshot manuale, emettere il seguente comando:

DELETE _snapshot/repository-name/snapshot-name

Automazione delle istantanee con Snapshot Management

È possibile configurare una politica di Snapshot Management (SM) inOpenSearchDashboard per automatizzare la creazione e l'eliminazione periodiche di istantanee. SM può scattare un'istantanea di un gruppo di indici, mentreGestione dello stato dell'indicepuò scattare solo un'istantanea per indice. Per usare SM inOpenSearchServizio, devi registrare il tuo repository Amazon S3. Per istruzioni sulla registrazione del tuo repository, consultaRegistrazione manuale di un archivio di istantanee.

Prima di SM,OpenSearchIl servizio offriva una funzionalità di istantanea automatica e gratuita che è ancora attiva per impostazione predefinita. Questa funzionalità invia istantanee al servizio gestitocs-*deposito. Per disattivare la funzione, contattaAWS Support.

Per ulteriori informazioni sulla funzionalità SM, vedereGestione delle istantaneenelOpenSearchdocumentazione.

SM attualmente non supporta la creazione di istantanee su più tipi di indice. Ad esempio, se provi a creare un'istantanea su più indici con*e alcuni indici sono nellivello caldo, la creazione dell'istantanea avrà esito negativo. Se hai bisogno che la tua istantanea contenga più tipi di indice, usaAzione istantanea ISMfinché SM non supporta questa opzione.

Configurazione delle autorizzazioni

Se stai eseguendo l'aggiornamento alla versione 2.5 da una versione precedenteOpenSearchVersione del dominio di servizio, le autorizzazioni di sicurezza per la gestione delle istantanee potrebbero non essere definite sul dominio. Gli utenti non amministratori devono essere mappati a questo ruolo per utilizzare la gestione delle istantanee sui domini utilizzando un controllo degli accessi granulare. Per creare manualmente il ruolo di gestione delle istantanee, procedi come segue:

  1. NelOpenSearchDashboard, vai aSicurezzae scegliAutorizzazioni.

  2. Scegliere Crea gruppo di operazioni e configurare i seguenti gruppi:

    Group name (Nome gruppo) Autorizzazioni
    snapshot_management_full_access
    • cluster:admin/opensearch/snapshot_management/*

    • cluster:admin/opensearch/notifications/feature/publish

    • cluster:admin/repository/*

    • cluster:admin/snapshot/*

    snapshot_management_read_access
    • cluster:admin/opensearch/snapshot_management/policy/get

    • cluster:admin/opensearch/snapshot_management/policy/search

    • cluster:admin/opensearch/snapshot_management/policy/explain

    • cluster:admin/repository/get

    • cluster:admin/snapshot/get

  3. Scegliere Ruoli, quindi selezionare Crea ruolo.

  4. Assegna un nome al ruolosnapshot_management_role.

  5. PerAutorizzazioni del cluster, selezionasnapshot_management_full_accessosnapshot_management_read_access.

  6. Seleziona Create (Crea).

  7. Dopo aver creato il ruolo,mappaloa qualsiasi ruolo utente o di backend che gestirà le istantanee.

Considerazioni

Quando configuri la gestione delle istantanee, tieni presente quanto segue:

  • È consentita una politica per repository.

  • Sono consentite fino a 400 istantanee per una policy.

  • Questa funzionalità non verrà eseguita se il dominio ha lo stato rosso, è sottoposto a una pressione JVM elevata (85% o superiore) o ha una funzione snapshot bloccata. Quando le prestazioni complessive di indicizzazione e ricerca del cluster vengono influenzate, anche SM potrebbe risentirne.

  • Un'operazione di snapshot viene avviata solo dopo il termine dell'operazione precedente, in modo che nessuna operazione di snapshot simultanea venga attivata da un criterio.

  • Più politiche con la stessa pianificazione possono causare un picco di risorse. Se gli indici snapshot delle policy si sovrappongono, le operazioni di snapshot a livello di shard possono essere eseguite solo in sequenza, il che può causare problemi di prestazioni a cascata. Se le policy condividono un repository, ci sarà un picco di operazioni di scrittura su quel repository.

  • Ti consigliamo di pianificare l'automazione delle operazioni delle istantanee non più di una volta all'ora, a meno che tu non abbia un caso d'uso speciale.

Automazione di snapshot con Index State Management

È possibile utilizzare l'operazione snapshot di Index State Management (ISM) per attivare automaticamente gli snapshot di indici in base alle modifiche relative all'età, alle dimensioni o al numero di documenti. ISM è la soluzione migliore quando è necessaria un'istantanea per indice. Se hai bisogno di un'istantanea di un gruppo di indici, vediAutomazione delle istantanee con Snapshot Management.

Per usare SM inOpenSearchServizio, devi registrare il tuo repository Amazon S3. Per un esempio di policy ISM che utilizza l'operazione snapshot, consultare Policy di esempio.

Utilizzo di Curator per gli snapshot

Se ISM non funziona per la gestione di indici e snapshot, è possibile utilizzare Curator. Offre funzionalità di filtraggio avanzate utili che semplificano le attività di gestione in cluster complessi. Utilizza pip per installare Curator.

pip install elasticsearch-curator

È possibile utilizzare Curator come interfaccia a riga di comando (CLI) o API Python. Se utilizzi l'API Python, è necessario utilizzare la versione 7.13.4 o precedente del client elasticsearch-py legacy. Non supporta il client opensearch-py.

Se si utilizza l'interfaccia a riga di comando (CLI), esportare le credenziali dalla riga di comando e configurare curator.yml come segue:

client: hosts: search-my-domain.us-west-1.es.amazonaws.com port: 443 use_ssl: True aws_region: us-west-1 aws_sign_request: True ssl_no_validate: False timeout: 60 logging: loglevel: INFO