Amazon OpenSearch Ingestion - Amazon OpenSearch サービス

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

Amazon OpenSearch Ingestion

Amazon Ingestion OpenSearch は、Amazon OpenSearch Service ドメインと Serverless コレクションにリアルタイムのログ、メトリクス、トレースデータを配信する、フルマネージドの OpenSearch サーバーレスデータコレクターです。

OpenSearch Ingestion を使用すると、Logstash や Jaeger などのサードパーティーソリューションを使用して、 OpenSearch サービスドメインや OpenSearch サーバーレスコレクションにデータを取り込む必要がなくなります。データを Ingestion OpenSearch に送信するようにデータプロデューサーを設定します。その後、指定したドメインまたはコレクションにデータが自動的に配信されます。データを配信する前にデータを変換するように Ingestion OpenSearch を設定することもできます。

また、Ingestion OpenSearch では、サーバーのプロビジョニング、ソフトウェアの管理とパッチ適用、サーバーのクラスターのスケーリングについて心配する必要はありません。内で取り込みパイプラインを直接プロビジョニングすると AWS Management Console、Ingestion OpenSearch がそれらを管理およびスケーリングします。

OpenSearch 取り込みは Amazon OpenSearch Service のサブセットです。オープンソースのデータコレクターである Data Prepper を使用しており、データのフィルタリング、エンリッチ化、変換、正規化、集約を行って下流の分析や視覚化を可能にします。

主要なコンセプト

OpenSearch 取り込みを開始すると、次の概念を理解しておくとメリットが得られます。

パイプライン

OpenSearch 取り込みの観点から見ると、パイプラインとは、 OpenSearch サービス内で作成する単一のプロビジョニングされたデータコレクターを指します。これは、1 つ以上のサブパイプラインを含む YAML 設定ファイル全体と考えることができます。取り込みパイプラインを作成する手順については、「パイプラインの作成」を参照してください。

サブパイプライン

サブパイプラインは、YAML 設定ファイル内で定義します。各サブパイプラインは、ソース、バッファ、0 個以上のプロセッサ、1 個以上のシンクの組み合わせです。1 つの YAML ファイルで複数のサブパイプラインを定義することができます。各サブパイプラインには固有のソース、プロセッサ、シンクがあります。 CloudWatch およびその他の サービスによるモニタリングを支援するために、すべてのサブパイプラインとは異なるパイプライン名を指定することをお勧めします。

1 つ目のサブパイプラインのソースが 2 つ目のサブパイプラインで、シンクが 3 つ目のサブパイプラインとなるように、複数のサブパイプラインを 1 つの YAML ファイル内に紐づけることができます。例については、 OpenTelemetry Collector OpenSearch での取り込みパイプラインの使用を参照してください。

ソース

サブパイプラインの入力コンポーネントです。パイプラインがレコードを使用するメカニズムを定義します。ソースは、HTTPS 経由でイベントを受信するか、Amazon S3 などの外部エンドポイントから読み取ることでイベントを使用できます。ソースには、プッシュ型とプル型の 2 種類があります。HTTPOTel logs などのプッシュ型のソースは、レコードを取り込みエンドポイントにストリーミングします。OTel trace や S3 などのプル型のソースは、ソースからデータを取得します。

Processors

レコードをシンクに発行する前に、レコードを目的の形式にフィルタリング、変換、エンリッチ化できる中間処理ユニットです。プロセッサはパイプラインのオプションコンポーネントです。プロセッサを定義しない場合、レコードはソースで定義されている形式で発行されます。複数のプロセッサを使用することができます。パイプラインは、定義した順序でプロセッサを実行します。

シンク

サブパイプラインの出力コンポーネントです。サブパイプラインがレコードを発行する 1 つ以上の送信先を定義します。Ingestion OpenSearch は OpenSearch 、サービスドメインをシンクとしてサポートします。また、サブパイプラインをシンクとしてサポートします。つまり、1 つの Ingestion Pipelines (YAML ファイル) OpenSearch 内で複数のサブパイプラインを文字列化できます。セルフマネージド型 OpenSearch クラスターはシンクとしてサポートされていません。

バッファ

プロセッサの一部で、ソースとシンクの間のレイヤーとして機能します。パイプライン内のバッファを手動で設定することはできません。 OpenSearch 取り込みでは、デフォルトのバッファ設定が使用されます。

ルート

プロセッサの一部で、パイプラインの作成者が、特定の条件に一致するイベントのみを異なるシンクに送信できるようにします。

有効なサブパイプラインの定義には、ソースとシンクが含まれている必要があります。こうしたパイプラインの各要素の詳細については、「設定リファレンス」を参照してください。

OpenSearch 取り込みの利点

OpenSearch 取り込みには主に次の利点があります。

  • セルフプロビジョニングされたパイプラインを手動で管理する必要がなくなります。

  • 定義したキャパシティ制限に基づいてパイプラインを自動的にスケーリングします。

  • セキュリティパッチとバグに対するパッチで、パイプラインを最新の状態に維持します。

  • オプションで、パイプラインを仮想プライベートクラウド (VPC) に接続し、セキュリティレイヤーを追加できます。

  • コストを抑えるために、パイプラインの停止および開始が可能です。

  • 一般的なユースケース用のパイプライン設定のブループリントを提供しているため、すみやかに起動して実行できます。

  • さまざまな AWS SDKs と Ingestion API OpenSearch を使用して、プログラムでパイプラインとやり取りできます。

  • Amazon でのパフォーマンスモニタリング CloudWatch と CloudWatch Logs でのエラーログ記録をサポートします。

制限事項

OpenSearch 取り込みには以下の制限があります。

  • OpenSearch 1.0 以降、または Elasticsearch 6.8 以降を実行しているドメインにのみデータを取り込むことができます。OTel トレースソースを使用している場合は、OpenSearch Dashboards プラグイン を使用できるように、Elasticsearch 7.9 以降を使用することをお勧めします。

  • パイプラインが VPC 内の OpenSearch サービスドメインに書き込む場合、パイプラインはドメイン AWS リージョン と同じ に作成する必要があります。

  • パイプラインの定義内で設定できるデータソースは 1 つのみです。

  • セルフマネージド型 OpenSearch クラスターをシンクとして指定することはできません。

  • カスタムエンドポイントをシンクとして指定することはできません。カスタムエンドポイントが有効になっているドメインへの書き込みは可能ですが、標準エンドポイントを指定する必要があります。

  • オプトインリージョン内のリソースをソースまたはシンクとして指定することはできません。

  • パイプライン設定に含めることができるパラメータにはいくつかの制約があります。詳細については、「設定の要件と制限」を参照してください。

サポートされている Data Prepper のバージョン

OpenSearch 取り込みは現在、Data Prepper の次のメジャーバージョンをサポートしています。

  • 2.x

パイプラインを作成するときは、必要な version オプションを用いて、使用する Data Prepper のメジャーバージョンを指定します。例えば、.version: "2" OpenSearch Ingestion は、そのメジャーバージョンのサポートされている最新のマイナーバージョンを取得し、そのバージョンでパイプラインをプロビジョニングします。詳細については、「パイプラインのバージョンの指定」を参照してください。

現在、 OpenSearch 取り込みパイプラインは Data Prepper のバージョン 2.7 でプロビジョニングされています。詳細については、「 2.7 リリースノート」を参照してください。Data Prepper の各バージョンに含まれる機能とバグ修正については、「リリース」ページを参照してください。特定のメジャーバージョンのすべてのマイナーバージョンが Ingestion OpenSearch でサポートされているわけではありません。

パイプラインの YAML 設定ファイルを更新するときに、Data Prepper の新しいマイナーバージョンがサポートされている場合、 OpenSearch Ingestion はパイプライン設定で指定された最新のサポートされているマイナーバージョンのメジャーバージョンにパイプラインを自動的にアップグレードします。例えば、パイプライン設定version: "2"に があり、Ingestion OpenSearch が最初にパイプラインをバージョン 2.6.0 でプロビジョニングしたとします。バージョン 2.7.0 のサポートが追加され、パイプライン設定を変更すると、Ingestion OpenSearch はパイプラインをバージョン 2.7.0 にアップグレードします。このプロセスにより、パイプラインは、最新のバグ修正とパフォーマンスの改善が施されて最新状態に保たれます。 OpenSearch パイプライン設定内のversionオプションを手動で変更しない限り、取り込みはパイプラインのメジャーバージョンを更新できません。詳細については、「Amazon OpenSearch インジェストパイプラインの更新」を参照してください。

パイプラインのスケーリング

パイプライン容量を自分でプロビジョニングして管理する必要はありません。Ingestion OpenSearch は、指定した最小および最大の Ingestion OpenSearch Compute Units (Ingestion OCUs) に基づいて、推定ワークロードに応じてパイプライン容量を自動的にスケーリングします。

各 Ingestion OCU は、約 8 GiB のメモリと 2 個の vCPUs の組み合わせです。パイプラインの最小 OCU 値と最大 OCU 値を指定できます。Ingestion OpenSearch は、これらの制限に基づいてパイプライン容量を自動的にスケーリングします。

次の値を指定できます。

  • 最小キャパシティ - パイプラインは、この数値の Ingestion OCU までキャパシティを減らすことができます。指定された最小キャパシティは、パイプラインの開始キャパシティでもあります。

  • 最大キャパシティ - パイプラインは、この数値の Ingestion OCU までキャパシティを増やすことができます。

パイプラインの最大キャパシティがワークロードの急増に対処できる程度に十分な大きさであること、およびパイプラインがビジー状態でないときに、最小キャパシティがコストを最小限に抑えるのに十分な程度に低い値であるようにします。設定に基づいて、 OpenSearch Ingestion はパイプラインの Ingestion OCUs の数を自動的にスケーリングして、取り込みワークロードを処理します。いつの時点においても、課金されるのはパイプラインで実際に使用している Ingestion OCU 分のみです。

OpenSearch 取り込みパイプラインに割り当てられた容量は、パイプラインの処理要件とクライアントアプリケーションによって生成された負荷に基づいてスケールアップおよびスケールダウンします。容量が制約されている場合、Ingestion OpenSearch はより多くのコンピューティングユニット (GiB のメモリ) を割り当てることでスケールアップします。パイプラインが処理するワークロードが小さい場合や、データをまったく処理しない場合は、設定された最小限の Ingestion OCU までスケールダウンできます。

指定できる Ingestion OCU は最小 1 個で、最大ではステートレスパイプラインで 96 個、ステートフルパイプラインで 48 個です。プッシュ型のソースの場合、最小の Ingestion OCU は少なくとも 2 個をお勧めします。永続的バッファリングが有効な場合、最小 2 個および最大 384 個の取り込み OCU を指定できます。

単一のソース、シンプルな Grok パターン、シンクを持つ標準のログパイプラインを前提とする場合、各コンピューティングユニットは 1 秒あたり最大 2 MiB をサポートできます。複数のプロセッサを持つ複雑なログパイプラインの場合、各コンピューティングユニットがサポートする取り込み負荷は少なくなります。パイプラインの容量とリソース使用率に基づいて、 OpenSearch 取り込みスケーリングプロセスが開始されます。

高可用性を確保するために、Ingestion OCU はアベイラビリティーゾーン (AZ) に分散されます。AZ の数は、指定した最小キャパシティに依存します。

例えば、最低 2 つのコンピューティングユニットを指定した場合、任意の時点で使用される Ingestion OCU は 2 つの AZ に均等に分散されます。コンピューティングユニットを 3 つ以上指定すると、Ingestion OCU は 3 つの AZ に均等に分散されます。取り込みパイプラインの可用性が 99.9% になるように、少なくとも 2 つの Ingestion OCU をプロビジョニングすることをお勧めします。

パイプラインのステータスが Create failedCreatingDeletingStopped の場合は、Ingestion OCU の料金は請求されません。

パイプラインのキャパシティ設定を行って取得する手順については、「パイプラインの作成」を参照してください。

OpenSearch 取り込み料金

パイプラインを流れるデータがあるかどうかにかかわらず、特定の時点で、パイプラインに割り当てられた Ingestion OCU の数に基づく料金のみをお支払いいただきます。 OpenSearch 取り込みは、使用量に基づいてパイプライン容量をスケールアップまたはスケールダウンすることで、ワークロードに即座に対応します。

料金の詳細については、「Amazon OpenSearch Service の料金」を参照してください。

サポート対象 AWS リージョン

OpenSearch 取り込みは、 OpenSearch サービス AWS リージョン が利用可能な のサブセットで使用できます。サポートされているリージョンのリストについては、「」の「Amazon OpenSearch Service エンドポイントとクォータ」を参照してくださいAWS 全般のリファレンス

OpenSearch 取り込みクォータ

取り込みリソースのデフォルトクォータのリストについては、「Amazon Service OpenSearch Quotas」を参照してください。 OpenSearch