Amazon Web Services ブログ

Amazon OpenSearch Service の Amazon S3 との ゼロ ETL 統合を発表 (プレビュー)

11月29日、Amazon OpenSearch Service と Amazon S3 のゼロ ETL 統合のプレビューを発表しました。これは、サービスを切り替えることなく、Amazon S3 および S3 ベースのデータレイクの運用ログをクエリする新しい方法です。クラウドオブジェクトストアにあるクエリーの少ないデータを分析すると同時に、OpenSearch Service の運用分析と視覚化機能を同時に使用できるようになりました。

Amazon OpenSearch Service のダイレクトクエリと Amazon S3 のダイレクトクエリは ゼロ ETL 統合でき、顧客が運用データを直接クエリできるようにすることで、データの複製や複数の分析ツールの管理に伴う運用の複雑さを軽減し、コストとアクションまでの時間を削減します。このゼロ ETL 統合は OpenSearch Service 内で構成可能で、事前定義されたダッシュボードを含むさまざまなログタイプのテンプレートを活用し、そのログタイプに合わせたデータアクセラレーションを構成できます。テンプレートには VPC フローログElastic Load Balancing ログ、NGINX ログが含まれ、アクセラレーションにはインデックスのスキップ、マテリアライズドビュー、および対象インデックスが含まれます。

Amazon S3 で直接クエリを行うと、セキュリティフォレンジックや脅威分析に不可欠な複雑なクエリを実行して、複数のデータソースのデータを関連付けることができます。これにより、チームはサービスのダウンタイムやセキュリティイベントを調査しやすくなります。インテグレーションを作成したら、OpenSearch ダッシュボードまたは OpenSearch API から直接データへのクエリを開始できます。接続を簡単に監査して、スケーラブルでコスト効率が高く、安全な方法で設定されていることを確認できます。

Amazon S3 を使用してダイレクトクエリを開始する
AWS マネジメントコンソールまたは API を使用して OpenSearch Service 用の新しい Amazon S3 ダイレクトクエリデータソースを作成することで、簡単に開始できます。新しいデータソースはそれぞれ、AWS Glue データカタログを使用して S3 バケットを表すテーブルを管理します。データソースを作成したら、OpenSearch ダッシュボードで Amazon S3 テーブル、データインデックス、クエリデータを設定できます。

1.OpenSearch サービスでデータソースを作成する
データソースを作成する前に、バージョン 2.11 以降の OpenSearch Service ドメインと、適切な IAM 権限を持つターゲット Amazon S3 テーブルを AWS Glue データカタログに用意する必要があります。IAM には、目的の S3 バケットへのアクセスと、AWS Glue データカタログへの読み取りおよび書き込みアクセスが必要です。IAM の前提条件の詳細については、AWS ドキュメントの「データソースの作成」を参照してください。

OpenSearch Service コンソールに移動し、新しいデータソースを設定するドメインを選択します。ドメイン詳細ページで、一般情報の下にある [接続] タブを選択し、[ダイレクトクエリ] セクションを参照してください。

新しいデータソースを作成するには、[作成] を選択し、新しいデータソースの名前を入力し、データソースタイプとして [Amazon S3 with AWS Glue データカタログ] を選択し、データソースの IAM ロールを選択します。

データソースを作成したら、ドメインの OpenSearch ダッシュボードにアクセスして、アクセス制御の設定、テーブルの定義、一般的なログタイプのログタイプベースのダッシュボードの設定、データのクエリを行うことができます。

2.OpenSearch ダッシュボードでのデータソースの設定
OpenSearch ダッシュボードでデータソースを設定するには、コンソールで [設定] を選択し、OpenSearch ダッシュボードに移動します。OpenSearch ダッシュボードの左側のナビゲーションにある [管理] で、[データソース] を選択します。[データソースの管理] で、コンソールで作成したデータソースの名前を選択します。

OpenSearch サービスから Amazon S3 への直接クエリは、AWS Glue データカタログ内の Spark テーブルを使用します。クエリを送信する新しいテーブルを作成するには、[検索プラグインを開く] メニューのクエリワークベンチに移動します。

次に、次の SQL ステートメントのように実行して http_logs テーブルを作成し、MSCK REPAIR TABLE mys3.default.http_logs コマンドを実行してカタログのメタデータを更新します

CREATE EXTERNAL TABLE IF NOT EXISTS mys3.default.http_logs (
   `@timestamp` TIMESTAMP,
    clientip STRING,
    request STRING,
    status INT,
    size INT,
    year INT,
    month INT,
    day INT) 
USING json PARTITIONED BY(year, month, day) OPTIONS (path 's3://mys3/data/http_log/http_logs_partitioned_json_bz2/', compression 'bzip2')

Amazon S3 のデータを高速に利用するために、インデックスのスキップ、マテリアライズドビュー、カバーインデックスの作成など、3 種類のアクセラレーションのいずれかを設定して OpenSearch Service にデータをインデックスできます。外部データ接続から OpenSearch インデックスを作成してパフォーマンスを向上させるには、Accelerate Table を選択してください。

  • インデックスをスキップすると、Amazon S3 に保存されているデータのメタデータのみにインデックスを付けることができます。インデックスをスキップすると、データが保存されている特定の場所を絞り込むことで、保存されているデータをすばやく識別できます。
  • マテリアライズドビューでは、集計などの複雑なクエリを使用でき、クエリを実行したり、ダッシュボードの視覚化に使用したりできます。マテリアライズドビューは、異常検出や地理空間機能のためにデータを OpenSearch Service に取り込みます。
  • カバーインデックスは、指定されたテーブル列からすべてのデータを取り込みます。カバリングインデックスは、3 つのインデックスタイプの中で最もパフォーマンスが高いです。

3.OpenSearch ダッシュボードでデータソースをクエリする
テーブルを設定したら、Discover を使用してデータをクエリできます。AWS Glue データカタログテーブルで作成した http_logs テーブルに対してサンプル SQL クエリを実行できます。

詳細については、AWS ドキュメントの「Amazon OpenSearch Service のダイレクトクエリと Amazon S3 との連携」を参照してください。

プレビューが公開中
Amazon OpenSearch Service と Amazon S3 のゼロ ETL 統合は、現在 AWS 米国東部 (オハイオ)、米国東部 (バージニア北部)、米国西部 (オレゴン)、アジアパシフィック (東京)、欧州 (フランクフルト)、欧州 (アイルランド) の各リージョンでプレビューされています。

OpenSearch Service では、お客様の外部データへのクエリーとOpenSearch Service でのインデックスの維持に必要な計算のみを OpenSearch コンピューティングユニットとして別途課金します。詳細については、Amazon OpenSearch Service の料金ページを参照してください。

お試しいただき、AWS re:Post for Amazon OpenSearch Service、または通常の AWS サポート窓口までフィードバックをお送りください。

Channy

原文はこちらです。