- AWS
「Amazon Q Developer」の使い方(VSCodeにインストールして利用する方法)
この記事では「Amazon Q Developer」の使い方(VSCodeにインストールして利用する方法)をご紹介します
|
|
Index
Amazon Q BusinessはAWSの生成AI搭載アシスタントです。
Amazon Q Businessでは、社内データを連携させることで、自社専用のAIアシスタントを構築できます。
本記事ではデータ連携に利用する「データソース」の中でも、設定が容易な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 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種類から選択が可能です。
|
| Data source location | データソースとなるS3バケットの所有者によって以下2つから選択します。
|
| Enter the data source location | 「s3://バケット名」の形式でデータソースとなるS3バケット名を入力します。 ※S3バケットが自分自身のアカウントである場合は「Browse S3」にてS3バケットの一覧から選択できます。 |
| Maximum single file size | 1ファイルの最大サイズを指定します。
|
| Multi-media content configuration - optional ・Advanced indexing |
画像や音声、映像を扱えるようにする追加機能の設定が可能です。 以下の3項目それぞれ有効化有無を選択できます。
|
| Sync run schedule | 同期の頻度を以下の6パターンから選択します。
|
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|
|
VPCを介してAmazon S3に接続する設定は、特に以下のような場合に有効です。
利用シーンの例: 厳格なセキュリティポリシーが求められる本番環境
[要件]
・Amazon Q BusinessとS3間の通信をプライベート接続で完結させたい
・接続先のS3バケットがVPCエンドポイントからのアクセスのみに制限されている
データソースの設定に進む前に、コネクタを接続するVPC関連の以下リソースを事前に作成する必要があります。
■事前に作成するリソース
(*1)以下の AWS リージョンとアベイラビリティーゾーンのいずれかに存在する必要があります
(*2)今回はデフォルトルールとしていますが、要件に合わせて適宜ご変更ください
■対応リージョンとアベイラビリティゾーン(2025年10月現在)
それでは、具体的なデータソースの設定方法を見ていきましょう。
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種類から選択が可能です。
|
| Data source location | データソースとなるS3バケットの所有者によって以下2つから選択します。
|
| Enter the data source location | 「s3://バケット名」の形式でデータソースとなるS3バケット名を入力します。 ※S3バケットが自分自身のアカウントである場合は「Browse S3」にてS3バケットの一覧から選択できます。 |
| Maximum single file size | 1ファイルの最大サイズを指定します。
|
| Multi-media content configuration - optional ・Advanced indexing |
画像や音声、映像を扱えるようにする追加機能の設定が可能です。 以下の3項目それぞれ有効化有無を選択できます。
|
| Sync mode | Syncのモードについて、以下2つから選択します。
|
| Sync run schedule | 同期の頻度を以下の6パターンから選択します。
|
| Configure VPC and security group | デフォルトは「No VPC」ですが、VPCに接続する場合は以下の設定値を入力します。
|
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|
|
S3をデータソースとして設定する際、ユーザーやグループごとにアクセスできるドキュメントに制限をかけたいという要件が出てきます。
その場合、アクセス制御の内容を記載したjsonファイルを配置し、データソースの設定内でアクセスコントロールリスト(ACL)として指定することで、ユーザーごとに検索・参照できる情報の範囲を細かく制御することが可能になります。
ACLファイルはjson形式で、以下4つの要素について記載します。
■記載例:test-bucket配下に存在するtestファイルに対してACL設定する場合
{
"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に集約・連携させることで、社内ナレッジ検索基盤をすぐに構築できますね。
身近なドキュメントから、ぜひお試しください!
■本記事の内容について
本記事に記載されている製品およびサービス、定義及び条件は、特段の記載のない限り本記事執筆時点のものであり、予告なく変更になる可能性があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
この記事では「Amazon Q Developer」の使い方(VSCodeにインストールして利用する方法)をご紹介します
この記事ではAmazon Q BusinessのAgentic RAG機能の概要と実際の検証結果をご紹介します。
この記事では「Amazon Q Business」の匿名ユーザーアクセスを試す方法をご紹介します