Amazon OpenSearch Service ドメインの OpenSearch Optimized インスタンス (OR1) - Amazon OpenSearch Service

Amazon OpenSearch Service ドメインの OpenSearch Optimized インスタンス (OR1)

Amazon OpenSearch Service の OpenSearch 最適化インスタンスファミリーは、大量のデータを保存するための費用対効果の高いソリューションです。OpenSearch 最適化インスタンスを使用するドメイン (OR1、OR2、OM2) は、プライマリストレージとして Amazon Elastic Block Store (Amazon EBS) の gp3 または io1 ボリュームを使用し、データは到達時に Amazon S3 に同期的にコピーされます。このストレージ構造により、高い耐久性を備えたインデックス作成スループットが改善します。また、OpenSearch 最適化インスタンスファミリーは、障害発生時の自動データ復旧をサポートします。OpenSearch 最適化インスタンスタイプのオプションについては、「現行世代のインスタンスタイプ」を参照してください。

ログ分析、オブザーバビリティ、セキュリティ分析などの大規模な運用分析ワークロードのインデックス作成を行っている場合は、OpenSearch 最適化インスタンスによるパフォーマンスやコンピューティング効率の向上からメリットを得ることができるでしょう。さらに、OpenSearch 最適化インスタンスが提供する自動データ復旧は、ドメインの全体的な信頼性を向上させます。

OpenSearch Service は、ストレージ関連の OpenSearch 最適化メトリクスを Amazon CloudWatch に送信します。使用可能なメトリクスのリストについては、OpenSearch Optimized インスタンス (OR1) メトリクス を参照してください。

OpenSearch 最適化インスタンスはオンデマンドまたはリザーブドインスタンス料金で利用でき、Amazon EBS と Amazon S3 でプロビジョニングされたインスタンスとストレージについて時間単位の料金が発生します。

制限

ドメインに OpenSearch 最適化インスタンスを使用する場合は、次の制限を考慮してください。

  • 新しく作成されたドメインは、OpenSearch バージョン 2.11 以降を実行している必要があります。

  • 既存のドメインは OpenSearch バージョン 2.15 以降を実行している必要があります。

  • ドメインでは、保管時の暗号化が有効になっている必要があります。詳細については、「Amazon OpenSearch Service の保管中のデータの暗号化」を参照してください。

  • ドメインが専用マスターノードを使用している場合は、Graviton インスタンスを使用する必要があります。専用マスターノードの詳細については、「Amazon OpenSearch Service の専用マスターノード」を参照してください。

  • OpenSearch 最適化インスタンスのインデックスの更新間隔は 10 秒以上である必要があります。OpenSearch 最適化インスタンスのデフォルトの更新間隔は 10 秒です。

取り込みスループットを向上させるための調整

OpenSearch 最適化インスタンスから最適なインデックス作成スループットを得るには、以下を実行することをお勧めします。

  • 大きめのバルクサイズを使用して、バッファ使用率を向上させましょう。推奨サイズは 10 MB です。

  • 複数のクライアントを使用して並列処理のパフォーマンスを向上させます。

  • アクティブなプライマリシャードの数をデータノードの数に合わせて設定し、リソース使用率を最大化します。

OpenSearch 最適化インスタンスと他のインスタンスの違い

OpenSearch 最適化インスタンスは、以下の点で他のインスタンスとは異なります。

  • OpenSearch 最適化インスタンスの場合、インデックス作成はプライマリシャードでのみ実行されます。

  • OpenSearch 最適化インスタンスがレプリカで設定されている場合、インデックス作成レートが実際に設定されているよりも低くなることがあります。例えば、プライマリシャードが 1 つ、レプリカシャードが 1 つある場合、実際のインデックス作成レートが 2,000 であっても、表示されるインデックス作成レートは 1,000 となる可能性があります。

  • OpenSearch 最適化インスタンスは、リモートソースに送信する前にバッファオペレーションを実行します。その結果、取り込みのレイテンシーが長くなります。

    注記

    IndexingLatency メトリクスはトランスログを同期する時間を反映しないため、影響を受けません。

  • レプリカシャードは、プライマリシャードの数秒後になる場合があります。ReplicationLagMaxTime Amazon CloudWatch メトリクスを使用してラグをモニタリングすることができます。

OpenSearch 最適化インスタンスと UltraWarm インスタンスの違い

OpenSearch Service には、大量の読み取り専用データをコストパフォーマンスに優れた方法で保存できる UltraWarm インスタンスが用意されています。OpenSearch 最適化インスタンスと UltraWarm インスタンスのいずれも、データを Amazon EBS にローカルで、Amazon S3 にリモートで保存します。ただし、OpenSearch 最適化インスタンスと UltraWarm インスタンスはいくつかの重要な点で異なります。

  • OpenSearch 最適化インスタンスは、ローカルストアとリモートストアの両方にデータのコピーを保持します。UltraWarm インスタンスでは、ストレージコストを削減するために、データは主にリモートストアに保持されます。使用状況パターンに応じて、データをローカルストレージに移動できます。

  • OpenSearch 最適化インスタンスはアクティブであり、読み取りと書き込み両方のオペレーションを受け入れますが、UltraWarm インスタンスのデータは、手動でホットストレージに戻すまで読み取り専用となります。

  • UltraWarm は、データの耐久性においてインデックススナップショットに依存しています。一方、OpenSearch 最適化インスタンスは、バックグラウンドでレプリケーションとリカバリを実行します。赤いインデックスの場合、OpenSearch 最適化インスタンスは Amazon S3 のリモートストレージから欠落しているシャードを自動的に復元します。復旧時間は、復旧するデータの量によって異なります。

UltraWarm ストレージの詳細については、「Amazon OpenSearch Service の UltraWarm ストレージ」を参照してください。

OpenSearch 最適化インスタンスを使用したドメインのプロビジョニング

AWS マネジメントコンソール、または AWS Command Line Interface (AWS CLI) を使用して新しいドメインを作成する際に、データノード向けに OpenSearch 最適化インスタンスの使用を選択できます。既存のツールを使用して、データのインデックスを作成し、クエリを実行できます。

  1. Amazon OpenSearch Service コンソール (https://console.aws.amazon.com/aos/) に移動します。

  2. 左側のナビゲーションペインで [ドメイン] を選択します。

  3. [ドメインを作成] をクリックします。

  4. [データノードの数] セクションで、[インスタンスファミリー] メニューを展開し、[OpenSearch 最適化] を選択します。

  5. インスタンスタイプとその他のストレージ設定を選択します。

  6. [暗号化] セクションで、[保管時のデータの暗号化を有効にする] が選択されていることを確認します。

  7. ドメインの残りの部分を設定し、[作成] を選択します。

AWS CLI を使用して OpenSearch 最適化ストレージを使用するドメインをプロビジョニングするには、InstanceType で該当するインスタンスタイプサイズ (OR1、OR2、OM2 など) の値を指定する必要があります。

次の例では、サイズが 2xlarge である OR1 インスタンスを使用するドメインを作成し、保管時の暗号化を有効にします。

aws opensearch create-domain \ --domain-name test-domain \ --engine-version OpenSearch_2.11 \ --cluster-config "InstanceType=or1.2xlarge.search,InstanceCount=3,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.search,DedicatedMasterCount=3" \ --ebs-options "EBSEnabled=true,VolumeType=gp3,VolumeSize=200" \ --encryption-at-rest-options Enabled=true \ --advanced-security-options "Enabled=true,InternalUserDatabaseEnabled=true,MasterUserOptions={MasterUserName=test-user,MasterUserPassword=test-password}" \ --node-to-node-encryption-options Enabled=true \ --domain-endpoint-options EnforceHTTPS=true \ --access-policies '{"Version": "2012-10-17", "Statement":[{"Effect":"Allow","Principal":{"AWS":"*"},"Action":"es:*","Resource":"arn:aws:es:us-east-1:account-id:domain/test-domain/*"}]}'