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

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

Amazon OpenSearch サーバーレスコレクションの作成、一覧表示、削除

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

必要なアクセス許可

OpenSearch サーバーレスでは、次の 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 向けの アイデンティティとアクセス管理」を参照してください。

注記

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

コレクションの作成

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

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

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

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

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

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

    • お客様のアカウントに固有であり、 AWS リージョン

    • 先頭が小文字

    • 3~32 文字

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

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

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

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

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

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

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

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

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

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

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

      注記

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

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

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

  10. [次へ] を選択します。

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

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

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

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

  12. [次へ] を選択します。

  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 ダッシュボードへのアクセス

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

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

OpenSearch ダッシュボードコンソールのタイムアウトは 1 時間で、設定できません。

注記

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

コレクションの表示

Amazon OpenSearch サービスコンソールの [コレクション] タブで既存のコレクションを表示できます。 AWS アカウント

コレクションとその 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 Dashboards OpenSearch エンドポイントなど、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 サービスコンソールのコレクションパネルから、削除するコレクションを選択します。

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

を使用してコレクションを削除するには AWS CLI、DeleteCollection以下のリクエストを送信してください。

aws opensearchserverless delete-collection --id 07tjusf2h91cunochc

レスポンス例

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