【New!】Amazon Aurora MySQLがRDS Data APIをサポートしました!
こんにちは。まるとです。
現地時間 2024/9/26、Amazon Aurora MySQLでもRDS Data APIをサポートするアナウンスがありました!
従来は、Amazon Aurora PostgreSQLのみのサポートとなっておりましたが、今回新たにAmazon Aurora MySQLでもサポートしたことにより、更にDBエンジンの選択肢が増えるのではないでしょうか。
そもそも、RDS Data APIって何?何がすごいの?と感じる方もいらっしゃるかもしれません。
そこで、改めてRDS Data APIを整理し、実際に触っていきたいと思います。
RDS Data APIとは
一言でお伝えすると、APIを通してSQLステートメントを実行できるものです。
特徴としては以下のようなものが挙げられます。
- DBクラスターへの永続的な接続が不要(接続を管理する必要がない)
- HTTPSエンドポイントやAWS SDKとの統合が可能(Webアプリや他のAWSサービスなどとの統合が可能)
- AWS Secrets Managerに保存された認証情報を使用するため、APIにデータベース認証情報を渡す必要がない
データベースへのアクセスの際、通常はコネクションの管理(接続のプールや破棄など)や認証情報の管理を行う必要がありますが、RDS Data APIの場合これらはAWS側で管理、もしくは限りなく最小限の管理コストでデータベースへのアクセスが実現できます。
やってみよう
RDS Data APIを使用するには、データベース作成時に「RDS Data APIの有効化」または、既存のデータベースを選択し「アクション」から「RDS Data API」を選択することで有効化できます。
RDS Data APIを有効にしたら、Amazon RDSのコンソール上からクエリエディタを使用することで気軽にRDS Data APIを試すことができます。
※クエリエディタはRDS Data APIを使用してします。
サイドバー上にある「クエリエディタ」を選択し、必要事項を入力後「データベースに接続します」を押下することで、クエリエディタを利用できます。
それでは早速テーブルを作成、テストデータの挿入、SELECTをしてみましょう!
クエリは生成AIを使用して作成しましたが、実行前に必ず内容を確認するようにしてください。
-- testTableという名前のテーブルを作成
CREATE TABLE testTable (
uid INT, -- uidカラムは整数型
name VARCHAR(255) -- nameカラムは可変長文字列型(最大255文字)
);
-- testTableにランダムなデータを10件挿入
INSERT INTO testTable (uid, name)
SELECT
FLOOR(RAND() * 1000) AS uid, -- 0から999のランダムな整数
CONCAT('Name_', FLOOR(RAND() * 10000)) AS name -- 'Name_'に続くランダムな数値を持つ文字列
FROM
(SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5) AS t
LIMIT 10; -- 10件のデータを生成
-- testTableから全てのレコードを選択
SELECT * FROM testTable;
上記のクエリを実行すると、結果セットとして画像のように表形式で出力されます!
ブラウザ上で実行できるので各種クライアントを用意せず気軽にクエリを実行できるのは良いですね。
終わりに
Amazon Aurora MySQLでもRDS Data APIをサポートしたため、改めて今回触ってみましたが、かなり手軽に利用することができました。
HTTPSエンドポイントやAWS SDKで手軽に実行できるので、アプリケーションとの統合も簡単になり非常に良いのではないでしょうか。
ちなみにRDS Data APIですが、APIのコール数による課金となりますので、使った分だけ料金をお支払いするという形になります。
詳しくは以下のページをご確認ください。
そのため、スモールスタートにも優しくなっております。
皆様もぜひRDS Data APIを用いて開発に集中してみるのはいかがでしょうか。
今回の記事は以上となります。お読みいただきありがとうございました。