こんにちは、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さんの記事が読みやすいのでこちらをご参照ください。
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について深掘りしたブログも執筆予定ですので、お楽しみに。