Amazon Redshift Serverless とは
Amazon Redshiftとは、AWS が提供するマネージドなデータウェアハウスサービスです。データベース内の構造化データや Amazon S3 内の半構造化データなどを高速に分析することができます。Amazon Redshift Serverless とは、2021 年 11 月 30 日(米国時間)に発表された比較的新しいサービスで、その名の通り、Redshift をサーバーレスで利用することができるサービスです。クラスターのセットアップ・管理が不要であり、使った分だけの秒単位課金という特徴があります。
料金
Redshift Serverless はデータウェアハウスがアクティブなときに消費するコンピューティング性能に対してのみ課金されます。分析負荷に合わせて自動的にスケーリングし、非アクティブ時はシャットダウンされます。Redshift はデータウェアハウスの容量(コンピューティング性能)を Redshift Processing Unit (RPU) で測定し、RPU 時間のワークロードに対して秒単位(60 秒の最低料金)で課金されます。RPU は最小 32,最大 512 から選択可能で、デフォルトは 128 です。
例えば、東京リージョン、128RPU で、10 分のクエリ時間を要する場合、600秒(10分)× 128RPU × $0.7(東京リージョンの1RPU時間あたり料金)/ 3,600秒(1時間)= $14.9
になります。
Redshift Serverless を初めて利用する場合は$500 のクレジットが与えられます。
使い方
事前準備
Redshift Serverless を利用するには、VPC とサブネット3つ、セキュリティグループが必要なので、まずはこれらを作成します。例として以下に Terraform のコードを紹介します。
Redshift の作成
環境構築が完了したら、AWS コンソールで「Amazon Redshift」へ移り、「Serverless dashboard」へ移ります。そして「Create workgroup」をクリックすると以下の画面に移ります。

以下のように入力していきます。なお、VPC、サブネット、セキュリティグループは先ほど作成したものを使用します。入力が完了したら「Next」ボタンをクリックします。

Namespace、データベースの入力をします。データベースについては、今回は「Customize admin user credentials」にチェックを入れ、「Admin user name」と「Admin user password」を入力します。そのほかは特に設定せずに「Next」ボタンをクリックします。そして内容を確認して「Create」ボタンをクリックします。

Redshift を使ってみる
demo-namespace に demo-workgroup が作成されています。画面右上の「Query data」をクリックします。

以下のような画面に遷移します。まだデータベースと接続されていない状態なのでこれから接続していきます。

「Serverless
」を右クリックして、「Edit connection」を選択します。

ユーザ名、パスワードを入力して「Save」ボタンをクリックします。

データベースと接続されました。「sample_data_dev」は Redshift が用意しているサンプルデータです。試しにこのサープルデータにクエリを投げてみます。

「tickit」の右の方にあるアイコンをクリックしてサンプルデータベースを作成します。

SELECT * FROM tickit.users LIMIT 10;
クエリを実行すると結果が帰ってきました。

参考

備考
Hakky ではデータ基盤の構築を行うエンジニアを募集中です!まずは話してみたいなどでも構いませんので、ぜひお気軽に採用ページからお問い合わせくださいませ。
