More Related Content Similar to 日本のお客様におけるAmazon Auroraへの移行・検証事例と技術ポイント (20) More from Amazon Web Services Japan (20) 日本のお客様におけるAmazon Auroraへの移行・検証事例と技術ポイント12. Establishing our ecosystem
“Amazon AuroraがMySQL互換であることは素晴らしいことです。MariaDB
connectorsはAuroraとシームレスに動作します。 MariaDB Enterprise の
MariaDB MaxScaleドライバとコネクタを使ってAurora, MariaDB, そしてMySQLを互換性
の⼼心配なしに接続出来ます。私たちは、Auroraチームと今後さらにMySQLエコシステムを
加速させるために⼀一緒に働くことを楽しみにしています。”
̶— Roger Levy, VP Products, MariaDB
15. Auroraのストレージ
• SSDを利利⽤用したシームレスにスケールするスト
レージ
– 10GBから64TBまでシームレスに⾃自動でスケールアップ
– 実際に使った分だけ課⾦金金
– Peer-‐‑‒to-‐‑‒peer gossipレプリケーション
• 標準でHighly availableを実現
– 3AZに6つのデータのコピーを作成
– 2つのディスクが利利⽤用不不能でも読み書き可能
• 万が⼀一1つのAZが利利⽤用不不能になっても3本で読み書き可
能な状態で稼働
– 3つのディスクが利利⽤用不不能の場合読み込みのみ可能
• Log structured Storage
– redo logを複数の⼩小さなセグメントに分割
– Log pageによってData pageを作成
SQL
Transactions
AZ 1 AZ 2 AZ 3
Caching
Amazon S3
17. レプリケーション
AZ 1 AZ 2
Primary
Instance
Standby
Instance
EBS
Amazon S3
EBS
mirror
EBS
EBS
mirror
MySQL レプリケーション
PITR
シーケンシャ
ル・ライト シーケンシャ
ル・ライト
AZ 1 AZ 3
Primary
Instance
Amazon S3
AZ 2
Replica
Instance
改善点
• Consistency – 異異常を修復復
• Latency – 同期 vs ⾮非同期レプリケーション
• network I/Oを効率率率的に⾏行行う
⾮非同期 4/6クオーラム 分散書き込み
Amazon Aurora
ログレコード
Binlog
データ
Double-‐‑‒write buffer
metadata
書き込みの種類
18. レプリケーション
Aurora Master
30% Read
70% Write
Aurora Replica
100% New
Reads
Shared Multi-‐‑‒AZ Storage
MySQL Master
30% Read
70% Write
MySQL Replica
30% New Reads
70% Write
シングルスレッド
でBinlog適⽤用
Data Volume Data Volume
MySQL read scaling
• レプリケーションにはbinlog / relay logが必要
• レプリケーションはマスターへ負荷がかかる
• レプリケーション遅延が増加していくケースが
ある
• フェイルオーバでデータロスの可能性がある
PAGE CACHE
UPDATE
20. Streaming snapshotとPITR
• Amazon Auroraでは各セグメント毎にAmazon S3
へ継続的に増分バックアップを取得している
– Backup retention periodでバックアップを残す期間を指定可能
• Amazon Auroraが使⽤用しているディスクの仕組み
によりパフォーマンスへ影響を与えない
• PITRで5分前からBackup Retention Periodまでの
任意の位置に秒単位で復復元可能
21. クラスタエンドポイント
Availability Zone A Availability Zone B
VPC subnet VPC subnet
VPC subnet VPC subnet
Aurora Writer Aurora Reader
クラスタエンドポイント
• 各Auroraノードは個
別にエンドポイントを
持っている
• クラスタエンドポイン
トは、その時アクティ
ブなAurora Writer
ノードのCNAME
• Readは各Readerを参
照する
Write
30. Measure Response Time
New Relic
Application, Database, Redis, External の監視、通知
> データベース処理の所要時間が一目瞭然
BigQuery
アプリケーションが発行したクエリを全て計測
> 同一クエリのAurora による変化を調査可能
31. Before : RDS for MySQL
Total Database Response : 15 ~ 22 ms (時間帯によって前後)
42. Amazon Auroraへの移⾏行行
• Amazon Aurora DB クラスターへのデータの
移⾏行行
– http://docs.aws.amazon.com/ja_̲jp/AmazonRDS/latest/U
serGuide/Aurora.Migrate.html
• Amazon Aurora とのレプリケーション
– http://docs.aws.amazon.com/ja_̲jp/AmazonRDS/latest/U
serGuide/Aurora.Replication.html
51. パフォーマンス
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
DB on
Instance
• 5系統の記事DBをアプリケー
ションレイヤーで⽔水平分割
• Auroraは「最⼤大 5 倍のス
ループットを提供」とのこと
• 1系統のAuroraに集約して
もいけるはず!
Aurora
56. Amazon Aurora
• クラウド時代にAmazonが再設計したRDBMS
– MySQL5.6と互換があり既存の資産を活かしやすい
• 高いクエリ実行並列度・データサイズが大きい環境で性能を
発揮
– Amazon Auroraはコネクション数やテーブル数が多い環境で優位性を発揮
• 高可用性・高速なフェイルオーバ・PITRを実現するための多
くのチャレンジ
– Log StructuredStorage
– SOA
57. Amazon Aurora
• MySQL5.6と互換により過去資産を活かせる
– データの移行が容易
– レプリケーションによりサービス停止時間を最小限に移行可能
• データベースサーバを集約することで管理コストを軽減
– アプリケーションやミドルウェアの設定を簡易化
– アプリケーションコードに注力できる
• データの堅牢性や高速なリカバリにより障害時の復帰
時間を高速化出来、データロストの可能性も軽減可能