Database Support Blog

  • AWS
2025.11.17

「Amazon Q Business」でS3をデータソースとして設定する方法

「Amazon Q Business」でS3をデータソースとして設定する方法

はじめに

Amazon Q BusinessはAWSの生成AI搭載アシスタントです。

Amazon Q Businessでは、社内データを連携させることで、自社専用のAIアシスタントを構築できます。
本記事ではデータ連携に利用する「データソース」の中でも、設定が容易なAmazon S3の設定方法について解説します。

Amazon S3コネクタ設定の前提条件

Amazon S3をデータソースとしてAmazon Q Businessと連携する場合、以下の前提条件をクリアする必要があります。


①Amazon Q Business のアプリケーションが作成済みであること。


②連携元のS3バケットが作成済みで、そのバケットに検索対象としたいドキュメントが保存されていること。また、対象のバケット名を把握していること。

※Amazon Q Businessのインデックスと同じリージョンにS3バケットを作成する必要がございます。


③対象のVPC に Amazon S3 エンドポイントが割り当てられていること

※Amazon VPC を Amazon S3 コネクタと組み合わせて使用​​する場合のみ


Amazon Q Businessのデータソース(S3)の設定方法
-VPCを利用しないパターン-

Amazon Q BusinessのS3コネクタは、ネットワーク要件に応じて、VPCを介してAmazon S3と接続するか否かを選択することが可能です。


VPCを介さずにAmazon S3に接続する設定は、特に以下のような場合に有効です。


利用シーンの例: PoCフェーズ

[要件]

複雑なネットワーク設定(VPCエンドポイントの設定など)を回避し、素早くAmazon Q Businessをセットアップして検証を開始したい


データソースの設定

それでは、具体的なデータソースの設定方法を見ていきましょう。


1.AWSマネージメントコンソールにログインし、Amazon Q Businessの画面にて、データソースを設定したいアプリケーションを一覧から選択します。


2.メニューから「Data sources」を選択し、「Add data source」をクリックします。


3.Data sorcesの一覧から、「Amazon S3 -Latest」を選択します。
※2025年10月現在、「Amazon S3 -Legacy」も存在しますが、本章ではLatest版を利用した設定方法をご説明しています。


4.データソースの設定画面にて設定値を入力し、「Add data source」をクリックします。

各設定項目の内容は以下の通りです。

項目 内容
Data source name データソースの名前を入力します。
Description
- optional
データソースの説明を入力します。
IAM role データソースに設定するIAMロールを選択します。
以下の2種類から選択が可能です。

  • Create a new service role (Recommended)
  • 既存のIAMロール
Data source location データソースとなるS3バケットの所有者によって以下2つから選択します。

  • This AWS account:S3バケットが自分自身のアカウント
  • Other AWS account:S3バケットが他者のアカウント
Enter the data source location 「s3://バケット名」の形式でデータソースとなるS3バケット名を入力します。

※S3バケットが自分自身のアカウントである場合は「Browse S3」にてS3バケットの一覧から選択できます。
Maximum single file size 1ファイルの最大サイズを指定します。

  • 標準のテキストドキュメント: 最大50MB
  • 動画/音声が有効な場合:
    • 動画: 最大10,240MB (10GB)
    • 音声: 最大2,048MB (2GB)
Multi-media content configuration
- optional
・Advanced indexing
画像や音声、映像を扱えるようにする追加機能の設定が可能です。

以下の3項目それぞれ有効化有無を選択できます。
  • Visual content in documents
    →ドキュメントに埋め込まれた様々な種類の画像から情報やインサイトを抽出可能
  • Audio files
  • Video files
    →音声や動画ファイルから文字起こしやコンテンツを抽出可能
Sync run schedule 同期の頻度を以下の6パターンから選択します。

  • Run on demand
  • Hourly
  • Daily
  • Weekly
  • Monthly
  • Custom

5.データソースが作成され、StatusがActiveとなったことを確認したら、画面上部の「Sync now」をクリックします。


6.「Sync started successfully…」のポップアップが表示され、Syncが開始されたことを確認します。


7.「You successfully synced…」のポップアップが表示され、Sync Historyにに記録されているFailedカウントが0であれば問題なく同期が完了しています。


8.AWS の⾔語系AI サービスについて質問をしてみると、回答が返ってきました。

また、回答のソースがデータソース設定で選択したS3バケットに配置された資料であることが確認できました。


※本章で扱った資料は以下です。

・AWS の ⾔語系 AI サービス(AWS Black Belt Online Seminar資料)

https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_AWS-Language-AI-Services_0425_v1.pdf


Amazon Q Businessのデータソース(S3)の設定方法 -VPCを利用するパターン-

VPCを介してAmazon S3に接続する設定は、特に以下のような場合に有効です。


利用シーンの例: 厳格なセキュリティポリシーが求められる本番環境

[要件]
・Amazon Q BusinessとS3間の通信をプライベート接続で完結させたい

・接続先のS3バケットがVPCエンドポイントからのアクセスのみに制限されている

VPC周りのリソース設定

データソースの設定に進む前に、コネクタを接続するVPC関連の以下リソースを事前に作成する必要があります。


■事前に作成するリソース

  • VPC(*1):1つ
  • サブネット(*1):プライベートサブネット1つ
  • VPCエンドポイント:ゲートウェイ型エンドポイント1つ
  • セキュリティグループ:デフォルトのルール設定で1つ(*2)
    • インバウンドルール:なし
    • アウトバウンドルール:すべてのトラフィック、0.0.0.0/0

(*1)以下の AWS リージョンとアベイラビリティーゾーンのいずれかに存在する必要があります

(*2)今回はデフォルトルールとしていますが、要件に合わせて適宜ご変更ください


■対応リージョンとアベイラビリティゾーン(2025年10月現在)

  • 米国西部 (オレゴン)/us-west-2—usw2-az1、usw2-az2、usw2-az3
  • 米国東部(バージニア北部)/us-east-1—use1-az1、use1-az2、use1-az4
  • ヨーロッパ (アイルランド)/eu-west-1—euw1-az1、euw1-az2、euw1-az3
  • アジア太平洋 (シドニー)/ap-southeast-2—apse2-az1、apse2-az2、apse2-az3

データソースの設定

それでは、具体的なデータソースの設定方法を見ていきましょう。

1.データソースを設定したいアプリケーションを一覧から選択します。


2.メニューから「Data sources」を選択し、「Add data source」をクリックします。


3.Data sorcesの一覧から「S3」と検索し、「Amazon S3 -Legacy」を選択します。

※2025年10月現在、VPC内にコネクタを配置する機能がLegacyタイプでのみ提供のためLegacyタイプを選択する必要があります。


4.データソースの設定画面にて設定値を入力し、「Add data source」をクリックします。

各設定項目の内容は以下の通りです。

項目 内容
Data source name データソースの名前を入力します。
Description
- optional
データソースの説明を入力します。
IAM role データソースに設定するIAMロールを選択します。
以下の2種類から選択が可能です。

  • Create a new service role (Recommended)
  • 既存のIAMロール
Data source location データソースとなるS3バケットの所有者によって以下2つから選択します。

  • This AWS account:S3バケットが自分自身のアカウント
  • Other AWS account:S3バケットが他者のアカウント
Enter the data source location 「s3://バケット名」の形式でデータソースとなるS3バケット名を入力します。

※S3バケットが自分自身のアカウントである場合は「Browse S3」にてS3バケットの一覧から選択できます。
Maximum single file size 1ファイルの最大サイズを指定します。

  • 標準のテキストドキュメント: 最大50MB
  • 動画/音声が有効な場合:
    • 動画: 最大10,240MB (10GB)
    • 音声: 最大2,048MB (2GB)
Multi-media content configuration
- optional
・Advanced indexing
画像や音声、映像を扱えるようにする追加機能の設定が可能です。

以下の3項目それぞれ有効化有無を選択できます。
  • Visual content in documents
    →ドキュメントに埋め込まれた様々な種類の画像から情報やインサイトを抽出可能
  • Audio files
  • Video files
    →音声や動画ファイルから文字起こしやコンテンツを抽出可能
Sync mode Syncのモードについて、以下2つから選択します。

  • Full sync
    →以前の同期状態に関係なくすべてのコンテンツを同期するモード
  • New, modified, or deleted content sync
    →新規、変更、または削除されたコンテンツのみを同期するモード
Sync run schedule 同期の頻度を以下の6パターンから選択します。

  • Run on demand
  • Hourly
  • Daily
  • Weekly
  • Monthly
  • Custom
Configure VPC and security group デフォルトは「No VPC」ですが、VPCに接続する場合は以下の設定値を入力します。

  • Virtual Private Cloud (VPC)
    →Q Businessを接続するVPCについて、作成済みのVPCから選択可能
  • Subnets
    →上記で選択したVPCの中でQ Businessを接続したいサブネットを選択
  • VPC security groups
    →データソースへのアクセスを許可するセキュリティグループを選択

5.データソースが作成され、StatusがActiveとなったことを確認したら、画面上部の「Sync now」をクリックします。

6.「Sync started successfully…」のポップアップが表示され、Syncが開始されたことを確認します。

7.「You successfully synced…」のポップアップが表示され、Sync Historyにに記録されているFailedカウントが0であれば問題なく同期が完了しています。

8.AWS の⾔語系AI サービスについて質問をしてみると、回答が返ってきました。

また、回答のソースがデータソース設定で選択したS3バケットに配置された資料であることが確認できました。


※本章で扱った資料は以下です。

・AWS の ⾔語系 AI サービス(AWS Black Belt Online Seminar資料)

https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2024_AWS-Language-AI-Services_0425_v1.pdf

Amazon S3 データソース内のドキュメントへのアクセス制御

S3をデータソースとして設定する際、ユーザーやグループごとにアクセスできるドキュメントに制限をかけたいという要件が出てきます。

その場合、アクセス制御の内容を記載したjsonファイルを配置し、データソースの設定内でアクセスコントロールリスト(ACL)として指定することで、ユーザーごとに検索・参照できる情報の範囲を細かく制御することが可能になります。

ACLファイルの書き方

ACLファイルはjson形式で、以下4つの要素について記載します。

  • ACL設定を行いたいファイルのS3 URI
  • ACL設定の対象となるエンティティ名
    ⇒アクセスを許可したり拒否したりする「対象」
  • エンティティのタイプ(USER もしくは GROUP)
    ⇒対象のアプリケーションでサブスクライブしている「ユーザー名」もしくは「グループ名」
  • エンティティに設定したい権限(ALLOW もしくは DENY)

■記載例:test-bucket配下に存在するtestファイルに対してACL設定する場合

  • 条件①:testuser1のユーザーのアクセスを許可
  • 条件②:testgroup1のグループのアクセスを拒否
{
    "keyPrefix": "s3://test-bucket/test/",
    "aclEntries": [
        {
            "Name": "testuser1",
            "Type": "USER",
            "Access": "ALLOW"
        },
        {
            "Name": "testgroup1",
            "Type": "GROUP",
            "Access": "DENY"
        }
    ]
}

アクセス制御の設定方法

実際にjson形式で記載したACLファイルを対象のS3バケットに配置し、回答の変化を見ていきましょう。


■前提

本章では、以下のサンプル資料をS3に配置しています。


また、アクセス制御設定で利用するACLファイルの中身は以下の通りです。

以下の設定をすることによって、testuserが問い合わせをした際に、「休暇ルール_社内規定_基本編.docx」はデータソースとして利用できなくなる想定です。

[
    {
        "keyPrefix": "s3://privatedata-bucket/休暇ルール_社内規定_基本編.docx",
        "aclEntries": [
            {
                "Name": "testuser",
                "Type": "USER",
                "Access": "DENY"
            }
        ]
    }
]

■アクセス制御設定前

まず、アクセス制御設定前の回答内容を確認してみます。

ここでは、Amazon Q Businessに「testuser」でログインしており、まだ何の制限もかかっていない状態です。

社内規定の資料から休暇や勤怠に関する情報を回答してくれています。


ではACLファイルを配置・設定していきましょう。
※ここからの手順1〜6は、Amazon Q Businessのデータソース設定を変更できる管理者用のユーザーで実施します。


1.ACL設定を行いたいファイルが存在するS3バケット配下に、事前に作成したACLファイルの「aclsample.json」を配置します。


2.Amazon Q Businessのデータソース設定のActions > Edit から設定内容を変更します。


3.「Sync scope」の項目内にある「Access control list (ACL) configuration file location - optional」にて、「Browse S3」から手順1で配置した「aclsample.json」を指定して更新します。


4.「Sync now」からデータソースの同期を実施します。

5.「Sync started successfully…」のポップアップが表示され、Syncが開始されたことを確認します。


6.「You successfully synced…」のポップアップが表示され、Sync Historyにに記録されているFailedカウントが0であれば問題なく同期が完了しています。



■アクセス制御設定後

アクセス制御設定が完了したので、アクセスのDENY(拒否)対象として指定した「testuser」として、改めてAmazon Q Businessにログインし、設定前と同じ質問をしてみます。

特別休暇について質問しましたが、情報が見つからないとの回答が返ってきています。

これは、ACLファイルの設定によって「testuser」が「休暇ルール_社内規定_基本編.docx」の情報を参照することがブロックされたため、Amazon Q Businessが回答を生成できなかったことを示しています。



続いて、ACLで制限していない別の情報について質問してみます。

就業時間に関しては、問題なく回答が返ってきています。

この回答は、ACLの対象外である別のファイル(勤怠ルール_社内規定_基本編.docx)から情報を取得しているため、正しく回答されています。


これにより、ACLの設定が想定通りに動作していることが確認できました。

まとめ

プログラミング不要で、簡単にS3上のドキュメントを連携できるAmazon Q Businessのデータソース機能。社内に蓄積された膨大な資料をS3に集約・連携させることで、社内ナレッジ検索基盤をすぐに構築できますね。

身近なドキュメントから、ぜひお試しください!



執筆者・シリーズ情報

山庄菜摘 プロフィール画像

2021年に新卒入社し、AWSのフィールド業務を担当している。最近は生成AI分野に興味を抱き、日々Amazon Qの検証を行っている。...show more



■本記事の内容について
 本記事に記載されている製品およびサービス、定義及び条件は、特段の記載のない限り本記事執筆時点のものであり、予告なく変更になる可能性があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • AWS
2025.10.20

「Amazon Q Developer」の使い方(VSCodeにインストールして利用する方法)

この記事では「Amazon Q Developer」の使い方(VSCodeにインストールして利用する方法)をご紹介します

  • AWS
2025.08.18

Amazon Q BusinessのAgentic RAG機能(Advanced search)とは?

この記事ではAmazon Q BusinessのAgentic RAG機能の概要と実際の検証結果をご紹介します。

  • AWS
2025.07.02

「Amazon Q Business」の匿名ユーザーアクセスを試してみた

この記事では「Amazon Q Business」の匿名ユーザーアクセスを試す方法をご紹介します

ページの先頭へ戻る