Amazon OpenSearch Service の開始方法 - Amazon OpenSearch サービス

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

Amazon OpenSearch Service の開始方法

このチュートリアルでは、Amazon OpenSearch Service を使用してテストドメインを作成および設定する方法を示します。OpenSearch Service ドメインは、OpenSearch クラスターと同義です。ドメインは、指定した設定、インスタンスタイプ、インスタンスカウント、およびストレージリソースを持つクラスターです。

このチュートリアルでは、OpenSearch Service ドメインを準備してすぐに実行するための基本的な手順を説明します。詳細については、このガイドの「Amazon OpenSearch Service ドメインの作成と管理」とその他のトピックを参照してください。セルフマネージド OpenSearch クラスターから OpenSearch Service への移行の詳細については、「チュートリアル: Amazon OpenSearch Service への移行」を参照してください。

このチュートリアルのステップは、OpenSearch Service コンソール、AWS CLI、または AWS SDK を使用して完了できます。AWS CLI のインストールおよびセットアップの詳細については、「AWS Command Line Interface ユーザーガイド」を参照してください。

ステップ 1: Amazon OpenSearch Service ドメインを作成する

重要

これは、テスト Amazon OpenSearch Service ドメインを設定するための簡潔なチュートリアルです。本番稼働用ドメインを作成するには、このプロセスを使用しないでください。同じプロセスの包括的なバージョンについては、「Amazon OpenSearch Service ドメインの作成と管理」を参照してください。

OpenSearch Service ドメインは、OpenSearch クラスターと同義です。ドメインは、指定した設定、インスタンスタイプ、インスタンスカウント、およびストレージリソースを持つクラスターです。コンソール、AWS CLI、または AWS SDK を使用して OpenSearch Service ドメインを作成できます。

コンソールを使用して OpenSearch Service ドメインを作成するには
  1. https://aws.amazon.com にアクセスし、[コンソールにサインイン] を選択します。

  2. [分析] の下で、[Amazon OpenSearch Service] を選択します。

  3. [ドメインの作成] を選択します。

  4. ドメインの名前を入力します。このチュートリアルの例では、movies という名前を使用します。

  5. ドメインの作成方法は、[標準作成] を選択します。

    注記

    ベストプラクティスを使用して本番稼働用ドメインをすばやく設定するには、[簡易作成] を選択します。このチュートリアルの開発とテストには、[標準作成] を使用します。

  6. テンプレートは、[開発/テスト] を選択します。

  7. デプロイオプションは、[スタンバイが有効のドメイン] を選択します。

  8. [Elasticsearch バージョン] で、最新バージョンを選択します。

  9. 現時点では、[データノード][ウォームデータストレージとコールドデータストレージ][専用マスターノード][スナップショットの設定][カスタムエンドポイント] のセクションは無視してください。

  10. このチュートリアルを簡単にするために、パブリックアクセスドメインを使用します。[ネットワーク] で [パブリックアクセス] を選択します。

  11. きめ細かなアクセスコントロール設定で、[きめ細かなアクセスコントロールを有効化] チェックボックスをオンのままにします。[マスターユーザーの作成] をクリックして、ユーザー名とパスワードを入力します。

  12. 今のところ、SAML 認証および Amazon Cognito 認証セクションは無視します。

  13. [アクセスポリシー]で [きめ細かなアクセスコントロールのみを使用] を選択します。このチュートリアルでは、ドメインアクセスポリシーではなく、きめ細かなアクセスコントロールが認証を処理します。

  14. 残りの設定は無視して、[作成] を選択します。通常、新しいドメインは初期化に 15~30 分かかりますが、設定によってはさらに時間がかかります。ドメインが初期化されたら、ドメインを選択して設定ペインを開きます。次の手順で使用する [一般情報] の下のドメインエンドポイント (例えば、https://search-my-domain.us-east-1.es.amazonaws.com) に注意してください。

: インデックス作成のためにデータを OpenSearch Service ドメインにアップロードする

ステップ 2: インデックス作成のために Amazon OpenSearch Service にデータをアップロードする

重要

これは Amazon OpenSearch Service に少量のテストデータをアップロードするための簡潔なチュートリアルです。本番ドメインでのデータのアップロードの詳細については、「Amazon OpenSearch Service でのデータのインデックス作成]を参照してください。

コマンドラインまたはほとんどのプログラミング言語を使用して、OpenSearch Service ドメインにデータをアップロードできます。

次の例のリクエストでは、簡潔にするため、および便宜上、一般的な HTTP クライアントである curl を使用しています。curl などのクライアントは、アクセスポリシーが IAM ユーザーあるいはロールを指定している場合に、必要なリクエスト署名を実行できません。このプロセスを正常に完了するには、ステップ 1 で設定したように、プライマリユーザー名とパスワードを使用してきめ細かなアクセスコントロールを使用する必要があります。

Windows に curl をインストールしてコマンドプロンプトから使用できますが、Cygwin または Windows Subsystem for Linux などのツールをお勧めします。macOS およびほとんどの Linux ディストリビューションでは、curl がプレインストールされています。

オプション 1: 単一のドキュメントをアップロードする

単一のドキュメントを movies ドメインに追加するには、次のコマンドを実行します。

curl -XPUT -u 'master-user:master-user-password' 'domain-endpoint/movies/_doc/1' -d '{"director": "Burton, Tim", "genre": ["Comedy","Sci-Fi"], "year": 1996, "actor": ["Jack Nicholson","Pierce Brosnan","Sarah Jessica Parker"], "title": "Mars Attacks!"}' -H 'Content-Type: application/json'

コマンドで、ステップ 1 で作成したユーザー名とパスワードを入力します。

このコマンドの詳細および OpenSearch Service への署名付きリクエストを作成する方法の詳細については、「Amazon OpenSearch Service でのデータのインデックス作成」を参照してください。

オプション 2: 複数のドキュメントをアップロードする

複数のドキュメントを含む JSON ファイルを OpenSearch Service ドメインにアップロードするには
  1. bulk_movies.json という名前のローカルファイルを作成します。以下のコンテンツをファイルに貼り付けます。末尾の改行も追加します。

    { "index" : { "_index": "movies", "_id" : "2" } } {"director": "Frankenheimer, John", "genre": ["Drama", "Mystery", "Thriller", "Crime"], "year": 1962, "actor": ["Lansbury, Angela", "Sinatra, Frank", "Leigh, Janet", "Harvey, Laurence", "Silva, Henry", "Frees, Paul", "Gregory, James", "Bissell, Whit", "McGiver, John", "Parrish, Leslie", "Edwards, James", "Flowers, Bess", "Dhiegh, Khigh", "Payne, Julie", "Kleeb, Helen", "Gray, Joe", "Nalder, Reggie", "Stevens, Bert", "Masters, Michael", "Lowell, Tom"], "title": "The Manchurian Candidate"} { "index" : { "_index": "movies", "_id" : "3" } } {"director": "Baird, Stuart", "genre": ["Action", "Crime", "Thriller"], "year": 1998, "actor": ["Downey Jr., Robert", "Jones, Tommy Lee", "Snipes, Wesley", "Pantoliano, Joe", "Jacob, Ir\u00e8ne", "Nelligan, Kate", "Roebuck, Daniel", "Malahide, Patrick", "Richardson, LaTanya", "Wood, Tom", "Kosik, Thomas", "Stellate, Nick", "Minkoff, Robert", "Brown, Spitfire", "Foster, Reese", "Spielbauer, Bruce", "Mukherji, Kevin", "Cray, Ed", "Fordham, David", "Jett, Charlie"], "title": "U.S. Marshals"} { "index" : { "_index": "movies", "_id" : "4" } } {"director": "Ray, Nicholas", "genre": ["Drama", "Romance"], "year": 1955, "actor": ["Hopper, Dennis", "Wood, Natalie", "Dean, James", "Mineo, Sal", "Backus, Jim", "Platt, Edward", "Ray, Nicholas", "Hopper, William", "Allen, Corey", "Birch, Paul", "Hudson, Rochelle", "Doran, Ann", "Hicks, Chuck", "Leigh, Nelson", "Williams, Robert", "Wessel, Dick", "Bryar, Paul", "Sessions, Almira", "McMahon, David", "Peters Jr., House"], "title": "Rebel Without a Cause"}
  2. ファイルが保存されているローカルディレクトリで、次のコマンドを実行して、movies ドメインにそれをアップロードします。

    curl -XPOST -u 'master-user:master-user-password' 'domain-endpoint/_bulk' --data-binary @bulk_movies.json -H 'Content-Type: application/json'

bulk ファイルの形式については、「Amazon OpenSearch Service でのデータのインデックス作成」を参照してください。

: ドキュメントの検索

ステップ 3: Amazon OpenSearch Service でドキュメントを検索する

Amazon OpenSearch Service ドメインでドキュメントを検索するには、OpenSearch 検索 API を使用します。または、OpenSearch Dashboards を使用してドメインのドキュメントを検索することもできます。

コマンドラインからドキュメントを検索する

movies ドメインで mars という単語を検索するには、次のコマンドを実行します。

curl -XGET -u 'master-user:master-user-password' 'domain-endpoint/movies/_search?q=mars&pretty=true'

前のページでバルクデータを使用している場合は、代わりに rebel を検索してください。

次のようなレスポンスが表示されます。

{ "took" : 5, "timed_out" : false, "_shards" : { "total" : 5, "successful" : 5, "skipped" : 0, "failed" : 0 }, "hits" : { "total" : { "value" : 1, "relation" : "eq" }, "max_score" : 0.2876821, "hits" : [ { "_index" : "movies", "_type" : "_doc", "_id" : "1", "_score" : 0.2876821, "_source" : { "director" : "Burton, Tim", "genre" : [ "Comedy", "Sci-Fi" ], "year" : 1996, "actor" : [ "Jack Nicholson", "Pierce Brosnan", "Sarah Jessica Parker" ], "title" : "Mars Attacks!" } } ] } }

OpenSearch Dashboards を使用してドキュメントを検索する

OpenSearch Dashboards は OpenSearch で稼働するように設計された、ポピュラーなオープンソースの可視化ツールです。これは、インデックスを検索してモニタリングするための便利なユーザーインターフェイスを提供します。

Dashboards を使用して OpenSearch Service ドメインからドキュメントを検索するには
  1. 使用しているドメインの OpenSearch Dashboards URL に移動します。この URL は、OpenSearch Service コンソールのドメインダッシュボードに表示されています。URL はこの形式に従います。

    domain-endpoint/_dashboards/
  2. プライマリユーザー名とパスワードを使ってログインします。

  3. Dashboards を使用するには、少なくとも 1 つのインデックスパターンを作成する必要があります。Dashboards は、そのパターンを使用して、どのインデックスを分析するかを特定します。左のナビゲーションパネルを開き、[スタック管理] 、[インデックスパターン] の順に選択してから、[インデックスパターンを作成する] を選択します。このチュートリアルでは、movies と入力します。

  4. [次のステップ] を選択してから、[インデックスパターンの作成] を選択します。パターンが作成されたら、actor および director などのさまざまなドキュメントフィールドを表示できます。

  5. [インデックスパターン] ページに戻り、movies がデフォルトとして設定されていることを確認します。そうでない場合は、パターンを選択し、星アイコンを選択してデフォルトにします。

  6. データの検索を開始するには、左のナビゲーションパネルをもう一度開き、[検出] を選択します。

  7. 検索バーに、単一のドキュメントをアップロードした場合は mars と入力するか、複数のドキュメントをアップロードした場合は rebel と入力してから [Enter] を押します。俳優名や監督名など、他の用語を検索してみることができます。

: ドメインの削除

ステップ 4: Amazon OpenSearch Service ドメインを削除する

このチュートリアルの movies ドメインはテスト用のため、チュートリアルを終了したら、料金が発生しないようにこれを削除してください。

コンソールから OpenSearch Service ドメインを削除するには
  1. [Amazon OpenSearch Service] コンソールにサインインします。

  2. [ドメイン] で、[movies]ドメインを選択します。

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

次のステップ

ドメインとインデックス作成データの作成方法がわかったので、次の演習のいくつかを行ってみてください。