Amazon Kendra が一般利用可能 (GA) になりました!

記事タイトルとURLをコピーする

はじめに

こんにちは、技術1課の山中です。 家に眠っていた RTX1500 を引っ張り出してきてリモートで同僚のアドバイス通り設定したらネットが更に速くなりました。 (といっても 100M が限界ですが…

今回は Amazon Kendra が一般利用可能になったということで触っていきたいとおもいます。

Amazon Kendra が一般利用可能に

Amazon Kendra とは

Amazon Kendra は S3 や RDS もしくは、 SharePoint などの外部サービスにあるデータを機械学習で分析してユーザからの質問に返してくれる検索サービスを提供してくれます。

「住宅手当をもらえる条件は?」、「本を買うときの稟議の回し方は?」などユーザが問い合わせると、解析したデータからよりよい回答を探し出してくれるみたいです。めちゃめちゃ便利そうですね!!!

サポートしているデータソース (2020/05現在)

現在は以下データソース向けの Kendra コネクタが提供されています。

  • S3
  • SharePoint
  • Salesforce
  • Servicenow
  • RDS データベース
  • One Drive

今年の後半には対象が増える予定とのことですので、期待しておきましょう。

サポートされるファイルタイプ (2020/05現在)

Amazon Kendra は以下ファイルタイプをサポートしています。

  • .html
  • MS Office (.doc、 .ppt)
  • PDF
  • テキスト形式の非構造化および半構造化データ

対応リージョン (2020/05現在)

Amazon Kendra は以下リージョンで利用可能です。

  • 米国東部 (バージニア北部)
  • 米国西部 (オレゴン)
  • 欧州 (アイルランド)

対応言語 (2020/05現在)

Amazon Kendra は 英国英語 のみをサポートしています。 早く日本語に対応してほしいですねー

料金

Amazon Kendra には 2 つのエディションが存在し、それぞれ以下の違いがあります。

Developer Edition Enterprise Edition
ドキュメントのストレージ 最大 10,000 ドキュメント 最大 500,000 ドキュメント
1 日あたりの最大クエリ件数 4,000 40,000
データソース 5 50
アベイラビリティーゾーン 1 3
無料利用枠 最初の 30 日間で最大 750 時間の無料利用枠 該当なし
料金 (1 時間単位の請求) 2.50 USD/時間 7.00USD /hour
料金 (1 か月単位の請求) 1,800 USD/月 5,040.00USD/month
追加キャパシティー追加クエリバンドル なし 1 日あたり 40,000 件の追加クエリごとに 3.50 USD/時間
追加キャパシティー追加ドキュメントストレージバンドル なし 500,000 の追加ドキュメントごとに 3.50 USD/時間
スキャンされたコネクタ使用ドキュメント 4,000 40,000
1 日あたりの最大クエリ件数 スキャンされたドキュメントごとに 0.000001USD スキャンされたドキュメントごとに 0.000001USD
同期時のコネクタの使用 同期時のコネクタごとに 1 時間あたり 0.35USD 同期時のコネクタごとに 1 時間あたり 0.35USD

検索インデックスを作成後、プロビジョニングから削除までの時間に応じて上記の料金が発生します。 Kendra Developer Edition は 単一のアベイラビリティゾーンで実行であったり、キャパシティの追加ができなかったりなど、 PoC 構築時の低価格オプションということなので開発時以外は Kendra Entarprise Edition を選択することが推奨されています。

試してみる

試してみないとわからない!ということで試していきましょうー! 今回は バージニア北部リージョン にて作成します。

事前準備

今回はデータソースに S3 を指定するので、事前にバージニアリージョンに S3 バケット 20200518-kendra-demo を作成しデータを格納しています。 データは サーバーワークスエンジニアブログ の html ファイルを Amazon Translate で英語に翻訳したものを格納しています。 ※ 10 ファイル程度

インデックスを作成する

Amazon Kendra を開くと以下ページが開くので Create an Index ボタンをクリック

Create index ボタンをクリック

インデックス名と CloudWatch log にアクセスするための IAM ロールを指定します。 今回 IAM ロールは新規に作成します。

次の画面ではエディションを選びます。今回は試すだけなので Developer edition を選択します。

Create ボタンをクリックすると、 30 秒ほど待ちます。

画面が遷移し、インデックスの作成が始まるので 30 分ほど待ちましょう。

これでインデックスの作成は完了です!

データソースをインデックスに追加する

インデックス作成後の画面からAdd data source ボタンをクリックし、データソースを追加します。 左ペインから Data sources を選択して、対象のサービスにて Add connector ボタンをクリックでも追加することができます 各データソースの追加ステップ数が記載されていてとても親切です。 今回は Amazon S3 のカードから Add connector ボタンをクリックします。

追加するデータソースの名前を入力し、 Next ボタンをクリックします。

S3 コネクタの設定を行います。 データが格納されている S3 バケットを指定し、 Amazon Kendra から S3 へアクセスするための IAM ロールを指定します。 ※ S3 バケットは Amazon Kendra を作成するリージョンと同じリージョンである必要があります。 今回は先程と同様に IAM ロールを新規に作成しています。 また、データを同期するタイミングもカスタマイズ可能です。 今回はオンデマンドを指定していますが、毎時、毎日、毎週など指定することができます。

最後に、設定項目を確認し問題なければ Create ボタンをクリックします。

また 30 秒ほど待つと

データソースの追加が完了するので、 Sync now ボタンをクリックし、同期を始めましょう。

しばらく経つとインデックスへデータが追加されます。

インデックスを検索する

Search console から早速検索してみます。 まずは、検索ボックスにaws update と入力してみましょう。 そうすると、ちゃんと結果が返ってきました!!

おわりに

今回はお試しということで、対象のデータは少なかったですが、 Salesforce や SharePoint などとも簡単に連携できるので色々なところに散らばっているデータを Aamazon Kendra を利用するとうまく活用できるようになりそうですね!!

また、この内容は 2020/5/20(水) 12:00 よりYouTube Liveで配信する「30分でわかる AWS UPDATE!」で取り上げます! 是非ご覧ください!


[Serverworks] 30分でわかる AWS UPDATE ! [2020年5月 4週目] #serverworks #011

参考

山中 大志(記事一覧)

アプリケーションサービス部

ビールと味噌カツをこよなく愛するエンジニアです。

AWSをみなさんにより使っていただけるような情報を発信していきたいと考えてます。