セッション情報

  • タイトル(英題):Build scalable and cost-optimized apps with Amazon Aurora Serverless [DAT316]
  • スピーカー:Nitesh Mehta(AWS), Anum Jang Sher(Amazon)
  • セッションタイプ:ブレークアウトセッション(プレゼンスタイルのセッション)
  • レベル:300(Advanced)

セッション概要

公式セッションカタログから抜粋(翻訳ツールで日本語に翻訳)

Amazon Aurora Serverless は、データベース管理におけるパラダイムシフトを表し、アプリケーションの需要に基づいてコンピューティングとメモリのリソースをシームレスに拡張するサーバーレスアーキテクチャを提供します。このセッションでは、Amazon Aurora Serverless v2 アーキテクチャ、新しいイノベーション、および Aurora のオンデマンド自動スケーリング構成を使用してスケーラブルでコストが最適化されたアプリケーションを構築するためのベストプラクティスについて詳しく説明します。

セッション内容

Aurora Provisioned のデメリット

  • キャパシティ管理が大変
  • アプリのパフォーマンス維持のためオーバースペックになる


Aurora Serverless v2のメリット

  • オンデマンドで自動にスケールするためキャパシティ管理が不要
  • 秒単位のpay-per-useで請求がシンプル
  • provisionedからserverlessのスイッチが簡単
  • インプレイスかつ無停止、即時かつ細やかなスケーリング
  • Redshift Serverlessとzero-ETL連携(ETLパイプラインの作成が不要)
  • DATA APIが可能 ※新機能

キャパシティ計測のメカニズム

  • ACU単位で計測される(1ACUは2GBメモリ)
  • CPUとネットワークはprovisionedインスタンスと同様
  • CPU、メモリ、ネットワークスループットのいずれかが許容値
  • 停止中インスタンスでもバッファプール(データのキャッシュ)やコネクションはバックグラウンドで稼働しているので問題ない
  • インスタンスサイズが大きいほどスケール速度も早くなる

自動キャパシティの設定値

  • 最小と最大のキャパシティを設定できる(最大設定は予期せぬオーバースケーリング対策になる)
  • 0.5 ACU単位でスケールされる
  • 最小キャパシティとして0を設定できるのでコスト削減に繋がる(0→1は最大15秒) ※新機能

モニタリング方法

  • CloudWatchメトリクスのACUs、CPU使用率、空きメモリ容量
  • Performance Insightsを有効化しCPUの予測値なども使用する

構成について

  • provisionedとserverlessのミックスによるマルチAZ構成が可能(ライターとリーダーは問わない)
  • グローバルDBでも1秒以下の底レイテンシーのリーダインスタンススケール、1分以下のFailover

課金について

  • ストレージやI/Oは固定で発生しインスタンスはスケールに応じて課金される
  • I/0が25%以上消費している場合はIO-optimizedモードが有効
  • provisionedとserverlessのシフトはfailoverやコマンド実行で簡単に可能

まとめ

Aurora サーバーレスの細かい機能まで学ぶことができました。機能がどんどん強化されているので
過去にserverlessを検討したprovisionedインスタンスも
新機能と現在の使用状況をモニタリングして照らし合わして再検討する価値があると感じました。

後記

初めてMandalay Bayに行きました。会場のホテルの中で一番構造がわかりにくかったですw
しかしお昼ご飯は今のところ一番美味しかったです!