Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
第144回 雲勉 Amazon Aurora Serverless v2の基礎とアーキの裏側を...
Search
iret.kumoben
September 12, 2024
Technology
0
32
第144回 雲勉 Amazon Aurora Serverless v2の基礎とアーキの裏側を覗いてみる
以下、勉強会での資料です。
https://youtu.be/LyazDzhTgsg
iret.kumoben
September 12, 2024
Tweet
Share
More Decks by iret.kumoben
See All by iret.kumoben
第145回 雲勉 Amazon ECSでサービス間通信する方法を調べてみよう
iret
0
31
第143回 雲勉 [New Relic]インフラストラクチャ監視と気をつけたいポイント
iret
0
33
第142回 雲勉 AWS Backupの復元テストで自動化できること・できないこと
iret
0
77
第141回 雲勉 Amazon Inspectorによる脆弱性管理~ECR コンテナイメージ編~
iret
0
88
第2回 雲勉LT大会 パブリッククラウドのサーバレスサービスの違いを調べてみた
iret
0
21
第2回 雲勉LT大会 AWS Control Tower の「コントロール」って何? という謎から AWS Control Tower を知る
iret
0
20
第2回 雲勉LT大会 AWS/Google Cloud/Wasabi ストレージサービスを比較したい
iret
0
33
第2回 雲勉LT大会 クラウド時代は CRUD ではなく CQRS で考えよう
iret
0
38
第2回 雲勉LT大会 コスト最適化のサイクルを回す クラウド時代のコスト最適化戦略
iret
0
19
Other Decks in Technology
See All in Technology
Product Utilization of Large Language Models Starting Today
ymatsuwitter
3
1.4k
New Relicを活用したシステム監視の強化とオブザーバビリティ向上
sugoto911
1
110
Road to Single Activity Uncovered
yurihondo
0
100
ガバメントクラウド開発と変化と成長する組織 / Organizational change and growth in developing a government cloud
kazeburo
4
920
DenoでもViteしたい!インポートパスのエイリアスを指定してラクラクアプリ開発
bengo4com
2
2k
スクラム導入の舞台裏:QAエンジニアがスクラムマスターになるまで
bubo1201
0
250
Azure App Service on Linux の Sidecar に Phi-3 を配置してインテリジェントなアプリケーションを作ってみよう/jazug-anniv14
thara0402
0
500
エムスリー全チーム紹介資料 / Introduction of M3 All Teams
m3_engineering
1
320
クレジットカードを製造する技術
yutadayo
81
48k
今こそ変化対応力を向上させるとき 〜ログラスが FAST に挑戦する理由〜 / Why Loglass is Talking on the Challenge of Agile Framework FAST
shioyang
0
110
Webセキュリティのあるきかた
akiym
32
11k
【完全版】Dify - LINE Bot連携 考え方と実用テクニック
uezo
2
510
Featured
See All Featured
The Invisible Side of Design
smashingmag
297
50k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
6.9k
WebSockets: Embracing the real-time Web
robhawkes
59
7.3k
Typedesign – Prime Four
hannesfritz
39
2.3k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
504
140k
In The Pink: A Labor of Love
frogandcode
139
22k
Scaling GitHub
holman
458
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
130k
4 Signs Your Business is Dying
shpigford
180
21k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
Transcript
第144回 雲勉 Amazon Aurora Serverless v2の基礎と アーキの裏側を覗いてみる
講師自己紹介 満村 雄二(Mitsuo) ⚫ クラウドインテグレーション事業部 第二構築セクション所属 ⚫ インフラエンジニアとしてAWSサービスの要件定義、設計および構築に従事 ⚫ 2022
- 2024 APN ALL AWS Certifications Engineer ⚫ AWS Community Builder(Networking Content Delivery) ⚫ iret テクニカルアンバサダー(Advanced) @Chanmitsu_sys 2
アジェンダ 1. 本資料について 2. Amazon Aurora Serverlessについて 3. Amazon Aurora
Serverlessのアーキテクチャを覗いてみる 3
1. 本資料について 4
1.本資料について ◼ 理解出来ること(主な目的) • Amazon Aurora Serverless(以降Aurora Serverless)の基礎 • Aurora
Serverlessのアーキテクチャ概要 ◼ 説明しないこと • RDBMS、データベースエンジンの解説 • Auroraの機能に関する解説 • 効率の良いクエリの書き方 • 他クラウド製品との比較 • ハンズオン形式での提供 5
1.本資料について ◼ 留意事項 ・ 初学者向けの解説になります。 ・ Version2(v2)を前提に説明します。 ・ 当資料は事前撮影したものをYouTubeに公開したものです。 ・
質問事項は、 YouTubeのコメント欄に記載ください。 6
1.本資料について(登場人物の紹介) 久しぶりの雲勉なので 自己紹介お願いできます? みつおくんがスーツ着てるやん いいですけど わたしフリー素材みたいに なってませんか? 7
1.本資料について(登場人物の紹介) 名前:さわD ⚫ ベテランのインフラエンジニア ⚫ オンプレ経験が長く部内でも頼られている ⚫ 今回の講師役 ⚫ 一年の時を経て「さわだ」から「さわD」に改名
名前:はやぶさ ⚫ 猛禽類系インフラエンジニア ⚫ 技術に対する好奇心が高い ⚫ とりあえず見に来た 8
2. Amazon Aurora Serverless について 9
2. Amazon Aurora Serverless について サーバレスというより 資料的にAuroraの説明から 入ったほうが自然ですかね? ご存知な方も多いのでしょうが、 後からAuroraの
アーキテクチャの話もするのでそうしましょうか 10
2. まずはAmazon Auroraの概要から ◼ Amazon Aurora • AWSがクラウド向けに開発したマネージドなデータベース • データベースの運用管理を大幅にAWS側に移譲可能
• 主に商用データベースとしてライセンス不要で利用可能 • MySQL、PostgreSQLと高い互換性 • 従量課金制(課金体系に応じて利用した分のみ請求) ここはさらっと 行きましょうか! 11
2. Amazon Aurora Serverlessとは? ◼ Amazon Aurora Serverlessとは? • Aurora用のAuto
Scaling設定 • オンデマンドにデータベースのスペック(CPU、メモリ等)を変動させる • スペックはACUと呼ばれる単位で管理される • ACU単位で課金が発生する 従来のプロビジョンドと 比べると 細かい制約はあるものの AWS側でキャパシティ管理を する事以外はほとんど使用感 が同じなんですよね 参考:Supported Regions and Aurora DB engines for Aurora Serverless v2 https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.ServerlessV2.html MySQL、PostgreSQLの 対応バージョンには制限が あるので公式ドキュメントを 確認してください 12
2. Amazon Aurora Serverlessとは? ◼ ACUとは? • Aurora Capacity Unitの略称
• 1ACUあたり1CPU、2GiBのメモリおよびネットワーキングを提供 • 0.5ACUから128ACUの間で最小値、最大値を指定し負荷に応じて AWSが自動で調整 EC2のAuto Scalingでも インスタンス数の最小数、最大数 を指定すると思いますが、 Aurora ServerlessでもACUの 最小数、最大数を指定します とてもざっくり言うと、 スペックの単位です! 13
2. Amazon Aurora Serverlessの作成方法(コンソールの場合) 基本的に従来型(プロビジョンド)と同様 インスタンスクラスでサーバレスを選択するだけ! 14
2. Amazon Aurora Serverlessの作成方法(コンソールの場合) 非対応のエンジンバージョンであればインスタンスクラスにサーバレスを選択出来ない 15
2. Amazon Aurora Serverlessの作成方法(CloudFormationの場合) • AWS::RDS::DBClusterでACUの最小数と最大数を指定する • AWS::RDS::DBInstanceでインスタンスクラスを指定する 16
2. サーバレス・・・? Auroraのサーバレスって Lambdaのサーバレスとは 少し違いますよねー あー確かに Aurora Serverlessを使ったことがない人だ とそのイメージはあるかもしれないですよね 解説します
17
2. Lambdaの場合(一般的なサーバレスのイメージ) AWS Lambda Service VPC AWS Lambda Service VPC
処理が追いつかなくなってきた・・・ 実行数を増やして処理しよう!! 18
2. Aurora Serverlessの場合 Amazon Virtual Private Cloud ライターの処理が追いついてない・・・ ACU数を増やそう!! Amazon
Virtual Private Cloud 19
2. Aurora Serverlessについて • Aurora Serverlessは、利用者VPC上に常に存在するため コンピューティングの存在を意識する必要はある。 • Lambdaは処理時のみAWSが管理するVPC上で実行されるため、 コンピューティングの存在を意識する必要がない。
• 具体的な定義は確認出来なかったが、Auroraのサーバレスは、 キャパシティ管理が不要=コンピューティングの意識が薄れると解釈。 LambdaもProvisioned Concurrencyを使うと常にコ ストが発生はしますが・・・ 20
2. 料金の話しておきます ここまでは キャパシティ管理してくれる サーバレスの方が従来型(プロビジョンド) より優れてるように聞こえるんですが コストの話はしておこうと思います。 21
2. 料金設定 ◼ 従来型・サーバレス共通の料金設定(東京リージョン) 項目 料金(Aurora Standard) ストレージ料金 USD 0.12/1GBあたり
月単位 I/O料金 USD 0.24/100万リクエストあたり 月単位 項目 料金(Aurora Standard) インスタンス料金 データベースモデルによる db.r6g.largeの場合・・・ USD0.313 db.r5.xlarge ・・・ USD 0.70 ◼ 従来型の場合(東京リージョン) 項目 料金(Aurora Standard) インスタンス料金 USD 0.20/1ACUあたり 1時間単位 ◼ サーバレスの場合(東京リージョン) 22
2. 料金の話しておきます 料金説明をしたので プロビジョンドとサーバレスでの 料金比較を行いますね 共通項目やその他に発生するコストは (バックトラック、バックアップ、データ転送等) 考慮しません あくまでプロビジョンドとサーバレスで発生するコ ストの差異について整理します
23
2. 料金比較 ◼ 従来型(プロビジョンド)の場合 項目 内容 リージョン 東京(ap-northeast-1) モデル db.r5.xlarge
vCPU 4 メモリ 32 項目 内容 リージョン 東京(ap-northeast-1) ACU数 8 or 16 ワークロードの想定 8ACUで15日稼働 16ACUで15日稼働 ◼ サーバレス の場合 24
2. 料金比較 ◼ 従来型(プロビジョンド)の場合 • USD 0.70 * 24 *
30 = 504 USD ◼ サーバレスの場合 • USD 0.20 * 8 * 24 * 15 = 576 USD • USD 0.20 * 16 * 24 * 15 = 1,152 USD ◼ サーバレスの場合(合計) • 576 USD + 1152 USD = 1,728 USD ファッ!!? 1000USD以上差が出ますやん 25
2. 自分も答えが見えていない 前提の置き方によって変わるんだろうけど ワークロードが安定してるシステムだと サーバレスを使うのはコスト効率が悪い ですよね・・・ 後、サーバレスだとRI契約出来ないのも 大きいですよね。従来型であれば試算し た金額より更に下げることは可能だと思い ます。
まずそのシステムがコスト優先するのか パフォーマンスを優先するのか方針を決め た方がいい気がします。 AWS利用料だけで比較する話でも ないだろうし難しい・・・ 26
2. ユースケースを整理してみる • 安定したワークロードなのであれば従来型を検討する • コストが厳しいようであれば従来型を検討する • ほぼ即時、無停止のキャパシティスケーリングが必要であればサーバレスが候補に上がる • スパイクが激しい、アイドル状態が長いなど極端なユースケースはサーバレスが
候補に上がる • パフォーマンス、コストを優先するかで従来型かサーバレスかを検討する • 無理にサーバレスにする必要はない • AWS利用料だけではなく運用コストの意識も大切 27
2. いったんまとめ • Aurora ServerlessはAurora用のAutoscaling機能の事 • スペックはACUという単位で管理される • 負荷に応じてACU数を増減する事によってワークロードを処理する •
Aurora Serverlessは、従来型(プロビジョンド)のAuroraと同様に利用者側のVPC 上に配置される • Aurora Serverlessは、料金設定が従来型よりも高いため、ワークロードによっては 割高になるケースがある サーバレスというほど コンピューティングの意 識がなくなる訳でない と思ったりします なんてこというんですか! でもワークロードが変動しやす いケースでキャパシティ管理を AWSに任せれるのは便利だ と思いますよ 28
3. Amazon Aurora Serverlessの アーキテクチャを覗いてみる 29
3. Amazon Aurora Serverlessのアーキテクチャを覗いてみる Aurora Serverlessの アーキテクチャって 基本的に従来型と同じなんですよね? そうです! せっかくなので解説しますね
後、サーバレスならではの スケーリングの特徴について補 足したいと思います。 30
3. Amazon Aurora Serverlessのアーキテクチャを覗いてみる 31 • 基本的なアーキテクチャは、従来型とサーバレスで同様である • ライターインスタンスとリーダーインスタンスでコンピュートが分かれている •
コンピュートとストレージ領域が分かれている Availability Zone Availability Zone Availability Zone ライター リーダー リーダー ストレージ
3. Amazon Aurora Serverlessのアーキテクチャを覗いてみる Availability Zone Availability Zone Availability Zone
ライター リーダー リーダー 左図のようにコンピュートとストレージが分離されてい ます。矢印は黒色が読み込み、朱色が書き込み、 そして緑色がS3バケットへのバックアップを表していま す。 AWSにはデータベース用に設計された「ログ構造分 散ストレージシステム」を用いています。ストレージ内 に複数のストレージノードが存在し、ライターは各AZ のノード2つずつに対して書き込みを行います。 計6つのコピーですね。 これによってデータの可用性を確保しています。 ストレージは最大128TiBまで拡張可能です。 ストレージ 32
3. Amazon Aurora Serverlessのアーキテクチャを覗いてみる Auroraはデータの読み書きに関して、 クォーラムモデルを採用しています。 クォーラムモデルとは、一定数の書き込み、読み込みが出来た時点で その処理を完了したと見なす考え方を指します。 ストレージへのコピーはAZ毎に2箇所で 計6つコピーするでしたよね。
完了とみなした後、残り分を非同期で処理します。 33
3. Amazon Aurora Serverlessのアーキテクチャを覗いてみる Availability Zone Availability Zone Availability Zone
ライター リーダー リーダー 6箇所のうち4箇所書き込みが出来れば、 完了とみなします。 2箇所のデータ損失まで影響なく利用可能です。 ストレージ 書き込みの場合 34
3. Amazon Aurora Serverlessのアーキテクチャを覗いてみる Availability Zone Availability Zone Availability Zone
ライター リーダー リーダー 6箇所のうち3箇所読み取りが出来れば、 完了とみなします。 3箇所のデータ損失まで影響なく利用可能です。 ストレージ 読み取りの場合 35
3. Amazon Aurora Serverlessのアーキテクチャを覗いてみる 次にスケーリング時の挙動の 話をしますね!! 36
3. Amazon Aurora Serverlessのスケーリングについて 37 • 実際に稼働しているインスタンスに対してスケーリングが行われる。 • ライター/リーダーインスタンスのCPU、メモリ、ネットワーク情報を継続的に追跡して おり、AWS側で設定された閾値に応じてスケーリングを行う。
• インスタンスの入れ替わりが起きないため、トランザクションを受けつつ、vCPU、 メモリのサイズを変更出来、スケーリング中でもアプリケーションに影響を与えない。 CPU足りてな い・・・ まだ足りない・・・ 処理が落ち着いて きたかな
3. まとめ • Aurora Serverlessはプロビジョンと同様のアーキテクチャである • AWS側でCPU、メモリ、ネットワーキングの使用量を定期的に観測し設定された閾値 を超えた場合、スケーリングが行われる 38
最後に ありがとうございました!!! 39