Creazione e gestione di domini Amazon OpenSearch Service - Amazon OpenSearch Service

Creazione e gestione di domini Amazon OpenSearch Service

In questo capitolo viene descritta la creazione e la configurazione di domini del servizio OpenSearch di Amazon. Un dominio OpenSearch Service è sinonimo di cluster OpenSearch. I domini sono cluster con le impostazioni, i tipi di istanza, il numero di istanze e le risorse di archiviazione specificate.

A differenza delle istruzioni nel tutorial relativo alle nozioni di base, in questo capitolo sono descritte tutte le opzioni e sono fornite le informazioni di riferimento rilevanti. Ogni procedura può essere completata seguendo le istruzioni per la console OpenSearch Service, AWS Command Line Interface (AWS CLI) o gli SDK AWS.

Creazione di domini OpenSearch Service

Questa sezione descrive come creare i domini OpenSearch Service utilizzando la console OpenSearch Service o utilizzando la AWS CLI con il comando create-domain.

Creazione di domini OpenSearch Service (console)

Utilizzare la seguente procedura per creare un dominio OpenSearch Service utilizzando la console.

Come creare un dominio OpenSearch Service (console)

  1. Passare all'indirizzo https://aws.amazon.com e scegliere Sign In to the Console (Accedi alla console).

  2. In Analisi, scegliere Amazon OpenSearch Service.

  3. Scegli Crea dominio.

  4. In Domain name (Nome di dominio), immettere un nome di dominio. Il nome deve soddisfare i seguenti criteri:

    • Univoco per l'account e la Regione AWS

    • Inizia con una lettera minuscola

    • Contiene da 3 a 28 caratteri

    • Contiene solo lettere minuscole a - z, i numeri da 0 a 9 e i trattini (-)

  5. Se si desidera utilizzare un endpoint personalizzato anziché quello standard di https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com, scegliere Abilita endpoint personalizzato e fornire un nome e un certificato. Per ulteriori informazioni, consultare Creazione di un endpoint personalizzato per il servizio OpenSearch di Amazon.

  6. In Tipo di implementazione, selezionare l'opzione che meglio soddisfa lo scopo del dominio.

    • I domini di produzione utilizzano Multi-AZ e nodi master dedicati per una maggiore disponibilità.

    • I domini Development and testing (Sviluppo e test) usano una sola zona di disponibilità.

    • I domini Custom (Personalizzati) consentono di scegliere tra tutte le opzioni di configurazione.

      Importante

      I diversi tipi di distribuzione presentano diverse opzioni su pagine successive. Questi passaggi includono tutte le opzioni (il tipo di distribuzione personalizzata).

  7. Per Versione, scegliere la versione di OpenSearch o Elasticsearch OSS legacy da utilizzare. Consigliamo di scegliere la versione più recente di OpenSearch. Per ulteriori informazioni, consultare Versioni supportate di OpenSearch ed Elasticsearch.

    (Facoltativo) Se è stata scelta una versione OpenSearch per il dominio, selezionare Abilita modalità di compatibilità per fare in modo che OpenSearch riporti la sua versione come 7.10, che consente ad alcuni client e plug-in Elasticsearch OSS che controllano la versione prima di connettersi di continuare a lavorare con il servizio.

  8. Per Regolazione automatica, scegliere se consentire a OpenSearch Service di suggerire modifiche di configurazione relative alla memoria al dominio per migliorare la velocità e la stabilità. Per ulteriori informazioni, consultare Regolazione automatica per Amazon OpenSearch Service.

    (Facoltativo) Selezionare Aggiungi finestra di manutenzione per pianificare una finestra ricorrente durante la quale la regolazione automatica aggiorna il dominio.

  9. In Nodi di dati, scegliere il numero di zone di disponibilità. Per ulteriori informazioni, consultare Configurazione di un dominio multi-AZ in Amazon OpenSearch Service.

    Nota

    La console OpenSearch Service non supporta lo spostamento da più zone di disponibilità a una singola zona di disponibilità dopo la creazione del dominio. Se si scelgono 2 o 3 zone di disponibilità e successivamente si desidera passare a 1, è necessario disabilitare ZoneAwarenessEnabled utilizzando il parametro AWS CLI o l'API di configurazione.

  10. Per Tipo di istanza, scegliere un tipo di istanza per i nodi di dati. Per ulteriori informazioni, consultare Tipi di istanza supportati nel servizio OpenSearch di Amazon.

    Nota

    Non tutte le zone di disponibilità supportano tutti i tipi di istanze. Se si sceglie 3-AZ, ti consigliamo di scegliere i tipi di istanze di generazione attuale, ad esempio R5 o I3.

  11. In Number of nodes (Numero di nodi), scegliere il numero di nodi di dati.

    Per i valori massimi, consultare Quote di dominio e istanza. I cluster a nodo singolo sono ideali per lo sviluppo e i test, ma non devono essere utilizzati per i carichi di lavoro di produzione. Per ulteriori linee guida, consulta Dimensionamento dei domini Amazon OpenSearch Service e Configurazione di un dominio multi-AZ in Amazon OpenSearch Service.

  12. Per Storage type (Tipo di storage), seleziona volumi di Amazon EBS o di archivio dell'istanza da associare alla tua istanza. I tipi di volume disponibili nell'elenco dipendono dal tipo di istanza scelta. Per istruzioni su come creare domini di grandi dimensioni, consultare Scala in petabyte nel servizio OpenSearch di Amazon.

  13. Se scegli EBS come tipo di storage, configura le impostazioni aggiuntive indicate di seguito. Alcune impostazioni potrebbero non essere visualizzate a seconda del tipo di volume scelto.

    Impostazione Descrizione
    Tipi di volume EBS

    Scegli tra Scopo generico (SSD) - gp3 e Scopo generico (SSD) - gp2 o la generazione precedente Capacità di IOPS allocata (SSD) e Magnetico (standard).

    Dimensioni dello storage EBS per ogni nodo

    Inserisci le dimensioni del volume EBS da collegare a ogni nodo di dati.

    EBS volume size (Dimensione del volume EBS) è per nodo. È possibile calcolare le dimensioni totali del cluster per il dominio OpenSearch Service moltiplicando il numero di nodi di dati per la dimensione del volume EBS. Le dimensioni minime e massime di un volume EBS dipendono sia dal tipo di volume EBS specificato sia dal tipo di istanza collegata. Per ulteriori informazioni, consulta Limiti delle dimensioni dei volumi EBS.

    IOPS con provisioning

    Se hai selezionato un tipo di volume SSD con capacità di IOPS allocata, inserisci il numero di operazioni I/O al secondo (IOPS) supportate dal volume.

  14. (Facoltativo) Se hai selezionato un tipo di volume gp3, espandi Advanced settings (Impostazioni avanzate) e specifica ulteriori IOPS (fino a 1.000 MiB/s) e velocità di trasmissione effettiva (fino a 16.000) da fornire per ciascun nodo, oltre a ciò che è incluso nel prezzo dello storage, ad un costo aggiuntivo. Per ulteriori informazioni, consulta Prezzi del servizio OpenSearch di Amazon.

  15. Scegli il tipo e il numero di nodi principali dedicati. I nodi master dedicati aumentano la stabilità del cluster e sono richiesti per domini con un conteggio istanze superiore a 10. Per i domini di produzione consigliamo tre nodi master dedicati.

    Nota

    È possibile scegliere tra tipi di istanze differenti per nodi master dedicati e nodi di dati. Ad esempio, è possibile selezionare istanze generiche o ottimizzate per l'archiviazione per i nodi di dati e scegliere istanze ottimizzate per l'elaborazione per i nodi principali dedicati.

  16. (Facoltativo) Per abilitare l'archiviazione UltraWarm, scegliere Abilita nodi di dati UltraWarm. Ogni tipo di istanza ha una quantità massima di spazio di archiviazione che può indirizzare. Moltiplicare tale importo per il numero di nodi di dati a caldo per l'archiviazione a caldo indirizzabile totale.

  17. (Facoltativo) Per abilitare l'archiviazione a freddo, scegliere Abilita archiviazione a freddo. Per abilitare la conservazione a freddo, è necessario abilitare UltraWarm.

  18. (Facoltativo) Per i domini che eseguono OpenSearch o Elasticsearch 5.3 e versioni successive, la configurazione dello snapshot è irrilevante. Per ulteriori informazioni sugli snapshot automatici, consulta Creazione di snapshot di indici in Amazon OpenSearch Service.

  19. In Rete, scegliere Accesso VPC o Accesso pubblico. Se si sceglie Public access (Accesso pubblico), andare al passaggio successivo. Se si sceglie Accesso VPC, è necessario accertarsi di soddisfare tutti i prerequisiti e configurare le seguenti impostazioni:

    Impostazione Descrizione
    VPC

    Scegli l'ID per il cloud privato virtuale (VPC) da utilizzare. Il VPC e il dominio devono essere nella stessa Regione AWS ed è necessario selezionare un VPC con la tenancy impostata su Default (Di default). OpenSearch Service non supporta ancora VPC che usano l'istanza dedicata a tenant singolo.

    Sottorete

    Scegli una sottorete. Se è stato abilitato il Multi-AZ, è necessario scegliere due o tre sottoreti. OpenSearch Service posizionerà un endpoint VPC e le interfacce di rete elastiche nelle sottoreti.

    È necessario riservare un numero sufficiente di indirizzi IP per le interfacce di rete nelle sottoreti. Per ulteriori informazioni, consultare Prenotazione di indirizzi IP in una sottorete VPC.

    Gruppi di sicurezza

    Scegli uno o più gruppi di sicurezza VPC che consentono all'applicazione richiesta di raggiungere il dominio del servizio OpenSearch sulle porte (80 o 443) e i protocolli (HTTP o HTTPS) esposti dal dominio. Per ulteriori informazioni, consultare Avvio dei domini Amazon OpenSearch Service all'interno di un VPC.

    Ruolo IAM

    Lascia il ruolo predefinito. OpenSearch Service usa questo ruolo predefinito (noto anche come ruolo collegato ai servizi) per accedere al VPC e per posizionare un endpoint VPC e le interfacce di rete nella sottorete del VPC. Per ulteriori informazioni, consultare Ruolo collegato ai servizi per l'accesso VPC.

  20. Abilitare o disabilitare il controllo granulare degli accessi:

    • Se si desidera utilizzare IAM per la gestione degli utenti, scegliere Imposta ARN IAM come utente principale e specificare l'ARN per un ruolo IAM.

    • Se desideri utilizzare il database utente interno, scegli Crea utente principale e specifica un nome utente e una password.

    Qualunque sia l'opzione scelta, l'utente principale potrà accedere a tutti gli indici nel cluster e a tutte le API OpenSearch. Per informazioni su quale opzione scegliere, vedere Concetti chiave.

    Se si disattiva il controllo granulare degli accessi, è comunque possibile controllare l'accesso al dominio inserendolo in un VPC, applicando una policy di accesso restrittivo o entrambi. Per utilizzare il controllo granulare degli accessi, è necessario abilitare la crittografia da nodo a nodo e la crittografia a riposo.

    Nota

    Si consiglia fortemente di abilitare il controllo granulare degli accessi per proteggere i dati sul dominio. Il controllo granulare degli accessi fornisce protezione a livello di cluster, indice, documento e campo.

  21. (Facoltativo) Se si desidera utilizzare l'autenticazione SAML per OpenSearch Dashboard, scegliere Preparazione all'autenticazione SAML. Una volta che il dominio è disponibile, consultare Autenticazione SAML per OpenSearch Dashboards per le ulteriori fasi.

  22. (Facoltativo) Se si desidera utilizzare l'autenticazione Amazon Cognito per OpenSearch Dashboard, scegliere Abilita autenticazione Amazon Cognito. Scegli il pool di utenti e il pool di identità di Amazon Cognito da utilizzare per l'autenticazione di OpenSearch Dashboards. Per ulteriori informazioni sulla creazione di queste risorse, consultare Configurazione dell'autenticazione Amazon Cognito per OpenSearch Dashboards.

  23. Per Policy di accesso al dominio, scegliere una policy di accesso o configurarne una personalizzata. Se si sceglie di creare una policy personalizzata, è possibile configurarla manualmente o importarne una da un altro dominio. Per ulteriori informazioni, consultare Gestione di accessi e identità nel servizio OpenSearch di Amazon.

    Nota

    Se è stato abilitato l'accesso VPC, non è possibile utilizzare policy basate su IP. Invece è possibile utilizzare i gruppi di sicurezza per controllare gli indirizzi IP che possono accedere al dominio. Per ulteriori informazioni, consultare Informazioni sulle policy d'accesso nei domini VPC.

  24. (Facoltativo) Per richiedere che tutte le richieste al dominio arrivino tramite HTTPS, selezionare Richiedi HTTPS per tutto il traffico verso il dominio.

  25. (Facoltativo) Se si desidera abilitare la crittografia da nodo a nodo, selezionare l'opzione Crittografia da nodo a nodo. Per ulteriori informazioni, consultare Crittografia da nodo a nodo per il servizio OpenSearch di Amazon.

  26. (Facoltativo) Per abilitare la crittografia dei dati a riposo, selezionare l'opzione Abilita crittografia dei dati a riposo.

    Selezionare Usa chiave di proprietà di AWS per far sì che OpenSearch Service crei una chiave di crittografia AWS KMS per tuo conto (o utilizzi quella già creata). In caso contrario, scegliere la propria chiave KMS. Per ulteriori informazioni, consultare Crittografia dei dati a riposo per il servizio OpenSearch di Amazon.

  27. (Facoltativo) Aggiungere i tag per descrivere il dominio in modo da poter categorizzare e filtrare in base a tali informazioni. Per ulteriori informazioni, consultare Assegnazione di tag dei domini Amazon OpenSearch Service.

  28. (Facoltativo) Espandi e configura Impostazioni avanzate del cluster. Per un riepilogo di queste opzioni, vedere Impostazioni avanzate del cluster.

  29. Scegliere Create (Crea) .

Creazione di domini OpenSearch Service (AWS CLI)

Invece di creare un dominio OpenSearch Service utilizzando la console, è possibile utilizzare la AWS CLI. Per la sintassi, consultare il servizio OpenSearch di Amazon in Riferimento ai comandi AWS CLI.

Comandi di esempio

Questo primo esempio illustra la seguente configurazione del dominio OpenSearch Service:

  • Crea un dominio del servizio OpenSearch denominato mylogs con OpenSearch versione 1.2

  • Popola il dominio con due istanze del tipo r6g.large.search

  • Utilizza un volume EBS a scopo generico (SSD) gp3 da 100 GiB per lo storage di ogni nodo di dati

  • Consente l'accesso anonimo, ma solo da un solo indirizzo IP: 192.0.2.0/32

aws opensearch create-domain --domain-name mylogs --engine-version OpenSearch_1.2 --cluster-config InstanceType=r6g.large.search,InstanceCount=2 --ebs-options EBSEnabled=true,VolumeType=gp3,VolumeSize=100,Iops=3500,Throughput=125 --access-policies '{"Version": "2012-10-17", "Statement": [{"Action": "es:*", "Principal":"*","Effect": "Allow", "Condition": {"IpAddress":{"aws:SourceIp":["192.0.2.0/32"]}}}]}'

Nel prossimo esempio viene illustrata la seguente configurazione del dominio OpenSearch Service:

  • Crea un dominio OpenSearch Service denominato mylog con Elasticsearch versione 7.10

  • Popola il dominio con sei istanze del tipo r6g.large.search

  • Utilizza un volume EBS a scopo generico (SSD) gp2 da 100 GiB per lo storage di ogni nodo di dati

  • Limita l'accesso al servizio a un singolo utente, identificato dall'ID Account AWS dell'utente: 555555555555

  • Distribuisce istanze in tre zone di disponibilità

aws opensearch create-domain --domain-name mylogs --engine-version Elasticsearch_7.10 --cluster-config InstanceType=r6g.large.search,InstanceCount=6,ZoneAwarenessEnabled=true,ZoneAwarenessConfig={AvailabilityZoneCount=3} --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=100 --access-policies '{"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::555555555555:root" }, "Action":"es:*", "Resource": "arn:aws:es:us-east-1:555555555555:domain/mylogs/*" } ] }'

Nel prossimo esempio viene illustrata la seguente configurazione del dominio OpenSearch Service:

  • Crea un dominio OpenSearch Service denominato mylog con OpenSearch versione 1.0

  • Popola il dominio con dieci istanze del tipo r6g.xlarge.search

  • Popola il dominio con tre istanze del tipo r6g.large.search per fungere come nodi master dedicati

  • Utilizza un volume EBS con capacità di IOPS allocata di 100 GiB per lo storage, configurato con prestazioni di base di 1.000 IOPS per ogni nodo di dati

  • Limita l'accesso a un singolo utente e a una sola subresource, l'API _search

aws opensearch create-domain --domain-name mylogs --engine-version OpenSearch_1.0 --cluster-config InstanceType=r6g.xlarge.search,InstanceCount=10,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.search,DedicatedMasterCount=3 --ebs-options EBSEnabled=true,VolumeType=io1,VolumeSize=100,Iops=1000 --access-policies '{"Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::555555555555:root" }, "Action": "es:*", "Resource": "arn:aws:es:us-east-1:555555555555:domain/mylogs/_search" } ] }'
Nota

Se si prova a creare un dominio OpenSearch Service ed è già presente un dominio con lo stesso nome, la CLI non segnala un errore. Restituisce invece i dettagli per il dominio esistente.

Creazione di domini OpenSearch Service (SDK AWS)

Gli SDK AWS (ad eccezione degli SDK Android e iOS) supportano tutte le operazioni definite in Informazioni di riferimento sull'API di configurazione di OpenSearch Service, inclusa l'operazione CreateDomain. Per il codice di esempio, consulta Uso degli SDK AWS per interagire con Amazon OpenSearch Service. Per ulteriori informazioni sull'installazione e sull'uso degli SDK AWS, consultare Software Development Kit AWS.

Creazione di domini OpenSearch Service (AWS CloudFormation)

OpenSearch Service è integrato con AWS CloudFormation, un servizio che consente di modellare e configurare le risorse AWS in modo da dedicare meno tempo alla creazione e alla gestione delle risorse e dell'infrastruttura. È possibile creare un modello che descrive il dominio OpenSearch che si desidera creare e CloudFormation fornirà e configurerà il dominio per tuo conto. Per ulteriori informazioni, inclusi esempi di modelli JSON e YAML per i domini OpenSearch, consulta Riferimento dei tipi di risorse del servizio OpenSearch di Amazon nella Guida per l'utente di AWS CloudFormation.

Configurazione delle policy di accesso

Il servizio OpenSearch di Amazon offre diversi modi per configurare l'accesso ai domini del servizio OpenSearch. Per ulteriori informazioni, consultare Gestione di accessi e identità nel servizio OpenSearch di Amazon e Controllo granulare degli accessi nel servizio OpenSearch di Amazon.

La console offre le policy d'accesso preconfigurate che è possibile personalizzare per le esigenze specifiche del dominio. È possibile importare policy di accesso anche da altri domini del servizio OpenSearch. Per informazioni su come queste policy d'accesso interagiscono con l'accesso VPC, consulta Informazioni sulle policy d'accesso nei domini VPC.

Per configurare le policy d'accesso (console)

  1. Andare all'indirizzo https://aws.amazon.com e quindi scegliere Sign In to the Console (Accedi alla console).

  2. In Analisi, sceglie Servizio OpenSearch di Amazon.

  3. Nel pannello di navigazione, in Domini, scegli il dominio che desideri aggiornare.

  4. Scegli Operazioni, quindi Modifica configurazione di sicurezza.

  5. Modifica il JSON della policy di accesso o importa un'opzione preconfigurata.

  6. Scegliere Save changes (Salva modifiche).

Impostazioni avanzate del cluster

Utilizzare le opzioni avanzate per configurare:

Indici nei corpi delle richieste

Specifica se i riferimenti espliciti agli indici sono permessi all'interno del corpo delle richieste HTTP. L'impostazione di questa proprietà su false impedisce agli utenti di aggirare il controllo degli accessi per le risorse secondarie. Per impostazione predefinita, il valore è true. Per ulteriori informazioni, consultare Opzioni avanzate e considerazioni sulle API.

Allocazione della cache dei dati di campo

Specifica la percentuale di spazio heap Java allocata ai dati del campo. Per impostazione predefinita, questa impostazione è il 20% dell'heap JVM.

Nota

Molte query dei clienti effettuano la rotazione degli indici giornalieri. È consigliabile iniziare i test di benchmark con indices.fielddata.cache.size configurato al 40% dell'heap JVM per la maggior parte dei casi d'uso. Tuttavia, se si dispone di indici di grandi dimensioni, potrebbe essere necessaria una cache dei dati del campo di grandi dimensioni.

Numero massimo di clausole

Specifica il numero massimo di clausole permesse in una query booleana Lucene. Il valore di default è 1.024. Le query con un numero di clausole superiore a quello permesso generano un errore TooManyClauses. Per ulteriori informazioni, consultare la documentazione di Lucene.