翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon OpenSearch Service ドメインの作成と管理
この章では、Amazon OpenSearch Service ドメインを作成して管理する方法について説明します。ドメインは、オープンソース OpenSearch クラスターと同等の AWSがプロビジョニングされています。ドメインを作成するときは、その設定、インスタンスタイプ、インスタンス数、ストレージ割り当てを指定します。オープンソースクラスターの詳細については、 OpenSearch ドキュメントの「クラスターの作成
開始方法チュートリアルの簡単な手順とは異なり、この章ではすべてのオプションについて説明し、関連するリファレンス情報を提供します。 OpenSearch サービスコンソール、 (AWS CLI)、 AWS Command Line Interface または の手順を使用して、各手順を完了できます AWS SDKs。
OpenSearch サービスドメインの作成
このセクションでは、 OpenSearch Service コンソールを使用するか、 create-domain
コマンド AWS CLI で を使用して OpenSearch Service ドメインを作成する方法について説明します。
OpenSearch サービスドメインの作成 (コンソール)
コンソールを使用して OpenSearch サービスドメインを作成するには、次の手順を使用します。
OpenSearch サービスドメインを作成するには (コンソール)
-
に移動https://aws.amazon.com
し、コンソール へのサインイン を選択します。 -
Analytics で、Amazon OpenSearch Service を選択します。
-
[ドメインの作成] を選択します。
-
[ドメイン名] には、ドメイン名を入力します。名前は次の基準を満たしている必要があります。
-
アカウントと に固有 AWS リージョン
-
先頭が小文字
-
3~28 文字
-
小文字の a~z、0~9 の数字、ハイフン (-) のみ含まれる
-
-
ドメインの作成方法は、[標準作成] を選択します。
-
[テンプレート] で、ドメインの目的に最も一致するオプションを選択します。
-
高可用性とパフォーマンスを必要とするワークロード向けの [本番] ドメイン。これらのドメインは、可用性を高めるために、マルチ AZ (スタンバイの有無にかかわらず) と専用マスターノードを使用します。
-
開発またはテスト向けの [開発/テスト]。これらのドメインは、マルチ AZ (スタンバイの有無にかかわらず) または単一のアベイラビリティーゾーンを使用できます。
重要
デプロイタイプが異なると、後続のページのオプションが異なります。これらのステップにはすべてのオプションが含まれています。
-
-
[デプロイオプション] で、[スタンバイが有効のドメイン] を選択して 3-AZ ドメインを設定し、いずれかのゾーンのノードがスタンバイとして予約されます。このオプションでは、指定されたデータノード数、マスターノード数、インスタンスタイプ、レプリカ数、ソフトウェアアップデート設定など、いくつかのベストプラクティスが適用されます。
-
バージョン では、OSS使用する OpenSearch またはレガシー Elasticsearch のバージョンを選択します。の最新バージョンを選択することをお勧めします OpenSearch。詳細については、「 OpenSearch および Elasticsearch でサポートされているバージョン」を参照してください。
(オプション) ドメイン OpenSearch のバージョンを選択した場合は、互換性を有効にするモードを選択してバージョンを 7.10 としてレポートします OpenSearch。これにより、接続前にバージョンをチェックする特定の Elasticsearch OSSクライアントとプラグインがサービスの使用を継続できるようになります。
-
[インスタンスタイプ] では、データノードのインスタンスタイプを選択します。詳細については、「Amazon OpenSearch Service でサポートされているインスタンスタイプ」を参照してください。
注記
すべてのアベイラビリティーゾーンですべてのインスタンスタイプがサポートされているわけではありません。スタンバイ付きまたはスタンバイなしのマルチ AZ を選択する場合は、R5 や I3 などの現行世代のインスタンスタイプを選択することをお勧めします。
-
[ノードの数] で、データノードの数を選択します。
最大値については、OpenSearch 「サービスドメインとインスタンスクォータ」を参照してください。単一ノードのクラスターは、開発とテスト用に適切ですが、本稼働のワークロードには使用しないでください。ガイダンスについては、「Amazon OpenSearch Service ドメインのサイズ設定」および「Amazon OpenSearch Service でのマルチ AZ ドメインの設定」を参照してください。
注記
(オプション)専用コーディネーターノードは、すべての OpenSearch バージョンと ElasticSearch バージョン 6.8~7.10 をサポートしています。専用コーディネーターノードは、専用クラスターマネージャーが有効になっているドメインで使用できます。専用コーディネーターノードを有効にするには、インスタンスのタイプと数を選択します。ベストプラクティスとして、専用コーディネーターノードのインスタンスファミリーをデータノード (Intel ベースのインスタンスまたは Graviton ベースのインスタンス) と同じままにする必要があります。
-
ストレージタイプ では、Amazon を選択しますEBS。一覧で利用できるボリュームタイプは、選択したインスタンスタイプに応じて異なります。特に大きなドメインを作成する際のガイダンスについては、「Amazon OpenSearch Service のペタバイトスケール」を参照してください。
-
EBS ストレージの場合は、以下の追加設定を行います。選択したボリュームのタイプによっては、一部の設定が表示されない場合があります。
設定 説明 EBS ボリュームタイプ 汎用 (SSD) - gp3 と汎用 (SSD) - gp2、または前世代のプロビジョンド IOPS (SSD)、およびマグネティック (標準) から選択します。
EBS ノードあたりのストレージサイズ 各データノードにアタッチするEBSボリュームのサイズを入力します。
EBS ボリュームサイズはノードごとです。データノードの数にEBSボリュームサイズを掛けることで、 OpenSearch サービスドメインの合計クラスターサイズを計算できます。EBS ボリュームの最小サイズと最大サイズは、指定されたEBSボリュームタイプとアタッチされているインスタンスタイプの両方によって異なります。詳細については、EBS「ボリュームサイズ制限」を参照してください。
プロビジョニング済み IOPS プロビジョンドIOPSSSDボリュームタイプを選択した場合は、ボリュームがサポートできる 1 秒あたりの I/O オペレーションの数 (IOPS) を入力します。
-
(オプション)
gp3
ボリュームタイプを選択した場合は、アドバンスト設定を展開し、ストレージの料金に含まれる範囲を超える追加 IOPS (データノードごとにプロビジョニングされる 3 TiB ボリュームサイズごとに最大 16,000 個) とスループット (データノードごとにプロビジョニングされる 3 TiB ボリュームサイズごとに最大 1,000 MiB /秒) を追加料金で指定します。詳細については、「Amazon OpenSearch Service の料金」を参照してください。 -
(オプション) UltraWarm ストレージ を有効にするには、 UltraWarm データノードを有効にする を選択します。各インスタンスタイプには、アドレス可能なストレージの最大容量があります。この量に、アドレス可能なウォームストレージの合計のウォームデータノードの数を乗算します。
-
(オプション) [コールドストレージ] を有効にするには、[コールドストレージを有効にする] を選択します。コールドストレージを有効にする UltraWarm には、 を有効にする必要があります。
-
スタンバイ付きマルチ AZ を使用する場合、3 つの専用マスターノードが既に有効になっています。必要なマスターノードのタイプを選択します。スタンバイなしのマルチ AZ のドメインを選択した場合は、[専用マスターノードを有効にする] を選択し、必要なマスターノードのタイプと数を選択します。専用マスターノードは、クラスターの安定性を高めます。また、インスタンス数が 10 を超えるドメインに必要です。本番稼働用ドメインには、3 つの専用マスターノードをお勧めします。
注記
専用マスターノードおよびデータノードの異なるインスタンスタイプを選択できます。たとえば、データノードの汎用またはストレージ最適化インスタンスを選択できますが、専用マスターノードのコンピューティング最適化インスタンスは選択できません。
-
(オプション) OpenSearch または Elasticsearch 5.3 以降を実行しているドメインの場合、スナップショット設定は関係ありません。自動化されたスナップショットの詳細については、「Amazon OpenSearch Service でのインデックススナップショットの作成」を参照してください。
-
標準エンドポイントの
https://search-
ではなく、カスタムエンドポイントを使用する場合、[カスタムエンドポイントを有効にする] を選択し、名前と証明書を入力します。詳細については、「Amazon OpenSearch Service 用のカスタムエンドポイントの作成」を参照してください。mydomain
-1a2a3a4a5a6a7a8a9a0a9a8a7a
.us-east-1
.es.amazonaws.com -
ネットワーク で、VPCアクセス またはパブリックアクセス を選択します。[パブリックアクセス] を選択した場合は、次のステップに進みます。VPC アクセス を選択した場合は、前提条件 を満たしていることを確認してから、次の設定を行います。
設定 説明 VPC 使用する仮想プライベートクラウド (VPC) の ID を選択します。VPC ドメインと ドメインは同じ にある必要があり AWS リージョン、テナンシーをデフォルト に設定VPCして を選択する必要があります。 OpenSearch サービスでは、専用テナンシーを使用する VPCs はまだサポートされていません。
サブネット サブネットを選択します。マルチ AZ を有効にした場合は、2 つまたは 3 つのサブネットを選択する必要があります。 OpenSearch サービスはVPC、エンドポイントとエラスティックネットワークインターフェイスをサブネットに配置します。
サブネット内のネットワークインターフェイス用に十分な IP アドレスを予約する必要があります。詳細については、VPC「サブネット内の IP アドレスの予約」を参照してください。
セキュリティグループ 必要なアプリケーションが OpenSearch 、ドメインによって公開されるポート (80 または 443) およびプロトコル (HTTP または HTTPS) のサービスドメインに到達できるようにする 1 つ以上のVPCセキュリティグループを選択します。詳細については、「内で Amazon OpenSearch Service ドメインを起動する VPC」を参照してください。
IAM ロール デフォルトのロールを保持します。 OpenSearch サービスは、この事前定義されたロール (サービスにリンクされたロールとも呼ばれます) を使用して、 VPCおよび にアクセスし、VPCエンドポイントとネットワークインターフェイスを のサブネットに配置しますVPC。詳細については、VPC「アクセス用のサービスにリンクされたロール」を参照してください。
IP アドレスタイプ デュアルスタックまたは IP アドレスタイプIPv4として選択します。デュアルスタックを使用すると、 IPv4および IPv6 アドレスタイプ間でドメインリソースを共有でき、推奨されるオプションです。IP アドレスタイプをデュアルスタックに設定した場合、後でアドレスタイプを変更することはできません。
-
きめ細かなアクセスコントロールを有効または無効にします。
-
ユーザー管理IAMに を使用する場合は、マスターユーザーIAMARNとして設定を選択し、IAMロールARNの を指定します。
-
内部ユーザーデータベースを使用する場合は、[Create master user] (マスターユーザーの作成) を選択し、ユーザー名とパスワードを指定します。
どのオプションを選択しても、マスターユーザーはクラスター内のすべてのインデックスとすべての にアクセスできます OpenSearch APIs。選択するオプションのガイダンスについては、「主要なコンセプト」を参照してください。
きめ細かなアクセスコントロールを無効にしても、ドメインへのアクセスを 内に配置したりVPC、制限付きアクセスポリシーを適用したり、またはその両方を適用したりすることで、ドメインへのアクセスを制御できます。きめ細かなアクセスコントロールを使用するには、保管中の暗号化と暗号化を有効にする node-to-node必要があります。
注記
ドメイン上のデータを保護するために、きめ細かなアクセスコントロールを有効にすることを強くお勧めします。きめ細かなアクセスコントロールにより、クラスター、インデックス、ドキュメント、フィールドの各レベルでセキュリティが提供されます。
-
-
(オプション) OpenSearch ダッシュボードにSAML認証を使用する場合は、SAML認証を有効にするを選択し、ドメインSAMLのオプションを設定します。手順については、SAML OpenSearch ダッシュボードの認証 を参照してください。
-
(オプション) OpenSearch ダッシュボードに Amazon Cognito 認証を使用する場合は、Amazon Cognito 認証を有効にする を選択します。次に、 OpenSearch ダッシュボード認証に使用する Amazon Cognito ユーザープールと ID プールを選択します。これらのリソースの作成のガイダンスについては、「OpenSearch Dashboards の Amazon Cognito 認証の設定」を参照してください。
-
[アクセスポリシー] で、アクセスポリシーを選択するか、独自のポリシーを設定します。カスタムポリシーを作成することを選択した場合は、自分で設定することも、別のドメインからインポートすることもできます。詳細については、「Amazon OpenSearch Service での Identity and Access Management」を参照してください。
注記
VPC アクセスを有効にした場合、IP ベースのポリシーを使用することはできません。代わりに、どの IP アドレスがドメインにアクセスできるかを制御するセキュリティグループを使用できます。詳細については、「VPC ドメインのアクセスポリシーについて」を参照してください。
-
(オプション) ドメインへのすべてのリクエストが 経由で届くようにするにはHTTPS、ドメイン へのすべてのトラフィックHTTPSに を要求する を選択します。暗号化を有効にする node-to-nodeには、Node-to-node 暗号化 を選択します。詳細については、「Node-to-node Amazon OpenSearch Service の暗号化」を参照してください。保管中のデータの暗号化を有効にするには、[保管時のデータの暗号化を有効にする] を選択します。スタンバイ付きマルチ AZ デプロイオプションを選択した場合、これらのオプションは既に選択されています。
-
(オプション) AWS 所有キーを使用するを選択して、 OpenSearch サービスにユーザーに代わって AWS KMS 暗号化キーを作成させます (または、既に作成したキーを使用します)。それ以外の場合は、独自のKMSキーを選択します。詳細については、「Amazon OpenSearch Service の保存データの暗号化」を参照してください。
-
[オフピークウィンドウ] で、ブルー/グリーンデプロイを必要とするサービスソフトウェアの更新と自動調整の最適化をスケジュールする開始時刻を選択します。オフピークの時間帯に更新を行うことにより、トラフィックの多い時間帯にクラスターの専用マスターノードにかかる負荷を、最小限に抑えることができます。
-
Auto-Tune では、速度と安定性を向上させるために OpenSearch 、サービスがドメインにメモリ関連の設定変更を提案できるようにするかどうかを選択します。詳細については、「Amazon OpenSearch Service の Auto-Tune」を参照してください。
(オプション) [オフピークウィンドウ] を選択すると、自動調整によってドメインが更新される定期的なウィンドウがスケジュールされます。
-
(オプション) [自動ソフトウェア更新] を選択して、自動ソフトウェア更新を有効にします。
-
(オプション) ドメインを説明するタグを追加して、その情報を分類およびフィルタリングできるようにします。詳細については、「Amazon OpenSearch Service ドメインのタグ付け」を参照してください。
-
(オプション) クラスターの 詳細設定 を展開して設定します。これらのオプションの概要については、「高度なクラスター設定」を参照してください。
-
[Create] (作成) を選択します。
OpenSearch サービスドメインの作成 (AWS CLI)
コンソールを使用して OpenSearch サービスドメインを作成する代わりに、 を使用できます AWS CLI。構文については、 AWS CLI コマンドリファレンス
コマンド例
この最初の例は、次の OpenSearch サービスドメイン設定を示しています。
-
OpenSearch バージョン 1.2 で mylogs という名前 OpenSearch のサービスドメインを作成します
-
r6g.large.search
インスタンスタイプの 2 つのインスタンスをドメインに追加する -
各データノードのストレージに 100 GiB 汎用 (SSD)
gp3
EBSボリュームを使用します -
単一の 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"]}}}]}'
次の例は、次の OpenSearch サービスドメイン設定を示しています。
-
Elasticsearch バージョン 7.10 で mylogs という名前 OpenSearch のサービスドメインを作成します
-
r6g.large.search
インスタンスタイプの 6 つのインスタンスをドメインに追加する -
各データノードのストレージに 100 GiB 汎用 (SSD)
gp2
EBSボリュームを使用します -
サービスへのアクセスを、ユーザーの AWS アカウント ID で識別される 1 人のユーザーに制限します: 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 サービスドメイン設定を示しています。
-
OpenSearch バージョン 1.0 で mylogs という名前 OpenSearch のサービスドメインを作成します
-
r6g.xlarge.search
インスタンスタイプの 10 個のインスタンスをドメインに追加する -
専用マスターノードとして機能する
r6g.large.search
インスタンスタイプの 3 つのインスタンスをドメインに追加する -
ストレージに 100 GiB プロビジョンドIOPSEBSボリュームを使用し、各データノードIOPSのベースラインパフォーマンスを 1000 に設定
-
アクセスを単一のユーザーと単一のサブリソースに制限します。
_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 サービスドメインを作成し、同じ名前のドメインがすでに存在する場合、 CLIはエラーを報告しません。その代わりに、既存ドメインの詳細が返されます。
OpenSearch サービスドメインの作成 (AWS SDKs)
( AWS SDKsAndroid および iOS を除くSDKs) は、 を含む Amazon OpenSearch Service API Reference で定義されているすべてのアクションをサポートしていますCreateDomain
。サンプルコードについては、「Amazon OpenSearch Service を操作するための AWS SDKの使用」を参照してください。のインストールと使用の詳細については AWS SDKs、AWS 「ソフトウェア開発キット
OpenSearch サービスドメインの作成 (AWS CloudFormation)
OpenSearch サービスは AWS CloudFormation、 AWS リソースとインフラストラクチャの作成と管理に費やす時間を短縮できるように、リソースのモデル化とセットアップに役立つサービスである と統合されています。作成する OpenSearch ドメインを記述するテンプレートを作成し、ドメインを CloudFormation プロビジョニングして設定します。 OpenSearch ドメインの JSONおよび YAML テンプレートの例などの詳細については、 AWS CloudFormation ユーザーガイドの「Amazon OpenSearch Service リソースタイプのリファレンス」を参照してください。
アクセスポリシーの設定
Amazon OpenSearch Service には、 OpenSearch サービスドメインへのアクセスを設定するいくつかの方法があります。詳細については、「Amazon OpenSearch Service での Identity and Access Management」および「Amazon OpenSearch Service のきめ細かなアクセスコントロール」を参照してください。
コンソールは、ドメインの特定のニーズに対応してカスタマイズできる事前定義のアクセスポリシーを提供します。また、他の OpenSearch Service ドメインからアクセスポリシーをインポートすることもできます。これらのアクセスポリシーがVPCアクセスとどのようにやり取りするかについては、「」を参照してくださいVPC ドメインのアクセスポリシーについて。
アクセスポリシーを設定するには (コンソール)
-
に移動しhttps://aws.amazon.com
、コンソール にサインインを選択します。 -
Analytics で、Amazon OpenSearch Service を選択します。
-
ナビゲーションペインの [ドメイン] で、更新するドメインを選択します。
-
[アクション] から [セキュリティ設定の編集] を選択します。
-
アクセスポリシー を編集するかJSON、事前設定されたオプションをインポートします。
-
[Save changes] (変更の保存) をクリックします。
高度なクラスター設定
詳細オプションを使用して、次のように設定します。
- リクエストボディのインデックス
-
HTTP リクエストの本文内でインデックスへの明示的な参照を許可するかどうかを指定します。このプロパティを
false
に設定すると、ユーザーがサブリソースのアクセスコントロールをバイパスできなくなります。デフォルトでは、値はtrue
に設定されます。詳細については、「詳細オプションと API に関する考慮事項」を参照してください。 - フィールドデータのキャッシュ割り当て
-
フィールドデータに割り当てられる Java ヒープスペースの割合を指定します。デフォルトでは、この設定はJVMヒープの 20% です。
注記
多くのお客様が、ローテーションするインデックスのクエリを毎日実行しています。これらのほとんどのユースケースでは、JVMヒープの 40%
indices.fielddata.cache.size
に設定してベンチマークテストを開始することをお勧めします。非常に大きいインデックスでは、さらに大きいフィールドデータキャッシュが必要になることがあります。 - 句の最大数
-
Lucene のブールクエリで許可される句の最大数を指定します。デフォルト値は 1,024 です。クエリに含まれる句の数が最大数を超えていると、
TooManyClauses
エラーが発生します。詳細については、Lucene のドキュメントを参照してください。