Création et gestion des domaines Amazon Elasticsearch Service - Amazon Elasticsearch Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création et gestion des domaines Amazon Elasticsearch Service

Ce chapitre décrit comment créer et gérer des domaines Amazon Elasticsearch Service (Amazon ES). Un domaine Amazon ES est synonyme d'un cluster Elasticsearch. Les domaines sont des clusters qui ont les paramètres, les types d'instance, le nombre d'instances et les ressources de stockage que vous spécifiez.

Contrairement aux instructions rapidement exposées dans le didacticiel Mise en route, ce chapitre décrit toutes les options et fournit des informations de référence pertinentes. Vous pouvez terminer chaque procédure en utilisant les instructions pour la console Amazon ES, l'AWS Command Line Interface(AWS CLI), ou leAWSKits SDK.

Création de domaines Amazon ES

Cette section décrit comment créer des domaines Amazon ES à l'aide de la console Amazon ES ou à l'aide duAWS CLIavec lecreate-elasticsearch-domaincommande.

Création de domaines Amazon ES (console)

Utilisez la procédure suivante pour créer un domaine Amazon ES à l'aide de la console.

Pour créer un domaine Amazon ES (console)

  1. Accédez à https://aws.amazon.com, puis choisissez Sign In to the Console (Se connecter à la console).

  2. Sous Analytics (Analyse), choisissez Elasticsearch Service.

  3. Choisissez Create a new domain (Créer un domaine).

  4. Dans Choose deployment type (Choisir le type de déploiement), sélectionnez l'option qui correspond le mieux à la fonction de votre domaine :

    • Les domaines de production utilisent des zones de disponibilité multiples et des nœuds principaux dédiés pour une plus grande disponibilité.

    • Les domaines de développement et de test utilisent une zone de disponibilité unique.

    • Les domaines personnalisés vous permettent de choisir parmi toutes les options de configuration.

    Important

    Les différents types de déploiement offrent différentes options sur les pages suivantes. Ces étapes incluent toutes les options (type de déploiement personnalisé ).

  5. Pour Elasticsearch version (Version d'Elasticsearch), nous vous recommandons de choisir la dernière version prise en charge. Pour plus d'informations, consultez Versions d'Elasticsearch.

  6. Choisissez Next (Suivant).

  7. Pour Elasticsearch domain name (Nom de domaine d'Elasticsearch), entrez un nom de domaine. Le nom doit répondre aux critères suivants :

    • Doit être unique dans votre compte et votre région

    • Commence par une lettre minuscule

    • Contient entre 3 et 28 caractères

    • Contient uniquement les lettres minuscules a-z, les chiffres 0-9 et le trait d'union (-)

  8. Si vous souhaitez utiliser un point de terminaison personnalisé plutôt que le point de terminaison standard dehttps://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com, choisissez Activer le point de terminaison personnalisé. Fournissez ensuite un nom et un certificat. Pour plus d'informations, consultez Création d'un point de terminaison personnalisé pour Amazon Elasticsearch Service.

  9. Pour Availability Zones (Zones de disponibilité), choisissez 1-AZ, 2-AZ ou 3-AZ. Pour plus d'informations, consultez Configuration d'un domaine Multi-AZ dans Amazon Elasticsearch Service.

  10. Pour Instance type (Type d'instance), choisissez un type d'instance pour les nœuds de données. Pour de plus amples informations, veuillez consulterTypes d'instances pris en charge dans Amazon Elasticsearch Service.

    Note

    Certaines zones de disponibilité ne prennent pas en charge certains types d'instance. Si vous choisissez 3-AZ, nous vous recommandons de choisir des types d'instance de génération actuelle tels que R5 ou I3.

  11. Pour Number of instances (Nombre d'instances), tapez le nombre de nœuds de données.

    Pour connaître les valeurs maximales, consultez Limites de cluster et d'instance. Les clusters à nœud unique conviennent aux phases de développement et de test, mais pas pour des charges de travail en production. Pour de plus amples informations, veuillez consulter Dimensionnement des domaines Amazon Elasticsearch Service et Configuration d'un domaine Multi-AZ dans Amazon Elasticsearch Service.

  12. Pour Storage type (Type de stockage), choisissez Instance (la valeur par défaut) ou EBS.

    Pour obtenir des conseils sur la création de domaines particulièrement volumineux, reportez-vous à la section Mise à l'échelle d'une capacité de plusieurs péta-octets. Si vous choisissez EBS, les options suivantes apparaissent :

    1. Pour EBS volume type (Type de volume EBS), choisissez un type de volume EBS.

      Si vous choisissez Provisioned IOPS (SSD) (IOPS provisionnées (SSD)) pour le type de volume EBS, pour Provisioned IOPS (IOPS provisionnées), entrez les performances IOPS de base que vous voulez. Pour de plus amples informations, veuillez consulterVolumes Amazon EBSDans la documentation Amazon EC2.

    2. Pour EBS volume size (Taille du volume EBS), entrez la taille du volume EBS que vous voulez attacher à chaque nœud de données.

      La taille du volume EBS est indiquée par nœud. Vous pouvez calculer la taille de cluster totale pour le domaine ES Amazon en multipliant le nombre de nœuds de données par la taille du volume EBS. Les tailles minimale et maximale d'un volume EBS dépendent à la fois du type de volume EBS spécifié et du type d'instance auquel il est attaché. Pour en savoir plus, consultez Limites relatives à la taille du volume EBS.

  13. (Facultatif) Activez ou désactivez des nœuds principaux dédiés. Les nœuds principaux dédiés augmentent la stabilité du cluster et sont obligatoires pour les domaines dont le nombre d'instances est supérieur à 10. Pour les domaines de production, nous vous recommandons trois nœuds principaux dédiés.

    Note

    Vous pouvez choisir différents types d'instance pour les nœuds principaux dédiés et les nœuds de données. Par exemple, vous pouvez sélectionner des instances à visée générale ou optimisées pour le stockage pour vos nœuds de données, mais des instances optimisées pour le calcul pour vos nœuds principaux dédiés.

  14. (Facultatif) Pour activer le stockage UltraWarm, choisissez Enable UltraWarm data nodes (Activer les nœuds de données UltraWarm). Chaque type d'instance dispose d'une quantité maximale de stockage qu'il peut traiter. Multipliez cette quantité par le nombre de nœuds de données à chaud pour le stockage à chaud adressable total.

  15. (Facultatif) Pour activerstockage à froid, choisissezActiver le stockage à froid. Vous devez activer UltraWarm pour activer le stockage à froid.

  16. (Facultatif) Pour les domaines exécutant Elasticsearch 5.3 et versions ultérieures,Heure de début des instantanés automatiquesn'a aucun effet. Pour plus d'informations sur les instantanés automatiques, consultez Création d'instantanés d'index dans Amazon Elasticsearch Service.

  17. (Facultatif) Choisissez Optional Elasticsearch cluster settings (Paramètres de cluster Elasticsearch facultatifs). Pour un résumé de ces options, reportez-vous à la section Options avancées.

  18. Choisissez Next (Suivant).

  19. DansConfiguration réseau, choisissezAccès VPCouAccès public. Si vous choisissez Public access (Accès public), passez à l'étape suivante. Si vous choisissez VPC access (Accès VPC), assurez-vous d'avoir respecté les prérequis, puis effectuez les opérations suivantes :

    1. Pour VPC, choisissez l'ID du VPC à utiliser.

      Note

      Le VPC et le domaine doivent être dans la même région AWS, et vous devez sélectionner un VPC avec une location défini sur par défaut. Amazon ES ne prend pas encore en charge les VPC qui utilisent la location dédiée.

    2. Pour Subnet (Sous-réseau), choisissez un sous-réseau. Si vous avez activé des zones de disponibilité multiples, vous devez choisir deux ou trois sous-réseaux. Amazon ES placera un point de terminaison VPC etinterfaces réseau Elasticdans les sous-réseaux.

      Note

      Vous devez réserver suffisamment d'adresses IP pour les interfaces réseau dans le ou les sous-réseaux. Pour de plus amples informations, veuillez consulterRéservation d'adresses IP dans un sous-réseau VPC.

    3. PourGroupes de sécurité, choisissez un ou plusieurs groupes de sécurité VPC qui permettent à l'application requise d'atteindre le domaine Amazon ES sur les ports (80 ou 443) et les protocoles (HTTP ou HTTP) exposés par le domaine. Pour plus d'informations, consultez Lancement de vos domaines Amazon Elasticsearch Service à l'aide d'un VPC.

    4. PourRôle IAM, conservez le rôle par défaut. Amazon ES utilise ce rôle prédéfini (également appeléRôle lié à un service) pour accéder à votre VPC et placer un point de terminaison de VPC et des interfaces réseau dans le sous-réseau du VPC. Pour de plus amples informations, veuillez consulterRôle lié à un service pour l'accès VPC.

  20. Dans la section Contrôle d'accès affiné, activez ou désactivez le contrôle d'accès affiné :

    • Si vous souhaitez utiliser IAM pour la gestion des utilisateurs, choisissez Set IAM role as master user (Définir le rôle IAM en tant qu'utilisateur maître) et spécifiez l'ARN pour un rôle IAM.

    • Si vous souhaitez utiliser la base de données utilisateur interne, choisissezCréation d'un utilisateur maîtreet spécifiez un nom d'utilisateur et un mot de passe.

    Quelle que soit l'option choisie, l'utilisateur maître peut accéder à tous les index du cluster et à toutes les API Elasticsearch. Pour de plus amples informations sur l'option à choisir, veuillez consulter Concepts clés.

    Si vous désactivez le contrôle d'accès affiné, vous pouvez toujours contrôler l'accès à votre domaine en le plaçant dans un VPC, en appliquant une stratégie d'accès restrictive, ou les deux. Vous devez activer le chiffrement de nœud à nœud et le chiffrement au repos pour utiliser un contrôle d'accès affiné.

    Note

    wefortementrecommande d'activer le contrôle d'accès affiné pour protéger les données de votre domaine. Un contrôle d'accès précis assure la sécurité au niveau du cluster, de l'index, du document et du champ.

  21. (Facultatif) Si vous souhaitez utiliser l'authentification SAML pour Kibana, choisissezPréparation de l'authentification SAML. Une fois le domaine disponible, consultezAuthentification SAML pour KibanaPour consulter les étapes supplémentaires.

  22. (Facultatif) Si vous souhaitez utiliser l'authentification Amazon Cognito pour Kibana, choisissezActiver l'authentification Amazon Cognito.

    1. Choisissez le groupe d'utilisateurs et le groupe d'identités Amazon Cognito que vous souhaitez utiliser pour l'authentification Kibana. Pour obtenir de l'aide pour créer ces ressources, consultez Configuration de l'authentification Amazon Cognito pour Kibana.

  23. Dans Domain access policy (Stratégie d'accès au domaine), ajoutez les ARN ou adresses IP souhaitées ou choisissez une stratégie préconfigurée dans la liste déroulante. Pour plus d'informations, consultez Identity and Access Management dans Amazon Elasticsearch Service et A propos des stratégies d'accès sur les domaines VPC.

    Note

    Si vous avez choisiAccès VPCÀ l'étape 18, les stratégies basées sur l'adresse IP sont interdites. Vous devez plutôt utiliser des groupes de sécurité pour contrôler les adresses IP qui peuvent accéder au domaine. Pour plus d'informations, consultez A propos des stratégies d'accès sur les domaines VPC.

  24. (Facultatif) Pour exiger que toutes les demandes envoyées au domaine arrivent via HTTPS, cochez la case Require HTTPS for all traffic to the domain (Exiger HTTPS pour tout le trafic vers le domaine) .

  25. (Facultatif) Pour activer le chiffrement nœud à nœud, cochez Node-to-node encryption (Chiffrement nœud à nœud). Pour plus d'informations, consultez Chiffrement nœud à nœud pour Amazon Elasticsearch Service.

  26. (Facultatif) Pour activer le chiffrement des données au repos, cochez Enable encryption of data at rest (Activer le chiffrement des données au repos).

    Tâche de sélection(par défaut) aws/esAmazon ES pour qu'Amazon ES crée une clé de chiffrement KMS en votre nom (ou utilise celle qu'il a déjà créée). Sinon, sélectionnez votre propre clé de chiffrement KMS à partir du menu KMS master key (Clé principale KMS). Pour plus d'informations, consultez Chiffrement de données au repos pour Amazon Elasticsearch Service..

  27. Choisissez Next (Suivant).

  28. Sur la page Review (Vérification), vérifiez la configuration de votre domaine, puis choisissez Confirm (Confirmer).

Création de domaines Amazon ES (AWS CLI)

Au lieu de créer un domaine Amazon ES à l'aide de la console, vous pouvez utiliser l'AWS CLI. Pour consulter la syntaxe, consultez Amazon Elasticsearch Service dans la sectionAWSRéférence de la commande de l'interface.

Exemple de commandes

Ce premier exemple montre la configuration du domaine Amazon ES suivante :

  • Crée un domaine Amazon ES nommémylogsavec Elasticsearch version 7.10

  • Remplit le domaine avec deux instances du type r6g.large.elasticsearch

  • Utilise un volume de stockage EBS à usage général (SSD) de 100 Gio pour chaque nœud de données

  • Autorise l'accès anonyme, mais uniquement à partir d'une seule adresse IP : 192.0.2.0/32

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

Le prochain exemple montre la configuration du domaine Amazon ES suivante :

  • Crée un domaine Amazon ES nommémylogsavec Elasticsearch version 7.10

  • Remplit le domaine avec six instances du type r6g.large.elasticsearch

  • Utilise un volume de stockage EBS à usage général (SSD) de 100 Gio pour chaque nœud de données

  • Limite l'accès au service à un seul utilisateur, identifié par le Compte AWS ID : 555555555555

  • Répartit des instances dans trois zones de disponibilité

aws es create-elasticsearch-domain --domain-name mylogs --elasticsearch-version 7.10 --elasticsearch-cluster-config InstanceType=r6g.large.elasticsearch,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/*" } ] }'

Le prochain exemple montre la configuration du domaine Amazon ES suivante :

  • Crée un domaine Amazon ES nommémylogsavec Elasticsearch version 7.10

  • Remplit le domaine avec dix instances du type r6g.xlarge.elasticsearch

  • Remplit le domaine avec trois instances du type r6g.large.elasticsearch comme nœuds principaux dédiés

  • Utilise un volume de stockage EBS d'IOPS provisionnés de 100 Gio, configuré avec des performances de base de 1 000 IOPS pour chaque nœud de données

  • Limite l'accès à un seul utilisateur et à une seule sous-ressource, l'API _search

aws es create-elasticsearch-domain --domain-name mylogs --elasticsearch-version 7.10 --elasticsearch-cluster-config InstanceType=r6g.xlarge.elasticsearch,InstanceCount=10,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.elasticsearch,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" } ] }'
Note

Si vous essayez de créer un domaine ES Amazon portant le même nom qu'un domaine existant, l'interface de ligne de commande ne signale aucune erreur. Au lieu de cela, elle renvoie les détails pour le domaine existant.

Création de domaines Amazon ES (AWSKits SDK)

La .AWSKits SDK (SDK) (SDK) Android et iOS) prennent en charge toutes les actions définies dans l'Référence de l'API de configuration Amazon ES, y comprisCreateElasticsearchDomain. Pour un exemple de code, consultez Utilisation du kitAWSKit SDK pour interagir avec Amazon Elasticsearch Service. Pour plus d'informations sur l'installation et l'utilisation duAWSKits SDK, consultezAWSKits de développement logiciel.

Configuration des stratégies d'accès

Amazon Elasticsearch Service offre plusieurs façons de configurer l'accès à vos domaines Amazon ES. Pour plus d'informations, consultez Identity and Access Management dans Amazon Elasticsearch Service et Le contrôle précis des accès dans Amazon Elasticsearch Service.

La console fournit des stratégies d'accès préconfigurées que vous pouvez personnaliser en fonction des besoins spécifiques de votre domaine. Vous pouvez également importer des stratégies d'accès à partir d'autres domaines Amazon ES. Pour plus d'informations sur la manière dont ces stratégies d'accès interagissent avec l'accès VPC, consultez A propos des stratégies d'accès sur les domaines VPC.

Pour configurer les stratégies d'accès (console)

  1. Accédez à https://aws.amazon.com, puis choisissez Sign In to the Console (Se connecter à la console).

  2. Sous Analytics (Analyse), choisissez Elasticsearch Service.

  3. Dans le volet de navigation, sous My domains (Mes domaines), choisissez le domaine que vous voulez mettre à jour.

  4. Choisissez Actions et Modify access policy (Modifier la stratégie d'accès).

  5. Modifiez la stratégie d'accès JSON ou utilisez la liste déroulante pour choisir une option préconfigurée.

  6. Choisissez Submit.

Options avancées

Utilisez les options avancées pour configurer les éléments suivants :

rest.action.multi.allow_explicit_index

Spécifie si des références explicites aux index sont autorisées dans le corps des requêtes HTTP. Si vous affectez la valeur false à cette propriété, les utilisateurs ne peuvent pas outrepasser le contrôle d'accès aux sous-ressources. Par défaut, la valeur est true. Pour plus d'informations, consultez Options avancées et considérations relatives à l'API.

indices.fielddata.cache.size

Spécifie le pourcentage d'espace du tas Java alloué aux données de champ. Par défaut, ce paramètre correspond à 20 % du tas JVM.

Note

De nombreux clients interrogent les index quotidiens en rotation. Nous vous recommandons de commencer les tests de référence avecindices.fielddata.cache.sizeconfiguré à 40 % du tas JVM pour la plupart de ces cas d'utilisation. Pour les index très volumineux, vous pourriez avoir besoin d'un important cache de données de champ.

indices.query.bool.max_clause_count

Spécifie le nombre maximal de clauses autorisées dans une requête booléenne Lucene. La valeur par défaut est 1 024. Les requêtes comportant davantage de clauses que le nombre autorisé génèrent une erreur TooManyClauses. Pour plus d'informations, consultez la documentation Lucene.