Aurora DSQLが発表されたので早速試してみる!

こんにちは、AWS re:Invent 2024 現地参加中の森井です。 本日、Matt GarmanのKeynoteにてAmazon Aurora DSQLが発表されました。

Introducing Amazon Aurora DSQL | AWS Database Blog

個人的にはここ数年で一番アツいアップデートだったので、ホテルに帰って早速試してみました。

Aurora DSQLとは?

Aurora DSQLは、下記の特性を持ったSQLサービスです。

  • 事実上無限のスケーラビリティ
  • インフラ管理必要なし
  • 99.999%のマルチリージョン可用性
  • 強い整合性
  • PostgreSQL互換

Keynoteでの発表内容はPublickeyさんの記事が読みやすいのでこちらをご参照ください。

www.publickey1.jp

Aurora DSQLを試す

クラスターの作成

ドキュメントに開始方法が記載されていましたので、こちらを参考に試していきます。

  • マネジメントコンソールにログインします
  • コンソールの右上のボタンからリージョンを選択します。リリース時点では、バージニア北部、オハイオ、オレゴンリージョンのみがサポートされています*1 (私はバージニア北部リージョンを選択しました)
  • Aurora DSQLのコンソールを開き「Create Cluster」を押します

  • デフォルト値のまま「Create Cluster」を押します

  • 1分ほど待つと、クラスターの作成に成功しました

IAM認証で接続する

  • クラスターを選択し、「Connect」を押します

  • エンドポイントの値と認証トークンをメモしておきます

  • 上部のアイコンからCloudShellを起動します

  • CloudShellで下記のコマンドを実行すると、認証トークンを聞かれるので入力します
PGSSLMODE=require \
 psql --dbname postgres \
--username admin \
--host (先程の手順でメモしたエンドポイント)
  • Enterを押して、postgres=>と表示されたら成功です

SQLを実行する

公式ドキュメントではサンプルのデータセットとしてaws-samples/aurora-dsql-samplesがリンクされていましたが、404エラーで閲覧できませんでした。

おそらくはリリース直後ということで、まだPublicに変更していないのだろうと思います。

今回は代わりにneondatabase-labs/postgres-sample-dbsを使用します。

  • 下記のSQLをペーストしてEnterを押します
CREATE SCHEMA periodic_table;

  • 対話式セッションから抜け、dumpファイルをダウンロードします
wget https://raw.githubusercontent.com/neondatabase/postgres-sample-dbs/main/periodic_table.sql
  • ダンプファイルをロードします

※ Passwordを入力を求められますが、先程の手順でメモした認証トークンは有効期限が切れている可能性があります。Access Diniedが表示された場合は、もう一度「Connect」を押して認証トークンを再生成してください。

PGSSLMODE=require \
 psql --dbname postgres \
--username admin \
-f periodic_table.sql \
--host (先程の手順でメモしたエンドポイント)

※ エラーが表示されていますが、気にしなくて大丈夫です。

  • もう一度対話式セッションを開きます
PGSSLMODE=require \
 psql --dbname postgres \
--username admin \
--host (先程の手順でメモしたエンドポイント)
  • SQLを実行します
SELECT "AtomicNumber", "Element", "Symbol" FROM periodic_table ORDER BY "AtomicNumber" DESC LIMIT 20;

結果が取得できたら成功です

まとめ

今回はAurora DSQLを作成してSQLの実行まで試してみました。 流石はサーバーレスサービス、とても簡単に作成することができて驚きです。
Aurora DSQLについて深掘りしたブログも執筆予定ですので、お楽しみに。