Slide 1

Slide 1 text

Amazon Aurora Serverless v2が意外と ⾼かった話と、 AWS Database Migration Serviceの話 2024.05.09 SATOSHI KANEYASU

Slide 2

Slide 2 text

⾃⼰紹介 ⽒名︓兼安 聡 職種︓クラウドエンジニア 最近のお仕事︓DevOpsの推進 趣味︓サックス、筋トレ、CS ゲーム 資格︓ X(Twitter)︓@satoshi256kbyte

Slide 3

Slide 3 text

お伝えしたいこと • Amazon Aurora Serverless v2は意図せず⾼額になりうる。 • DBは後から種類の移⾏をカバーする 設定変更機能やAWS DMSというサービスが存在するというこ と。

Slide 4

Slide 4 text

Amazon Aurora Serverless v2とは Aurora Serverless v2 は、Amazon Aurora ⽤のオンデマンドの オートスケーリング設定です。Aurora Serverless v2 によって、 ワークロードをモニタリングし、データベースの容量を調整するプ ロセスを⾃動化しやすくなります。容量は、アプリケーションの需 要に応じて⾃動的に調整されます。DB クラスターが消費するリ ソースに対してのみ課⾦されます。 引⽤ https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora- serverless-v2.html

Slide 5

Slide 5 text

Amazon Aurora Serverless v2は ACUという単位で性能が増減し、 それに応じて料⾦が増減します。 最⼩0.5ACU、最⼤128ACUのような設定ができま す。

Slide 6

Slide 6 text

構成図 AWS Lambda AWS App Runner Amazon Aurora Serverless v2 Amazon RDS Proxy (コネクションプーリング)

Slide 7

Slide 7 text

全然動かしてないのに結構⾼コスト 5⽉頭からGW前半時点

Slide 8

Slide 8 text

RDS Proxyの数字が気になる この2つは基本セットなのにACU-Hrに 開きがあるのはなぜ︖

Slide 9

Slide 9 text

公式サイトを確認 Amazon RDS Proxyの料⾦ https://aws.amazon.com/jp/rds/proxy/pricing/?nc=sn&loc=3 料⾦ 最低料⾦ Aurora Severless v2 0.025USD/ACU-時間 8 ACU プロビジョニングインスタンス 0.018US/vCPU-時間 2個の vCPU

Slide 10

Slide 10 text

公式サイトを確認 Amazon RDS Proxyの料⾦ https://aws.amazon.com/jp/rds/proxy/pricing/?nc=sn&loc=3 料⾦ 最低料⾦ Aurora Severless v2 0.025USD/ACU-時間 8 ACU プロビジョニングインスタンス 0.018US/vCPU-時間 2個の vCPU Aurora Serverless v2そのものはアクセスがなければACUは1とか0.5になるが、 RDS Proxyの料⾦は絶対に8 ACUかかる模様。 しかも停⽌という概念がないので、1ヶ⽉これぐらいは絶対にかかる。 0.025×8×24×30=144$>約21,600円(1$150円換算)

Slide 11

Slide 11 text

利⽤者が増えるまでは通常のAuroraの⽅が コスト効率は良いと思います Amazon Aurora Amazon Aurora Serverless v2 この変更はマネジメントコンソールで 設定を変更するだけの話 (ダウンタイムの考慮は必要)

Slide 12

Slide 12 text

ここで思い出す。 現実的には「Aurora⾃体が⾼い」と ⾔われることもあるので、RDSを使うことも ありそう。 開発時は特にそう。

Slide 13

Slide 13 text

本番はAuroraだけど開発の初期はRDSという 状況はあり得る Amazon Aurora Amazon Aurora Serverless v2 この場合、RDSからのAuroraへの変更は、 画⾯で設定変更だけとはいかない Amazon RDS (MySQL)

Slide 14

Slide 14 text

RDSからAuroraの移⾏は 以前はエクスポート・インポートで やっていました。 でも今回は AWS Database Migration Servic(DMS) でやってみます

Slide 15

Slide 15 text

AWS DMSとは • データ移⾏サービスです。 • 本当はオンプレミスからAWSへの移⾏などに使われますが、 RDS→Auroraにも使えます。

Slide 16

Slide 16 text

AWS DMSの⼤まかな⼿順 • Auroraは先に作っておく • レプリケーションインスタンスの作成 • レプリケーションインスタンス=データ移⾏処理を実⾏するインスタンスです • ソースエンドポイントを作成(RDSを指定) • ターゲットエンドポイントを作成(Auroraを指定) • データベース移⾏タスクを作成して実⾏

Slide 17

Slide 17 text

レプリケーションインスタンスと 2つのエンドポイントの経路 Virtual private cloud (VPC) Private subnet Private subnet Security group Security group Security group Amazon RDS (MySQL) Amazon Aurora AWS DMS レプリケーション インスタンス ソースエンドポイント ターゲットエンドポイント DB側のセキュリティグループは、 レプリケーションインスタンスが 属すセキュリティグループの3306 の通信を許可 レプリケーションインスタンスは、 DBと通信可能なサブネットに配置 セキュリティグループも設定する

Slide 18

Slide 18 text

[参考]レプリケーションインスタンスの設定 この画⾯は新規作成後の編集画⾯です。 サブネットの設定は新規作成時にしかできません。

Slide 19

Slide 19 text

[参考]レプリケーションインスタンスのセキュ リティグループ 今回のケースの場合、 インバウンドは何もいらないです。

Slide 20

Slide 20 text

[参考]エンドポイントの設定 DBのエンドポイントのユーザ名・パスワードを設定して おきます。

Slide 21

Slide 21 text

[参考]データベース移⾏タスク ここまでで作ったインスタンスと各エンドポイントを指定してタスクを実⾏します。 移⾏対象はスキーマ単位・テーブル単位で絞ることができます。

Slide 22

Slide 22 text

まとめ • Amazon Aurora Serverless v2を使うと何もしなくても RDS Proxyにより⾼額になりうる。 • AWS DMSや設定変更でカバーすることができるので、 状況に応じたDB選定しても⼤丈夫だということを覚えておいて ほしい。 • AWS DMSの落とし⽳があればまた共有します。

Slide 23

Slide 23 text

ありがとうございました。