はじめに
Redshift Serverlessを調査/検証する機会がありましたので、結果をまとめてみました。
機能の概要や構成、Redshift ProvisionedやAthenaなどの類似サービスとの違いについてもまとめておりますので、ご一読いただけますと幸いです。
目次
Redshift Serverlessとは
フルマネージド型データウェアハウスサービスのRedshiftのサーバレスサービスです。
サーバレスによってRedshiftのノード部分のキャパシティプランニングが不要となり、分析のためのクエリ実行時に自動でプロビジョニング・スケールしてくれます。
プロビジョニングされたデータウェアハウスでサポートされている機能のほとんどはサーバーレスでもサポートされています。
従来のRedshift ProvisionedとRedshift Serverlessを図解します。
Redshift Provisioned
Redshift Serverless
こちらは従来のノード部分を意識することなく利用することができます。
以下は代表的な機能です。
Redshift Spectrum
Amazon Redshift テーブルにデータをロードすることなく、Amazon S3 のファイルからデータを取得できます。
Redshift ServerlessにはRedshift Spectrumの料金が含まれているため個別に料金を支払う必要はありません。
Federated Query
Amazon Redshift テーブルにデータをロードすることなく、外部データベースからデータを取得できます。
下記の外部データベースと連携することができます。
- Amazon RDS for PostgreSQL
- Amazon Aurora PostgreSQL 互換エディション
- Amazon RDS for MySQL
- Amazon Aurora MySQL 互換エディション
構成例
Redshift ServerlessはVPC内3つのサブネットに配置する必要があります。
Redshift Serverlessテーブルにデータをロードしてデータ分析などを行う場合は下図が代表的な構成になります。
なお、前述したRedshift Spectrumや、Federated Queryを利用する場合は下図が代表的な構成になります。
Amazon Redshiftテーブルにデータをロードすることはありませんが、スキーマ定義をAWS Glueに作成する必要があります。
AWS Glueを介することにより、Amazon Redshiftテーブルに実データを持つことなくデータの取得が可能になります。
また、SDKを使用したData APIによるRedshift Serverlessへのアクセスも可能です。
下図の通りLambdaからクエリを実行するバックエンド構成も可能です。
導入手順
基本的にはマネジメントコンソールにて設定内容を入力するだけで構築が出来ます。
しかし1点だけ、RPU(Redshift処理ユニット)の値に注意が必要です。
この値は増やすほどクエリのパフォーマンスが向上します。
Redshift Serverlessはクエリ実行時間のみの課金になりますので、パフォーマンス向上により実行時間が短くなると利用料金を削減できる可能性があります。
参考) RPUの料金
Amazon Redshift の料金
USD 0.494 (1 RPU 時間あたり)
(2024年11月時点)
例1) 8RPUで4時間かかる場合
0.494 * 8 * 4 = 15.808 USD
例2) 16RPUで1時間かかる場合
0.494 * 16 * 1 = 7.904 USD
→ 実行時間の短縮により料金が削減した
例3) 16RPUで4時間かかる場合
0.494 * 16 * 4 = 31.616 USD
→ 実行時間が変わらずRPUが増えた分、料金が増加した
→ この場合はRPUの値を増やさない方がよい
類似サービスとの違いについて
料金体系
- Athena
- スキャンデータ量
- Amazon Athena の料金
- Redshift Provisioned
- クラスター稼働時間に応じた課金
- Redshift Spectrumはスキャンデータ量に応じて別建てで請求される
- Redshift Serverless
- RPUに応じたワークロード実行時間
- クエリを実行しないアイドル時間は課金されない
特徴
- Athena
- 手軽にS3データのクエリを実行したい場合に適している
- Redshiftだと3つのAZ/Subnetに配置する必要がある
- スキャンするデータ量が少ない場合に適している
- 手軽にS3データのクエリを実行したい場合に適している
- Redshift Provisioned
- 絶え間のないワークロードに適している(24/365など)
- 高負荷の予測が可能な場合に適している
- Redshift Serverless
- コスト最適化に適している
注意点
サービスクォータは下記公式ドキュメントに記載されています。
Amazon Redshift のクォータと制限
VPCエンドポイントについて
Redshift Serverlessをデプロイするとリクエスタマネージド型VPCエンドポイントが自動的に作成されます。
リクエスタマネージド型のネットワークインターフェイス
インターフェイスエンドポイントの料金が加算されますので、Redshift Serverless料金試算の際にはご注意ください。
AWS PrivateLink の料金
まとめ
Redshift Serverlessは従来のProvisionedよりも手軽さや料金面で優れています。
しかし、要件や機能においてAthenaで十分な場合や、Provisionedを選択すべき場面があります。
Redshift Serverlessのみにとらわれずに、適切なサービスの選定が大切です。
下記のリンクはRedshiftのBlack Belt資料になります。
サービスの使い分けや、選定フローが記載されております。
Amazon Redshift 運用管理 AWS Black Belt Online Seminar
投稿者プロフィール
-
2021年4月からスカイアーチに中途入社しました。
AWSともっと仲良くなるべく日々勉強中です。
最新の投稿
- AWS2024年11月13日Amazon Redshift Serverlessについてまとめてみました
- AWS2024年1月9日LambdaでX-Rayトレースが出てこない? ~パッシブ計測にお気を付けください~
- MySQL2024年1月9日SQLAlchemyで生SQLを発行して大量データの取得を高速化してみた
- MySQL2024年1月9日SQLAlchemyのINSERTを高速化してみた