Slide 1

Slide 1 text

5分で分かる(かもしれない)
 Vector engine for OpenSearch Serverless
 1 2024.5.15
 
 JAWS-UG東京 ランチタイムLT会 #10


Slide 2

Slide 2 text

57分で分かる(かもしれない)
 Vector engine for OpenSearch Serverless
 2 2024.5.15
 
 JAWS-UG東京 ランチタイムLT会 #10


Slide 3

Slide 3 text

3 自己紹介 ★ ハンドルネーム ○ つくぼし ★ 所属 ○ AWS事業本部コンサルティング部 ○ ソリューションアーキテクト ★ 最近ハマっているAWSサービス ○ AWS Application Composer ★ SNS/ブログ ○ Twitter(@tsukuboshi0755) ○ DevelopersIO(つくぼし)

Slide 4

Slide 4 text

4 今日話す事・話さない事 ● 話す事 ○ Vector engine for OpenSearch Servelessの概念 ○ OpenSearch Serverlessを使う際の考慮点 ● 話さない事 ○ OpenSearchにおけるインデックス作成方法 ○ ベクトルデータベースを用いた検索方法 ○ その他OpenSearch Serverlessの詳細な仕組み

Slide 5

Slide 5 text

5 Vector engine for OpenSearch Serverless は知ってますか?

Slide 6

Slide 6 text

6 Knowledge Bases for Amazon Bedrockの作成画面 ベクトルデータベースの第 一選択肢

Slide 7

Slide 7 text

7 Vector engine for OpenSearch Serverlessとは?

Slide 8

Slide 8 text

● AWS上でマネージドに提供される全文検索エンジン ○ 全文検索とは、複数ファイルにまたがり特定の文字列を検索する事 ○ インデックスという単位でドキュメントを格納し、全文検索を行う ○ RDBMSにおけるSQLのLike検索と比較して、検索速度や精度の観点で優位 ● 元々はElasticSearchという他社サービスから派生 ○ アプリケーションにおける大量のログ分析等で使用する事が多い ○ ライセンス体系が変更された影響で、元のElasticSearchからOSS管理の OpenSearchにフォークされた 8 Amazon OpenSearch Serviceとは?

Slide 9

Slide 9 text

● Amazon OpenSearch Serviceにおける インフラ管理モードの1つ ○ Managed Clusters:クラスターという単位で作 成し、原則ユーザーがノード(インスタンス)を自 前管理する必要がある ○ Serverless:コレクションという単位で作成し、 AWSが必要なノード(インスタンス)を自動ス ケーリングしてくれる 9 OpenSearch Serverlessとは? 参照:Amazon OpenSearch Serverless が一般利用可能になりました | Amazon Web Services ブログ

Slide 10

Slide 10 text

10 Vector engine for OpenSearch Serverlessとは? ● OpenSearch Serverlessにおけるコレクションタイプの1つ ○ 元々は検索または時系列のみだったが、後にベクトル検索が選択可能に ○ ベクトル検索:数値ベクトルに変換された文字や画像、音声等のデータ(埋め込み) の類似度を比較、関連性の高いデータを見つけ出す検索方法 ● 生成AIを用いたRAG構築におけるベクトルデータストアとして最適 参照:生成系 AI アプリケーションでベクトルデータストアが果たす役割とは | Amazon Web Services ブログ

Slide 11

Slide 11 text

11 Vector engine for OpenSearch Serverless を使う際の考慮ポイント

Slide 12

Slide 12 text

12 デプロイタイプ(開発/テストモード) ● コレクション作成時に、レプリカの 有効化/無効化を選択可能 ○ レプリカを無効化する事で、コストを 削減できる(開発/テストモード) ○ 一方でレプリカを無効化すると、可 用性が失われるデメリットもあり

Slide 13

Slide 13 text

13 データアクセスポリシー ● 以下の権限を、特定の IAMエンティティに対して定 義 ○ コレクション全体に対す るアクセス権限 ○ 各インデックスに対する アクセス権限 ● JSON形式で作成/変更可 能可能 # ポリシー例 [ { "Rules": [ { "Resource": [ "collection/<コレクション名>" ], "Permission": [ "aoss:DescribeCollectionItems", "aoss:CreateCollectionItems", "aoss:UpdateCollectionItems" ], "ResourceType": "collection" }, { "Resource": [ "index/<インデックス名>/*" ], "Permission": [ "aoss:UpdateIndex", "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument", "aoss:CreateIndex" ], "ResourceType": "index" } ], "Principal": [ "" ], "Description": "" } ]

Slide 14

Slide 14 text

14 暗号化ポリシー ● データの暗号化に、以下のいずれかのKMSを指定 ○ AWSマネージドキー ○ カスタマーマネージドキー ● コンソールからビジュアルで作成/変更可能

Slide 15

Slide 15 text

15 ネットワークポリシー ● 以下のNWアクセスを定義 ○ パブリックアクセスまたは VPCアクセス ○ ダッシュボードへのアクセス 有効化 ○ エンドポイントへのアクセス有 効化 ● コンソールからビジュアルで作成 /変更可能

Slide 16

Slide 16 text

16 (補足)Knowledge Baseで自動作成されるインデックス ● OpenSearchコンソールでコレクションを作成すると、コレクション内にイン デックスは作成されない ● BedrockコンソールでKnowledge Baseを作成する場合のみ、以下のよ うなデフォルトインデックスがコレクション内に作成される

Slide 17

Slide 17 text

17 ほかにも説明し切れない箇所がたくさん...

Slide 18

Slide 18 text

18 今回の教訓 5分での説明は無理ゲーだと分かった

Slide 19

Slide 19 text

19