Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【OpsJAWS】DB系アップデートとAuroraサービスの紹介【re:Invent 2024...

moko-poi
December 11, 2024
200

【OpsJAWS】DB系アップデートとAuroraサービスの紹介【re:Invent 2024 振り返り】

OpsJAWS Meetup32 re:Invent 2024 Ops系アップデート振り返り
「DB系アップデートとAuroraサービスの紹介」

moko-poi

December 11, 2024
Tweet

Transcript

  1. 話すこと Provisioned Aurora Aurora Serverless v2 ACU 0 対応 Amazon

    Aurora PostgreSQL Limitless Database Amazon Aurora DSQL ※ 時間の都合上要点に絞ってお話しさせていただきます 3
  2. Aurora とは? コンピュートとストレージが分離 ストレージはマルチAZ 対応 各AZ に2 つずつストレージのコピーが配置される MySQL, PostgreSQL

    互換 手動でインスタンスタイプの変更 再起動が伴うため、ダウンタイムを伴う キャパシティプランニングが難しい... ※ リーダーインスタンスの自動スケールアウトは対応 https://pages.awscloud.com/rs/112-TZM-766/images/2022_0608-DAT_Slide-Deck.pdf 5
  3. Aurora Serverless v2 最小0.5ACU から最大128ACU まで、スケールアップ/ ダウンが可能 CPU, Memory, Network

    の使用量に応じてスケールアップ/ スケールダウンが自動で行われる 手動スケールやダウンタイムが不要 クエリやコネクションを維持 スケーリング中でもアクティブなクエリやコネクションが切断されないため、可用性が高い ※ 1 ACU = 2 GiB 6
  4. 最新情報 最大256ACU に対応 https://aws.amazon.com/jp/about-aws/whats-new/2024/10/amazon-aurora-serverless-v2-256-acus/ 東京/ 大阪リージョン価格が25%OFF https://x.com/con_mame/status/1861558345217515620 ACU 0 対応

    https://aws.amazon.com/jp/blogs/database/introducing-scaling-to-0-capacity-with-amazon-aurora-serverless- v2/ ※ LTS バージョンに対応していなかったりするので、そこは注意が必要 7
  5. 一時停止される条件 非アクティブ期間が指定時間を超えると一時停止がトリガーされる 5 分 ~ 24 時間 で指定可能 一時停止するとステータスは「Available 」として表示

    一時停止されないケース コネクションプールが維持されている場合 アプリケーションからの接続が断続的に発生する。 RDS Proxy や論理レプリケーションを使用している場合 常にバックグラウンドで接続が存在し、非アクティブ状態とみなされない Aurora グローバルデータベースの一部構成 プライマリクラスター, セカンダリクラスター https://aws.amazon.com/jp/blogs/database/introducing-scaling-to-0-capacity-with-amazon-aurora-serverless-v2/ 10
  6. Distributed Transaction Routers クライアントの SQL 接続を管理 SQL コマンドを適切なシャードにルーティング 結果をクライアントに返す役割を担う トランザクションの一貫性を維持

    分散環境でも整合性を確保 Data Access Shards データの保存とクエリの実行を担当 テーブルの分割やシャーディングキーによる分散処理 シャード間でデータの完全性を維持 -> 各シャードは、分割されたデータの特定の部分を担当し、独自のインスタンスとして動作します。 15
  7. 書き込みフロー: i. Distributed Transaction Router (DTR): クライアントからの書き込みリクエストを受信。 トランザクションを解析し、適切なシャードにルーティング。 必要に応じて、分散トランザクションを管理。 ii.

    Data Access Shards: 各シャードがデータを受け取り、内部ストレージに書き込み。 シャード間の整合性を維持するため、2 フェーズコミットなどのプロトコルを使用。 iii. Storage Layer: 各シャードのデータは、Aurora の分散ストレージに保存され、マルチAZ 間で同期的にレプリケー ト。 17
  8. 読み取りフロー: i. Distributed Transaction Router (DTR): クライアントからのクエリを受信し、解析。 クエリに関連するシャードを特定し、リクエストをルーティング。 ii. Data

    Access Shards: 該当シャードがデータを取得。 必要に応じて、複数シャードからデータを集約。 iii. DTR: 集約したデータをクライアントに返送。 18
  9. アーキテクチャ 1. Compute Layer トランザクション処理を担当(Firecracker MicroVM 上で動作) アジュディケーターがOCC を使用し、トランザクションの競合を検出・解決 動的スケールアウトで効率的なクエリ処理を実現

    2. Transaction Log Layer ジャーナルでトランザクションを記録し、AZ 間でリアルタイムに複製 一貫性と耐久性を保証 3. Storage Layer MVCC で複数バージョンのデータを保持 データ集計やフィルタリングをストレージ側で処理し、遅延を最小化 ※ MVCC: マルチバージョン同時実行制御 22
  10. まとめ Aurora Serverless v2 ACU 0 対応でコスト効率を最大化 最大256ACU に対応し、さらなるスケーラビリティを実現 Aurora

    PostgreSQL Limitless Database 高負荷なライティングワークロードにも対応可能なシャーディングレス設計 Aurora DSQL サーバレス分散SQL で高可用性(99.999% )と強いデータ整合性を提供 運用負荷を軽減し、グローバルアプリケーションに最適 27
  11. 参考資料 Aurora Serverless v2 https://pages.awscloud.com/rs/112-TZM-766/images/2022_0608-DAT_Slide-Deck.pdf https://aws.amazon.com/jp/blogs/aws/amazon-aurora-serverless-v2-is-generally-available-instant-scaling-for- demanding-workloads/ https://www.youtube.com/live/b2Tl6SsWC-M?si=hdFAeJEJ06AiCRmy https://aws.amazon.com/jp/blogs/database/introducing-scaling-to-0-capacity-with-amazon-aurora-serverless- v2/

    Amazon Aurora PostgreSQL Limitless Database https://aws.amazon.com/jp/blogs/news/amazon-aurora-postgresql-limitless-database-is-now-generally- available/ https://www.youtube.com/watch?v=a9FfjuVJ9d8 https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/limitless.html 28