Amazon S3 との Amazon OpenSearch Service データソース統合の作成 Amazon S3 - Amazon OpenSearch サービス

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

Amazon S3 との Amazon OpenSearch Service データソース統合の作成 Amazon S3

これは、プレビューリリース中の Amazon S3 を使用した Amazon OpenSearch Service direct クエリに関するプレリリースドキュメントです。 Amazon S3 ドキュメントと機能はどちらも変更されることがあります。この機能については、テスト環境のみで使用し、本番環境では使用しないことをお勧めします。プレビューの利用規約については、「AWS のサービス条件」の「ベータ版とプレビュー」を参照してください。

OpenSearch サービス用の新しい Amazon S3 ダイレクトクエリデータソースは、 AWS Management Console または API を使用して作成できます。新しい各データソースは AWS Glue Data Catalog 、 を使用して Amazon S3 バケットを表すテーブルを管理します。

前提条件

データソースを作成する前に、次が必要です:

  • バージョン 2.11 以降の OpenSearch ドメイン

これらの設定手順については、「 OpenSearch サービスドメインの作成」および「AWS Glue Data Catalogの開始方法」を参照してください。

必要なアクセス許可

データソースを作成するには、ユーザーまたはロールに適切な IAM 許可を持つ ID ベースのポリシーがアタッチされている必要があります。次のサンプルポリシーは、データソースの作成と管理に必要な最小特権の許可を示しています。s3:* または AdministratorAccess ポリシーなどのより広範な許可を持っている場合、これらの許可にはサンプルポリシーの最小特権が含まれることに注意してください。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttp*", "es:AddDataSource", "es:DeleteDataSource", "es:GetDataSource", "es:ListDataSource", "es:UpdateDataSource", "s3:Get*", "s3:List*", "s3:Put*", "s3:Describe*", "glue:*" ], "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*", "arn:aws:glue:us-east-1:{aws-account-id}:database/*" ] }, { "Sid": "GlueCreateAndReadDataCatalog", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:GetDatabases", "glue:CreateTable", "glue:GetTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetUserDefinedFunctions" ], "Resource": "*" } ] }

また、ロールには、ターゲット ID を指定する次の信頼ポリシーが必要です。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service": "directquery.opensearchservice.amazonaws.com" }, "Action":"sts:AssumeRole" } ] }

ロールを作成する手順については、「カスタム信頼ポリシーを使用したロールの作成」を参照してください。

きめ細かなアクセスコントロールが有効になっている場合、データソース用に新しいきめ OpenSearch 細かなアクセスコントロールロールが自動的に作成されます。新しいきめ細かなアクセスコントロールロールの名前は、データソースの AWSOpenSearchDirectQuery_<name> になります。

デフォルトでは、ロールはクエリデータソースインデックスのみに直接アクセスできます。データソースへのアクセスを制限または許可するようにロールを設定できますが、このロールのアクセスは調整しないことをお勧めします。データソースを削除すると、このロールは削除されます。これにより、他のユーザーがロールにマッピングされている場合、そのユーザーのアクセスは削除されます。

AWS Glue Data Catalog ロールをマッピングする (データソースの作成後にきめ細かなアクセスコントロールが有効になっている場合)

データソースの作成後にきめ細かなアクセスコントロールを有効にした場合は、直接クエリを実行するために、管理者以外のユーザーを AWS Glue Data Catalog アクセス権を持つ IAM ロールにマッピングする必要があります。IAM ロールにマッピングできるバックエンド glue_access ロールを手動で作成するには、次のステップを実行します。

注記

インデックスは、データソースに対するクエリに使用されます。特定のデータソースのリクエストインデックスに対する読み取りアクセスを持つユーザーは、そのデータソースに対するすべてのクエリを読み取ることができます。結果インデックスに対する読み取りアクセスを持つユーザーは、そのデータソースに対するすべてのクエリの結果を読み取ることができます。

  1. OpenSearch Dashboards のメインメニューから、セキュリティ ロール 、ロールの作成 を選択します。

  2. ロールに glue_access という名前を付けます。

  3. [クラスターの許可] で、indices:data/write/bulk*indices:data/read/scroll、または indices:data/read/scroll/clear を選択します。

  4. [インデックス] で、ロールアクセスをユーザーに付与する次のインデックスを入力します:

    • .query_execution_request_<name of data source>

    • query_execution_result_<name of data source>

    • flint_*

  5. [インデックスの許可] で、indices_all を選択します。

  6. [作成] を選択します。

  7. [マッピングされたユーザー]、[マッピングの管理] を選択します。

  8. [バックエンドロール] で、ドメインを呼び出す許可を必要とする AWS Glue ロールの ARN を追加します。

    arn:aws:iam::account-id:role/role-name
  9. マップを選択し、ロールがマッピングされたユーザーに表示されていることを確認します。

ロールのマッピングの詳細については、「ユーザーへのロールのマッピング」を参照してください。

新しいダイレクトクエリデータソースを設定する

AWS Management Console または OpenSearch サービス API を使用して、ドメインにダイレクトクエリデータソースを設定できます。

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

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

  3. 新しいデータソースを設定するドメインを選択します。選択すると、ドメインの詳細ページが開きます。一般的なドメインの詳細の下にある [接続] タブを選択し、[ダイレクトクエリ] セクションを見つけます。

  4. [作成] を選択します。

  5. データソースの作成ページで、新しいデータソースの名前を入力します。[データソースのタイプ] で、[Amazon S3] を選択します。 AWS Glue Data Catalog および Amazon S3 でアクセスできる内容に制限がある既存の IAM ロールを選択します。

  6. [作成] を選択します。これにより、 OpenSearch Dashboards URL を含むデータソースの詳細画面が開きます。この URL に移動して、次のステップを完了できます。

AddDataSource API オペレーションを使用して、ドメインに新しいデータソースを作成します。

POST https://es.region.amazonaws.com/2021-01-01/opensearch/domain/domain-name/dataSource { "DataSourceType": { "s3GlueDataCatalog": { "RoleArn": "arn:aws:iam::account-id:role/Admin" } } "Description": "data-source-description", "Name": "my-data-source" }

次のステップ

データソースを作成すると、 OpenSearch サービスによって OpenSearch Dashboards URL が提供されます。これを使用して、アクセスコントロールの設定、テーブルの定義、一般的なログタイプ用のログタイプベースのダッシュボードの設定、およびデータのクエリを実行できます。