Amazon BedrockナレッジベースでベクトルデータベースにAurora PostgreSQLをクイック作成したときの設定について
こんにちは、まるとです。
最近、Amazon Bedrockナレッジベースでベクトルデータベースを作成する際、皆さんはどのようにやっていますか?
特にクイック作成機能はAWS側で自動でいい感じのリソースを作ってくれるため、すぐにナレッジベースのテストを行うことができます。

一方で、「これってそのまま本番運用できる?」と疑問を持ったことはありませんか?自分は結構心配性なところもあり、課金やセキュリティなどを気にします。
なので、実際に作ってみてどういった設定になるのかを見ていきたいと思います。
リソースを作ってみる
それでは早速リソースを作ってみましょう。
今回はコストの観点からベクトルデータベースとして「Amazon Aurora PostgreSQL Serverless」を選択してみます。

選択後は、デフォルトの設定で進めていきます。
リソースの設定を読み解く
しばらくすると、ナレッジベースの作成が完了するのと同時に、Amazon RDSコンソールでも「knowledgebasequickcreateaurora-b41-auroradbcluster-<文字列>」という命名でデータベースの本体が確認できます。

まずはDBクラスターから見ていきます。

設定されている値などを以下に記載します。
| 項目 | 値 | 備考 |
|---|---|---|
| RDS Data API | 有効 | |
| エンジンバージョン | 15.7 | 本記事執筆時点での最新バージョンは17.6 |
| RDS 延長サポート | 有効 | |
| クラスターストレージ設定 | Aurora スタンダード | |
| ネットワークタイプ | IPV4 | |
| パラメータグループ | default.aurora-postgresql15 | |
| IAM認証 | 無効 | |
| Kerberos認証 | 無効 | |
| マルチAZ | なし | |
| 暗号化キー | aws/rds | AWSマネージドキー |
| モニタリングタイプ | データベースインサイト - スタンダード | |
| Performance Insights | 無効 | |
| 拡張モニタリング | 無効 | |
| マイナーバージョンの自動アップグレード | 有効 | |
| 自動バックアップ | 有効(1日) |
続いて、データベース本体を見ていきます。
| 項目 | 値 | 備考 |
|---|---|---|
| VPC | デフォルトVPC | |
| サブネットグループ | デフォルトVPCの全サブネット(1a, 1c, 1d) | |
| セキュリティグループ | KnowledgeBaseQuickCreateAurora-<UUID>-AuroraDBSecurityGroup-<文字列> | |
| パブリックアクセス | 無効 | |
| エンジンバージョン | 15.7 | 本記事執筆時点での最新バージョンは17.6 |
| RDS 延長サポート | 有効 | |
| 容量ユニット(ACU) | 0 - 16 | 0 GiB - 32 GiB |
| 自動一時停止までの時間 | 3時間 | |
| オプショングループ | default:aurora-postgresql-15 | |
| パラメータグループ | default.aurora-postgresql15 | |
| 暗号化キー | aws/rds | AWSマネージドキー |
| モニタリングタイプ | データベースインサイト - スタンダード | |
| Performance Insights | 無効 | |
| 拡張モニタリング | 無効 | |
| マイナーバージョンの自動アップグレード | 有効 |
なお、セキュリティグループ(KnowledgeBaseQuickCreateAurora-<UUID>-AuroraDBSecurityGroup-<文字列>)の設定は以下となっていました。
インバウンド
| タイプ | プロトコル | ポート範囲 | ソース |
|---|---|---|---|
| すべてのTCP | TCP | 0 - 65536 | KnowledgeBaseQuickCreateAurora-<UUID>-AuroraDBSecurityGroup-<文字列> |
アウトバウンド
| タイプ | プロトコル | ポート範囲 | 送信先 |
|---|---|---|---|
| すべてのTCP | TCP | 0 - 65536 | 0.0.0.0/0 |
個人的に気になるポイント
クイック作成でのリソース構築で個人的に気になった箇所としては以下となります。
- RDS Data APIが有効
- エンジンバージョンが最新と乖離がある
- RDS延長サポートが有効
- 作成先VPCがデフォルトVPC
順番に見ていきます。
RDS Data APIが有効
RDS Data API自体は名前の通り、APIを介してクエリを実行する機能となります。
これはAmazon Bedrockでナレッジベースとして使用するにあたり、必須の機能となるため有効である必要があります。
費用面では最初の10億件までは 100万件あたり 0.42 USD発生してきます。
注意点としては 32 KB/リクエスト 換算となるため、呼び出し一回 = リクエストではないことに注意してください。
金額としては大きなものではないですが、ナレッジベースを利用するにはRDS Data APIの料金も裏で発生してくることを認識しておいてください。
エンジンバージョンが最新と乖離がある/RDS延長サポートが有効
デフォルトではエンジンバージョン15.7で作成されるとドキュメントに記載がありました。
Aurora クイック作成オプションは、Amazon Bedrock ナレッジベースをサポートするすべての AWS リージョンで使用できます。デフォルトでは、バージョン 15.7 の Aurora PostgreSQL DB クラスターが作成されます。
ただ、RDSの延長サポートが有効であるため、標準サポートが終了した場合は以下の料金が上乗せされます。
| 年数 | 料金 |
|---|---|
| 1 - 2年目 | 0.102 USD / (ACU/h) |
| 3年目 | 0.204 USD / (ACU/h) |
そのため、1 ACUで1日動かすと 0.102 x 24 = 2.448 USD発生するため注意が必要です。
Amazon Bedrockのナレッジベースとしてサポートしているバージョンは、本記事執筆時点で以下となっています。
- 16.1 以降すべて
- 15.4 以降
- 14.9 以降
- 13.12 以降
- 12.16 以降
そのため、もしアップグレードできるのであれば、早めにエンジンバージョンを上げておいた方が安心です。
また、延長サポートの必要が発生するのが気になる場合は、クイック作成後に延長サポートを無効にしておくこともおすすめします。
作成先VPCがデフォルトVPC
ここはもしかしたら要件次第で気になる方がいらっしゃるのではないかと思います。
クイック作成では任意のVPCにAurora PostgreSQLを構築させる手段は、記事執筆時点でありません。
そのため、デフォルトVPCが存在しない場合はそもそもクイック作成に失敗します。

デフォルトVPCについて、パブリックで公開するものをすぐに作るという意図も含まれています。
クイック作成で作成されるAurora PostgreSQLはパブリックアクセスが無効かつセキュリティグループで接続元が絞られているものの、自身で設計したネットワーク上にデータベース本体があることを保証したい、という要件がある場合はクイック作成は利用しないように注意が必要です。
終わりに
今回は簡単にですが、ベクトルデータベースのクイック作成でAurora PostgreSQLを利用したときの注意点を簡単に記載してみました。
すぐにナレッジベースを試してみたいという場合はクイック作成を使うのも良い手段ではないかと思いました。
一方で、本番運用などを行う際はデフォルトVPCの件や、延長サポートなどがあるためこれらを考慮することを忘れないように注意してください。
以上、まるとでした。









