AWSサービスとの統合
続いて、AWSサービスとの統合について紹介します。
AWS PrivateLinkの利用が可能
Aurora DSQLはVPCに所属しないサービスのため、プレビュー版の時点では、インターネット経由でパブリックエンドポイントへ接続する必要がありました。GAに伴いAWS PrivateLinkに対応したことで、VPC内のEC2インスタンスやLambda関数といったAWSリソースから、セキュアなプライベートネットワークを経由してAurora DSQLへ接続できるようになりました。これにより、機微なデータを扱うシステムでも、通信経路をインターネットに公開することなく安全にデータベースを利用できます。

本機能を利用するためには、AWS社の公式ドキュメントの手順にしたがって、VPCエンドポイントの作成を行う必要があります。設定に当たっての注意点として、VPCエンドポイントの作成は本稿執筆時点(2025年6月)でマネジメントコンソールでは、サブネットの選択ができないため、サブネットへ紐づけることができない仕様になっています。VPCエンドポイント自体の作成は可能なのですが、VPCエンドポイントを介した通信は筆者の環境では実現できませんでした。そのため公式ドキュメントの手順の通り、AWS CLIにてVPCエンドポイント作成を行ってください。
VPCエンドポイントの作成が完了すれば、Aurora DSQLのPrivate LinkタブでプライベートDNSエンドポイントが表示されます。

それでは本当にプライベートDNSエンドポイント経由でのAurora DSQLへの接続ができるか確認してみます。パブリックサブネットが存在しないVPCを用意し、CloudShellのVPC Environment機能を利用して、プライベートサブネット内からの操作を試みます。
先ほど紹介した公式ドキュメント内にPrivateLinkを介したAurora DSQLへの接続方式はありますので、そちらでの接続でもかまいませんが、今回はpsqlコマンドを1から入力してみます。
まずCloudShellで以下のコマンドを入力します。するとadminのパスワード入力を求められます。
psql -h Aurora DSQLのプライベートDNSエンドポイント -d postgres -U admin

ここで、Aurora DSQLで「トークンを取得」メニューをクリックし、「管理者として接続」が選択されていることを確認し、トークンをコピーします。


トークンをパスワードとして入力することで、adminとしてログインできます。

なお、インターネットへの接続経路のないプライベートサブネットからは、パブリックエンドポイントには接続が不可ですが、VPC外からの実行などでインターネットへの接続可能な場合はパブリックエンドポイント経由での接続が可能です。

また本稿執筆時点(2025年6月)でパブリックエンドポイントを無効化することはできません。パブリックからの接続を遮断する(または、許可しない)という要件を求められるケースでは、まだ利用しにくい場合もあるかと思います。パブリックエンドポイントを無効化したクラスタの作成が可能になるような今後のアップデートが期待されます。
MCPサーバー対応によるAmazon Q Developerとの連携
Aurora DSQLは、GAのタイミングでModel Context Protocol(MCP)サーバーの機能を提供開始しました。MCPとは、Amazon Qのような生成AIサービスが、Aurora DSQLのような外部のデータソースと対話するための標準的なプロトコル(通信規約)です。
この仕組みにより、CLIベースのAIエージェントであるAmazon Q Developer CLIがAurora DSQLのテーブル構造やデータを理解し、自然言語での対話が可能になります。例えば、「昨日の売上トップ10の製品を教えて」といった指示でSQLを自動生成し、実行させるといったことが実現できます。実際に試してみましょう。
まずはAmazon Q Developer CLIを公式ドキュメントの手順に従い、インストールします。続いて、高速なPythonパッケージインストーラーであるuvおよびPythonをインストールします。詳細な手順は前回の記事を参照ください。
下記のmcp.jsonを用意します。「--profile」オプションで指定するプロファイルはAmazonAuroraDSQLFullAccessなどのAurora DSQLの操作権限があるIAMポリシーが付与されていることを確認してください。もしEC2のインスタンスプロファイルの権限で実行したい場合は、「--profile」オプションは不要です。
{ "mcpServers": { "awslabs.aurora-dsql-mcp-server": { "command": "uvx", "args": [ "awslabs.aurora-dsql-mcp-server@latest", "--cluster_endpoint", "Aurora DSQLのパブリックエンドポイント", "--region", "Aurora DSQLのリージョン", "--database_user", "データベースユーザー(管理者の場合はadmin)", "--profile", "default" ], "env": { "FASTMCP_LOG_LEVEL": "ERROR" }, "disabled": false, "autoApprove": [] } } }
それでは以下コマンドを実行し、Amazon Q Developerを起動します。
q chat
適切にmcp.jsonの設定がされていれば以下のように表示されます。

では、実際に問い合わせしてみましょう。事前にAurora DSQLには、こちらのページを参考にサンプルデータを挿入しておきます。
「データを表示して」と日本語で簡単な指示を出すと、以下のようにSQL文が発行され、テーブル内のデータが表示されました。Aurora DSQL用のMCPサーバーである「awslabsaurora_dsql_mcp_server」を利用していることもわかります。クエリ実行前に確認が求められることも見て取れるかと思います。

まとめ
今回は、Amazon Aurora DSQLがGAされたことを受け、プレビュー版からのアップデートを紹介しました。
Aurora DSQLは、マルチリージョンでの書き込み性能が大きな特徴です。このため、グローバルに展開するECサイトの在庫・注文システムなど、地理的に分散したユーザーからの低遅延での読み書きが求められるアプリケーションに適していると言えます。
GAに伴い、AWS PrivateLinkやAmazon Q Developerとの統合も進み、セキュリティと開発者体験の両面で大きく進化しました。より使いやすくなったAurora DSQLを、ぜひご自身のシステムで活用してみてください。
本記事が今後のAWS活用のお役に立てば幸いです。