Amazon OpenSearch サービスのドメインの作成と管理 - Amazon OpenSearch Service (Amazon Elasticsearch Service の後継サービス)

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon OpenSearch サービスのドメインの作成と管理

この章では、Amazon OpenSearch サービスのドメインを作成および管理する方法について説明します。OpenSearch サービスのドメインは、OpenSearch クラスターと同義です。ドメインは、指定した設定、インスタンスタイプ、インスタンス数、ストレージリソースを含むクラスターです。

の簡単な指示とは異なり、入門チュートリアルこの章では、すべてのオプションについて説明し、関連するリファレンス情報を提供します。各手順を実行するには、OpenSearch サービスコンソールの手順、AWS Command Line Interface(AWS CLI)、またはAWSSDK。

OpenSearch Service ドメインの作成

このセクションでは、OpenSearch サービスコンソールを使用するか、AWS CLIとcreate-domainコマンドを実行します。

OpenSearch サービスのドメインの作成 (コンソール)

次の手順に従って、コンソールを使用して OpenSearch Service ドメインを作成します。

OpenSearch Service ドメインを作成するには (コンソール)

  1. https://aws.amazon.com にアクセスし、[Sign In to the Console] を選択します。

  2. []分析] で、Amazon OpenSearch Service

  3. [Create a new domain (新しいドメインの作成)] を選択します。

  4. を使用する場合デプロイタイプで、ドメインの目的に最も一致するオプションを選択します。

    • [本番稼働用] ドメインでは、マルチ AZ と専用マスターノードが使用されます。可用性を高めるために使用します。

    • [開発およびテスト] ドメインでは、単一のアベイラビリティーゾーンが使用されます。

    • [カスタム] ドメインでは、すべての設定オプションから選択できます。

      重要

      デプロイタイプが異なると、後続のページのオプションが異なります。これらの手順には、すべてのオプション (カスタムデプロイタイプ) が含まれます。

  5. を使用する場合Versionで、使用する OpenSearch またはレガシー Elasticsearch OSS のバージョンを選択します。OpenSearch の最新バージョンの選択をお勧めします。詳細については、「サポートされているバージョンのOpenSearchおよびElasticsear」を参照してください。

    (オプション)ドメインに OpenSearch バージョンを選択した場合は、互換モードを有効にするを使用して OpenSearch のバージョンを 7.10 と報告します。これにより、接続する前にバージョンをチェックする特定の Elasticsearch OSS クライアントおよびプラグインが、サービスの操作を続行できます。

  6. [Domain name (ドメイン名)] には、ドメイン名を入力します。名前は次の基準を満たしている必要があります。

    • アカウントおよびリージョンに固有

    • 先頭が小文字

    • 3 ~ 28 文字

    • 小文字の a ~ z、0 ~ 9 の数字、ハイフン (-) のみ含まれる

  7. 標準のエンドポイントではなく、カスタムエンドポイントを使用する場合https://search-mydomain-1a2a3a4a5a6a7a8a9a0a9a8a7a.us-east-1.es.amazonaws.com] で、カスタムエンドポイントの有効化をクリックし、名前と証明書を入力します。詳細については、「Amazon OpenSearch Service 用のカスタムエンドポイントの作成」を参照してください。

  8. を使用する場合自動チューニングで、OpenSearch Service がドメインに対するメモリ関連の設定変更を提案して、速度と安定性を向上させるかどうかを選択します。詳細については、「Amazon OpenSearch Service の自動調整」を参照してください。

    (オプション) [メンテナンスウィンドウの追加を選択すると、Auto-Tune がドメインを更新する定期的なウィンドウがスケジュールされます。

  9. []データノードで、アベイラビリティーゾーンの数を選択します。詳細については、「Amazon OpenSearch サービスでのマルチ AZ ドメインの設定」を参照してください。

  10. を使用する場合インスタンスタイプ] で、データノードのインスタンスタイプを選択します。詳細については、「Amazon OpenSearch サービスでサポートされるインスタンスタイプ」を参照してください。

    注記

    すべてのアベイラビリティーゾーンですべてのインスタンスタイプがサポートされているわけではありません。[3-AZ] を選択した場合、R5 や I3 など、現行世代のインスタンスタイプの選択が推奨されます。

  11. [Number of nodes (ノードの数)] で、データノードの数を選択します。

    最大値については、「クラスターとインスタンスの制限」を参照してください。単一ノードのクラスターは、開発とテスト用に適切ですが、本稼働のワークロードには使用しないでください。ガイダンスについては、「Amazon OpenSearch Service ドメインのサイジング」および「Amazon OpenSearch サービスでのマルチ AZ ドメインの設定」を参照してください。

  12. [Data nodes storage type (データノードストレージタイプ)] で、[Instance (インスタンス)] (デフォルト) または [EBS] を選択します。特に大きいドメインを作成する際のガイダンスについては、Amazon OpenSearch Service 用のペタバイト規模。[EBS] を選択した場合、以下のオプションが表示されます。

    1. を使用する場合EBS ボリュームタイプ] で、ボリュームタイプを選択します。

      を選択すると、プロビジョンド IOPS (SSD)] で、[プロビジョンド IOPS] に、必要なベースライン IOPS パフォーマンスを入力します。詳細については、「」を参照してください。Amazon EBS ボリュームAmazon EC2 ドキュメントを参照してください。

    2. [EBS storage size per node (ノードごとの EBS ストレージサイズ)] に、各データノードにアタッチする EBS ボリュームのサイズを入力します。

      [EBS volume size (EBS ボリュームサイズ)] はノードあたりのサイズです。OpenSearch Service ドメインの合計クラスターサイズは、データノードの数を EBS ボリュームサイズで乗算して計算できます。EBS ボリュームの最小サイズと最大サイズは、指定された EBS ボリュームタイプとそれがアタッチされるインスタンスタイプの両方によって異なります。詳細については、「EBS ボリュームサイズの制限」を参照してください。

  13. タイプと数を選択します。専用マスターノード。専用マスターノードは、クラスターの安定性を高めます。また、インスタンス数が 10 を超えるドメインに必要です。本番稼働用ドメインには、3 つの専用マスターノードをお勧めします。

    注記

    専用マスターノードおよびデータノードの異なるインスタンスタイプを選択できます。たとえば、データノードの汎用またはストレージ最適化インスタンスを選択できますが、専用マスターノードのコンピューティング最適化インスタンスは選択できません。

  14. (オプション) UltraWarm ストレージを有効にするには、[Enable UltraWarm data nodes (UltraWarm データノードを有効にする)] を選択します。各インスタンスタイプには、アドレス可能なストレージの最大容量があります。この量に、アドレス可能なウォームストレージの合計のウォームデータノードの数を乗算します。

  15. (オプション) [コールドストレージ] で、コールドストレージを有効にする。コールドストレージを有効にするには、UltraWarm を有効にする必要があります。

  16. (オプション) OpenSearch または Elasticsearch 5.3 以降を実行しているドメインの場合、スナップショット設定は無関係である。自動化されたスナップショットの詳細については、「Amazon OpenSearch サービスでのインデックススナップショットの作成」を参照してください。

  17. [Next] を選択します。

  18. を使用する場合ネットワーク構成] で、[VPC アクセスまたはパブリックアクセス。[パブリックアクセス] を選択した場合は、次のステップに進みます。を選択すると、VPC アクセス] で、[の前提条件] で、次の操作を行います。

    1. を使用する場合VPC] で、使用する VPC の ID を選択します。

      注記

      VPC とドメインが同じ AWS リージョンに存在している必要があり、テナントが [Default] に設定されている VPC を選択する必要があります。OpenSearch サービスは、専有テナントを使用する VPC をまだサポートしていません。

    2. [Subnet (サブネット)] では、1 個のサブネットを選択します。マルチ AZ を有効にした場合、2 つまたは 3 つのサブネットを選択する必要があります。OpenSearch サービスは VPC エンドポイントを配置し、エラスティックネットワークインターフェイスをサブネットに追加します。

      注記

      1 個のサブネット (または複数のサブネット) のネットワークインターフェースにで十分な IP アドレスをリザーブする必要があります。詳細については、「」を参照してください。VPC サブネットで IP アドレスをリザーブする

    3. を使用する場合セキュリティグループで、必要なアプリケーションがドメインによって公開されるポート(80 または 443)およびプロトコル(HTTP または HTTPS)で OpenSearch Service ドメインにアクセスできるようにする 1 つ以上の VPC セキュリティグループを選択します。詳細については、「VPC 内で Amazon OpenSearch サービスのドメインを起動する」を参照してください。

    4. を使用する場合IAM ロール] では、デフォルトのロールのままにしておきます。OpenSearch サービスでは、この事前定義されたロール (サービスにリンクされたロール) を使用して VPC にアクセスし、VPC のサブネットに VPC エンドポイントとネットワークインターフェースを配置します。詳細については、「」を参照してください。VPC アクセス用のサービスにリンクされたロール

  19. きめ細かなアクセスコントロールを有効または無効にします。

    • ユーザー管理に IAM を使用する場合は、[IAM ARN をマスターユーザーとして設定するをクリックし、IAM ロールの ARN を指定します。

    • 内部ユーザデータベースを使用する場合は、マスターユーザーの作成] をクリックし、ユーザー名とパスワードを指定します。

    どのオプションを選択しても、マスターユーザーはクラスター内のすべてのインデックスとすべての OpenSearch API にアクセスできます。選択するオプションのガイダンスについては、「主要なコンセプト」を参照してください。

    きめ細かなアクセスコントロールを無効にしても、ドメインを VPC 内に配置するか、制限付きアクセスポリシーを適用するか、またはその両方を行うことで、ドメインへのアクセスをコントロールできます。きめ細かなアクセスコントロールを使用するには、ノード間の暗号化と保存時の暗号化を有効にする必要があります。

    注記

    we強くドメイン上のデータを保護するためにきめ細かなアクセスコントロールを有効にすることをお勧めします。きめ細かなアクセス制御により、クラスター、インデックス、ドキュメント、フィールドの各レベルでセキュリティが提供されます。

  20. (オプション) OpenSearch ダッシュボードで SAML 認証を使用する場合は、SAML 認証を準備する。ドメインが使用可能になったら、OpenSearch ダッシュボードの SAML 認証追加のステップについては。

  21. (オプション) OpenSearch ダッシュボードに Amazon Cognito 認証を使用する場合は、Amazon Cognito 認証を有効にする

    1. OpenSearch ダッシュボードの認証に使用する Amazon Cognito ユーザープールと ID プールを選択します。これらのリソースの作成のガイダンスについては、「OpenSearch ダッシュボードの Amazon Cognito 認証の設定」を参照してください。

  22. を使用する場合ドメインアクセスポリシーで、アクセスポリシーを選択するか、独自のポリシーを設定します。カスタムポリシーを作成することを選択した場合は、自分で設定することも、別のドメインからインポートすることもできます。詳細については、「Amazon OpenSearch Service での Identity and Access Management」を参照してください。

    注記

    VPC アクセスを有効にすると、IP ベースのポリシーを使用することはできません。代わりに、どの IP アドレスがドメインにアクセスできるかを制御するセキュリティグループを使用できます。詳細については、「VPC ドメインのアクセスポリシーについて」を参照してください。

  23. (オプション) ドメインへのすべてのリクエストが HTTPS 経由で到着することを要求するには、ドメインへのすべてのトラフィックに HTTPS を要求する

  24. (オプション) ノード間の暗号化を有効にするには、ノード間の暗号化。詳細については、「Amazon OpenSearch Service のノード間の暗号化」を参照してください。

  25. (オプション) 保管時のデータの暗号化を有効にするには、保管時のデータの暗号化を有効にする

    Select(デフォルト (aws/es)を使用して、OpenSearch サービスにAWS KMS暗号化キーをユーザーに代わって (あるいは、すでに作成されている場合)、そうでない場合は、独自の KMS キーを選択します。詳細については、「Amazon OpenSearch Service における保管時のデータの暗号化」を参照してください。

  26. (オプション) [] 展開高度なクラスターパラメータ。これらのオプションの概要については、「高度なクラスターパラメータ」を参照してください。

  27. [Next] を選択します。

  28. (オプション)ドメインを説明するタグを追加して、その情報を分類およびフィルタリングできるようにします。詳細については、「Amazon OpenSearch Service ドメインのタグ付け」を参照してください。

  29. [Create (作成)] を選択します。

OpenSearch サービスのドメインの作成 (AWS CLI)

コンソールを使用して OpenSearch Service ドメインを作成する代わりに、AWS CLI。構文については、Amazon OpenSearch サービスのAWSCLI コマンドリファレンス

コマンドの例

この最初の例は、以下の OpenSearch Service ドメイン設定を示しています。

  • という名前の OpenSearch サービスドメインを作成します。マイログOpenSearch バージョン 1.0

  • r6g.large.search インスタンスタイプの 2 つのインスタンスをドメインに追加する

  • 各データノードのストレージに 100 GiB 汎用 (SSD) EBS ボリュームを使用する

  • 単一の IP アドレスからのみ、匿名アクセスを許可する 192.0.2.0/32

aws opensearch create-domain --domain-name mylogs --engine-version OpenSearch_1.0 --cluster-config InstanceType=r6g.large.search,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"]}}}]}'

次の例は、以下の OpenSearch Service ドメイン設定を示しています。

  • という名前の OpenSearch サービスドメインを作成します。マイログElasticsearch バージョン 7.10

  • r6g.large.search インスタンスタイプの 6 つのインスタンスをドメインに追加する

  • 各データノードのストレージに 100 GiB 汎用 (SSD) EBS ボリュームを使用する

  • サービスへのアクセスを 1 人のユーザーに制限します。これは、ユーザーの AWS アカウント ID: 555555555555

  • 3 つのアベイラビリティーゾーンへのインスタンスの分散

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/*" } ] }'

次の例は、以下の OpenSearch Service ドメイン設定を示しています。

  • という名前の OpenSearch サービスドメインを作成します。マイログOpenSearch バージョン 1.0

  • r6g.xlarge.search インスタンスタイプの 10 個のインスタンスをドメインに追加する

  • 専用マスターノードとして機能する r6g.large.search インスタンスタイプの 3 つのインスタンスをドメインに追加する

  • ストレージに 100 GiB プロビジョンド IOPS EBS ボリュームを使用し、各データノードに 1000 IOPS のベースラインパフォーマンスを設定する

  • アクセスを単一のユーザーと単一のサブリソース _search API に制限する

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" } ] }'
注記

OpenSearch Service ドメインを作成する際に、同じ名前のドメインが既に存在しても、CLI からエラーは報告されません。その代わりに、既存ドメインの詳細が返されます。

OpenSearch サービスのドメインの作成 (AWSSDK)

-AWSSDK では (Android および iOS SDK を除く)、OpenSearch サービス設定 API リファレンスを含むCreateDomain。サンプルコードについては、「の使用AWSAmazon OpenSearch サービスと対話する SDK」を参照してください。インストールと使用方法の詳細については、AWSSDK については、を参照してください。AWSSoftware Development Kits

OpenSearch サービスのドメインの作成 (AWS CloudFormation)

OpenSearch サービスはAWS CloudFormationモデル化およびセットアップに役立つサービスAWSリソースを使用することで、リソースとインフラストラクチャの作成と管理の所要時間を短縮できます。作成する OpenSearch ドメインを説明するテンプレートを作成すれば、CloudFormation がお客様に代わってドメインをプロビジョニングして設定します。OpenSearch ドメインの JSON テンプレートと YAML テンプレートの例を含む詳細情報については、Amazon OpenSearch Service referenceAWS CloudFormationユーザーガイド

アクセスポリシーの設定

Amazon OpenSearch サービスでは、OpenSearch サービスのドメインへのアクセスを設定するいくつかの方法が用意されています。詳細については、「Amazon OpenSearch Service での Identity and Access Management」および「Amazon OpenSearch サービスでは、きめ細かなアクセス制御」を参照してください。

コンソールは、ドメインの特定のニーズに対応してカスタマイズできる事前定義のアクセスポリシーを提供します。ほかの OpenSearch Service ドメインからアクセスポリシーをインポートすることもできます。上記のアクセスポリシーが VPC アクセスを操作する方法についての詳細は、「VPC ドメインのアクセスポリシーについて」を参照してください。

アクセスポリシーを設定するには (コンソール)

  1. https://aws.amazon.com にアクセスし、[Sign In to the Console] を選択します。

  2. []分析] で、Amazon OpenSearch Service

  3. ナビゲーションペインの [] で、[マイドメイン] で、更新するドメインを選択します。

  4. [Actions (アクション)]、[Modify access policy (アクセスポリシーの変更)] の順に選択します。

  5. アクセスポリシーの JSON を編集するか、事前設定済みのオプションを選択します。

  6. [Submit] を選択します。

高度なクラスターパラメータ

詳細オプションを使用して、次のように設定します。

リクエストボディのインデックス

HTTP リクエストボディ中で、インデックスへの明示参照を許可するかどうかを指定します。このプロパティを false に設定すると、ユーザーがサブリソースのアクセスコントロールをバイパスできなくなります。デフォルトでは、値は true に設定されます。詳細については、「高度なオプションと API に関する考慮事項」を参照してください。

フィールドデータのキャッシュ割り当て

フィールドデータに割り当てられる Java ヒープスペースの割合を指定します。デフォルトでは、この設定は JVM ヒープの 20% です。

注記

多くのお客様が、ローテーションするインデックスのクエリを毎日実行しています。ベンチマークテストはindices.fielddata.cache.sizeこれらのユースケースでは、ほとんどの JVM ヒープの 40% に設定されています。非常に大きいインデックスでは、さらに大きいフィールドデータキャッシュが必要になることがあります。

最大句カウント

Lucene のブールクエリで許可される句の最大数を指定します。デフォルト値は 1,024 です。クエリに含まれる句の数が最大数を超えていると、TooManyClauses エラーが発生します。詳細については、Lucene のドキュメントを参照してください。