Amazon OpenSearch Serverless コレクションの作成、一覧表示、および削除 - Amazon OpenSearch サービス

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

Amazon OpenSearch Serverless コレクションの作成、一覧表示、および削除

Amazon OpenSearch Serverless のコレクションは、分析ワークロードを表す 1 つまたは複数のインデックスを論理的にグループ化したものです。OpenSearch Service はコレクションを自動的に管理および調整するので、手動入力は最小限で済みます。

必要なアクセス許可

OpenSearch Serverless では、コレクションの作成と管理に次の AWS Identity and Access Management (IAM) アクセス許可を使用します。IAM 条件を指定して、ユーザーを特定のコレクションに制限できます。

  • aoss:CreateCollection – コレクションを作成します。

  • aoss:ListCollections – 現在のアカウントのコレクションを一覧表示します。

  • aoss:BatchGetCollection – 1 つまたは複数のコレクションに関する詳細情報を取得します。

  • aoss:UpdateCollection – コレクションを変更します。

  • aoss:DeleteCollection – コレクションを削除します。

次の ID ベースのアクセスポリシーのサンプルでは、ユーザーが Logs という名前の 1 つのコレクションを管理するのに必要な最小限のアクセス許可が付与されています。

[ { "Sid":"Allows managing logs collections", "Effect":"Allow", "Action":[ "aoss:CreateCollection", "aoss:ListCollections", "aoss:BatchGetCollection", "aoss:UpdateCollection", "aoss:DeleteCollection", "aoss:CreateAccessPolicy", "aoss:CreateSecurityPolicy" ], "Resource":"*", "Condition":{ "StringEquals":{ "aoss:collection":"Logs" } } } ]

コレクションを正常に機能させるには、暗号化、ネットワーク、およびデータアクセスポリシーが必要なため、aoss:CreateAccessPolicyaoss:CreateSecurityPolicy が含まれています。詳細については、「Amazon OpenSearch Serverless の ID とアクセスの管理」を参照してください。

注記

アカウントで最初のコレクションを作成する場合は、iam:CreateServiceLinkedRole アクセス許可も必要です。詳細については、「サービスにリンクされたロールを使用して OpenSearch Serverless コレクションを作成する」を参照してください。

コレクションの作成

コンソールまたは AWS CLI を使用して、Serverless コレクションを作成できます。以下のステップは、検索コレクションまたは時系列コレクションの作成方法について説明します。ベクター検索コレクションを作成するには、「ベクトル検索コレクションの使用」を参照してください。

コレクションを作成する (コンソール)

コンソールを使用してコレクションを作成するには
  1. Amazon OpenSearch Service コンソール (https://console.aws.amazon.com/aos/home/) に移動します。

  2. 左側のナビゲーションペインで [Serverless] (サーバーレス) を展開し、[Collections] (コレクション) を選択します。

  3. [Create collection] (コレクションの作成) を選択します。

  4. コレクションの名前と説明を入力します。名前は次の基準を満たしている必要があります。

    • アカウントおよび AWS リージョン で一意

    • 先頭が小文字

    • 3~32 文字

    • 小文字の a~z、0~9 の数字、ハイフン (-) のみ含まれる

  5. コレクションタイプを次の中から選択します。

    • [Search] (検索) – 社内ネットワークのアプリケーションやインターネットに接続するアプリケーションに使用される全文検索。すべての検索データはホットストレージに保存され、クエリの応答時間を短縮できます。

    • [Time series] (時系列) – マシン生成の大量の半構造化データの分析に焦点を当てたログ分析セグメント。少なくとも 24 時間のデータはホットインデックスに保存され、残りはウォームストレージに残ります。

    • [ベクトル検索] – ベクトルデータ管理を簡素化するベクトル埋め込みのセマンティック検索。機械学習 (ML) 拡張検索エクスペリエンスと、チャットボット、パーソナルアシスタント、不正行為検出などの生成 AI アプリケーションを強化します。

    詳細については、「コレクションタイプを選択する」を参照してください。

  6. [デプロイタイプ] で、コレクションの冗長性設定を選択します。デフォルトでは、各コレクションは冗長性を持って作成されます。つまり、インデックス作成と検索の OpenSearch Compute Units (OCU) はそれぞれ異なるアベイラビリティーゾーンに独自のスタンバイレプリカを持っています。開発とテストの目的で、冗長性を無効にすることを選択できます。これにより、コレクション内の OCU の数を 2 つに減らすことができます。詳細については、「仕組み」を参照してください。

  7. [Encryption] (暗号化) で、データを暗号化する AWS KMS キーを選択します。入力したコレクション名が暗号化ポリシーで定義されているパターンと一致する場合、OpenSearch Serverless から通知があります。このマッチングを維持するか、独自の暗号化設定でオーバーライドするかを選択できます。詳細については、「Amazon OpenSearch Serverless の暗号化」を参照してください。

  8. [Network access settings] (ネットワークアクセス設定) で、コレクションのネットワークアクセスを設定します。

    • [アクセスタイプ] で、[パブリック] または [プライベート] を選択します。次に、コレクションにアクセスできる VPC エンドポイントと AWS のサービスを指定します。

    • [Resource type] (リソースタイプ) では、コレクションにアクセス可能にするのは、OpenSearch エンドポイント経由か (curl や Postman などを介して API 呼び出しを行う場合)、OpenSearch Dashboards エンドポイント経由か (ビジュアライゼーションを操作し、コンソールから API 呼び出しを行う場合)、その両方かを選択します。

      注記

      AWS のサービスプライベートアクセスは、OpenSearch Dashboards エンドポイントではなく、OpenSearch エンドポイントにのみ適用されます。

    入力したコレクション名がネットワークポリシーで定義されているパターンと一致する場合、OpenSearch Serverless から通知があります。このマッチングを維持するか、カスタムネットワーク設定でオーバーライドするかを選択できます。詳細については、「Amazon OpenSearch Serverless でのネットワークアクセス」を参照してください。

  9. (オプション) コレクションに 1 つまたは複数のタグを追加します。詳細については、「Amazon OpenSearch Serverless コレクション」を参照してください。

  10. [Next] を選択します。

  11. コレクションのデータアクセスルールを設定します。これは、コレクション内のデータに誰がアクセスできるかを定義します。作成するルールごとに、以下のステップを実行します。

    • [Add principals] (プリンシパルの追加) を選択し、データアクセス権が付与される IAM ロール、または SAML ユーザーとグループを 1 つ、または複数選択します。

    • [Grant permissions] (許可の付与) で、関連付けられたプリンシパルに付与するエイリアス、テンプレート、およびインデックス許可を選択します。アクセス許可とそれによって許可されるアクセスの完全なリストについては、「サポートされる OpenSearch API オペレーションとアクセス許可」を参照してください。

    入力したコレクション名がデータアクセスポリシーで定義されているパターンと一致する場合、OpenSearch Serverless から通知があります。この一致を維持するか、固有のデータアクセス設定で上書きするかを選択できます。詳細については、「Amazon OpenSearch Serverless のデータアクセスコントロール」を参照してください。

  12. [Next] を選択します。

  13. [Data access policy settings] (データアクセスポリシー設定) で、先ほど作成したルールで実行する事柄を選択します。これらを使用して新しいデータアクセスポリシーを作成する、またはこれらを既存のポリシーに追加することができます。

  14. コレクション設定を確認してから、[Submit] (送信) を選択します。

OpenSearch Serverless がコレクションを作成すると、コレクションのステータスが Creating に変わります。

コレクションを作成する (CLI)

AWS CLI を使用してコレクションを作成する前に、コレクションの意図した名前と一致するリソースパターンを含む暗号化ポリシーが必要です。例えば、コレクションに「logs-application」という名前を付ける場合は、次のような暗号化ポリシーを作成します。

aws opensearchserverless create-security-policy \ --name logs-policy \ --type encryption --policy "{\"Rules\":[{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AWSOwnedKey\":true}"

このポリシーを別のコレクションにも使用する場合は、collection/logs*collection/* のようにルールを拡張しておくことができます。

また、コレクションのネットワーク設定をネットワークポリシーの形式で設定する必要があります。前述の「logs-application」の例を使用すると、次のネットワークポリシーを作成できます。

aws opensearchserverless create-security-policy \ --name logs-policy \ --type network --policy "[{\"Description\":\"Public access for logs collection\",\"Rules\":[{\"ResourceType\":\"dashboard\",\"Resource\":[\"collection\/logs-application\"]},{\"ResourceType\":\"collection\",\"Resource\":[\"collection\/logs-application\"]}],\"AllowFromPublic\":true}]"
注記

ネットワークポリシーは、コレクションを作成した後でも作成できますが、事前に作成することをお勧めします。

コレクションを作成するには、次のように CreateCollection リクエストを送信します。

aws opensearchserverless create-collection --name "logs-application" --type SEARCH --description "A collection for storing log data"

type の場合、SEARCH または TIMESERIES のいずれかを指定します。詳細については、「コレクションタイプを選択する」を参照してください。

レスポンス例

{ "createCollectionDetail": { "id": "07tjusf2h91cunochc", "name": "books", "description":"A collection for storing log data", "status": "CREATING", "type": "SEARCH", "kmsKeyArn": "auto", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "createdDate": 1665952577473 } }

リクエストでコレクションタイプを指定しない場合、デフォルトは TIMESERIES です。コレクションが AWS 所有のキー で暗号化されている場合、kmsKeyArn は ARN ではなく auto です。

重要

コレクション作成後は、データアクセスポリシーと一致しない限りアクセスできません。データアクセスポリシーを作成する手順については、「Amazon OpenSearch Serverless のデータアクセスコントロール」を参照してください。

OpenSearch Dashboards へのアクセス

AWS Management Console を使ってコレクションを作成すると、そのコレクションの OpenSearch Dashboards URL に移動できます。Dashboards URL を確認するには、ナビゲーションペインで [Collections] (コレクション) を選択し、コレクションを選択して詳細ページを開きます。この URL の形式は、https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc になります。URL に移動すると、Dashboards に自動的ログインします。

OpenSearch Dashboards の URL が既にあるのに、AWS Management Console に表示されていない場合は、ブラウザから Dashboards URL を呼び出すとコンソールにリダイレクトされます。AWS 認証情報を入力すると、Dashboards に自動的ログインします。SAML のコレクションにアクセスする方法については、「Accessing OpenSearch Dashboards with SAML」(SAML による OpenSearch Dashboards へのアクセス) を参照してください。

OpenSearch Dashboards コンソールのタイムアウトは 1 時間で、設定できません。

注記

2023 年 5 月 10 日に、OpenSearch は、OpenSearch Dashboards の共通のグローバルエンドポイントを導入しました。今後は、https://dashboards.us-east-1.aoss.amazonaws.com/_login/?collectionId=07tjusf2h91cunochc の形式をとる URL を使って、ブラウザで OpenSearch Dashboards に移動できます。下位互換性を確保するため、形式 https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards の、既存のコレクションに固有の OpenSearch Dashboards エンドポイントは、引き続きサポートされます。

コレクションの表示

AWS アカウント にある既存のコレクションは、Amazon OpenSearch Service コンソールの [Collections] (コレクション) タブで確認できます。

コレクションとその ID を一覧表示するには、ListCollections リクエストを送信します。

aws opensearchserverless list-collections

レスポンス例

{ "collectionSummaries":[ { "arn":"arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "id":"07tjusf2h91cunochc", "name":"my-collection", "status":"CREATING" } ] }

検索結果を制限するには、コレクションフィルターを使用します。このリクエストは、ACTIVE 状態のコレクションへのレスポンスを次のようにフィルタリングします。

aws opensearchserverless list-collections --collection-filters '{ "status": "ACTIVE" }'

OpenSearch エンドポイントと OpenSearch Dashboards エンドポイントを含む 1 つまたは複数のコレクションに関する詳細情報を取得するには、BatchGetCollection リクエストを送信します。

aws opensearchserverless batch-get-collection --ids ["07tjusf2h91cunochc", "1iu5usc4rame"]
注記

リクエストには --names または --ids を含めることができますが、両方を含めることはできません。

レスポンス例

{ "collectionDetails":[ { "id": "07tjusf2h91cunochc", "name": "my-collection", "status": "ACTIVE", "type": "SEARCH", "description": "", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/07tjusf2h91cunochc", "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdDate": 1667446262828, "lastModifiedDate": 1667446300769, "collectionEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com", "dashboardEndpoint": "https://07tjusf2h91cunochc.us-east-1.aoss.amazonaws.com/_dashboards" }, { "id": "178ukvtg3i82dvopdid", "name": "another-collection", "status": "ACTIVE", "type": "TIMESERIES", "description": "", "arn": "arn:aws:aoss:us-east-1:123456789012:collection/178ukvtg3i82dvopdid", "kmsKeyArn": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "createdDate": 1667446262828, "lastModifiedDate": 1667446300769, "collectionEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com", "dashboardEndpoint": "https://178ukvtg3i82dvopdid.us-east-1.aoss.amazonaws.com/_dashboards" } ], "collectionErrorDetails":[] }

コレクションの削除

コレクションを削除すると、コレクション内のすべてのデータとインデックスが削除されます。削除したコレクションを復元することはできません。

コンソールを使用してコレクションを削除するには
  1. Amazon OpenSearch Service コンソールの [Collections] (コレクション) パネルから、削除するコレクションを選択します。

  2. [削除] を選択して、削除を確認します。

AWS CLI を使用してコレクションを削除するには、DeleteCollection リクエストを送信します。

aws opensearchserverless delete-collection --id 07tjusf2h91cunochc

レスポンス例

{ "deleteCollectionDetail":{ "id":"07tjusf2h91cunochc", "name":"my-collection", "status":"DELETING" } }