More Related Content
Similar to はじめてのAmazon Aurora (20)
はじめてのAmazon Aurora
- 7. 7 @awscloud_jp
Amazon Aurora
• re:Invent 2014で発表されたRDSの新しいエンジン
• Amazonがクラウド時代にリレーショナル・データベース
を作るとどうなるかを1から考え構築
– 新しい技術的チャレンジを盛り込んでいる
• エンタープライズグレードの可用性とOSSレベルのコス
トを両立
- 9. 9 @awscloud_jp
• ライセンス料金は不
要
• ロックインもない
• 使った分だけ課金
vCPU Mem Hourly
Price
db.r3.large 2 15.25 $0.29
db.r3.xlarge 4 30.5 $0.58
db.r3.2xlarge 8 61 $1.16
db.r3.4xlarge 16 122 $2.32
db.r3.8xlarge 32 244 $4.64
• ストレージ: $0.10/GB/month
• IO課金: $0.20 per million IO
• Virginiaリージョンの価格
Amazon Aurora pricing
- 11. 11 @awscloud_jp
Amazon Auroraの特徴
• MySQL5.6と互換性があるため既存のアプリケーションを簡単に移行
可能
• ストレージが10GBから64TBまでシームレスに拡張
• 3AZに2つずつ、計6つのデータのコピーを保持
– S3にストリーミングバックアップを実施
• VPC内に起動
– Security GroupやNACLを使用してアクセスコントロール可能
• Amazon Auroraは99.99%の可用性を実現するように設計されている
- 18. 18 @awscloud_jp
Establishing our ecosystem
“Amazon AuroraがMySQL互換であることは素晴らしいことです。MariaDB
connectorsはAuroraとシームレスに動作します。 MariaDB Enterprise の
MariaDB MaxScaleドライバとコネクタを使ってAurora, MariaDB, そしてMySQLを互換性の
心配なしに接続出来ます。私たちは、Auroraチームと今後さらにMySQLエコシステムを加
速させるために一緒に働くことを楽しみにしています。”
— Roger Levy, VP Products, MariaDB
- 20. 20 @awscloud_jp
Service Oriented Architecture
• ログとストレージレイヤを
シームレスにスケールする
ストレージサービスに移動
• EC2, Amazon DynamoDB,
Amazon SWFなどのAWS
サービスを管理コンポーネ
ントに採用
• Amazon S3を利用して
99.999999999%の耐久性
でストリーミングバックアップ
Data Plane
Logging + Storage
SQL
Transactions
Caching
Amazon S3
Control Plane
Amazon
DynamoDB
Amazon SWF
Amazon Route
53
- 22. 22 @awscloud_jp
Auroraのストレージ
• SSDを利用したシームレスにスケールす
るストレージ
– 10GBから64TBまでシームレスに自動でスケール
アップ
– 実際に使った分だけ課金
• 標準で高可用性を実現
– 3AZに6つのデータのコピーを作成
– 2つのディスクが利用不能でも読み書き可能
• 万が一1つのAZが利用不能になっても読み書き可
能な状態で稼働し続ける
– 3つのディスクが利用不能の場合読み込みのみ可能
• Log structured Storage
– redo logを複数の小さなセグメントに分割
– Log pageによってData pageを作成
SQL
Transactions
AZ 1 AZ 2 AZ 3
Caching
Amazon S3
- 26. 26 @awscloud_jp
レプリケーション
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
書き込みの種類
- 27. 27 @awscloud_jp
レプリケーション
ページキャッシュ
更新
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が必要
• レプリケーションはマスターへ負荷がかかる
• レプリケーション遅延が増加していくケースがある
• フェイルオーバーでデータロスの可能性がある
- 28. 28 @awscloud_jp
レプリケーション
• Amazon Auroraは、15台のリードレプリカを作成可
能
– リードレプリカはマスタサーバとストレージを共有しており、低負荷で
粒度の高いほぼ同期型のレプリケーションを行う
– 10-20msのレイテンシーでレプリケーションされる
– RDS for MySQLではリードレプリカは5つまで (孫リードレプリカを入
れて30)
- 29. 29 @awscloud_jp
セキュリティ
• データの暗号化
– AES-256 (ハードウエア支援)
– ディスクとAmazon S3に置かれている全ブロックを暗号化
– AWS KMSを利用したキー管理 (現在未サポート)
• SSLを利用したデータ通信の保護
• 標準でAmazon VPCを使ったネットワークの分離
• ノードへ直接アクセスは不可能
• 業界標準のセキュリティとデータ保護の認証をサ
ポート
Storage
SQL
Transactions
Caching
Amazon S3
Application
- 33. 33 @awscloud_jp
クラスタエンドポイント
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
- 35. 35 @awscloud_jp
Writer / Readerノードの識別
• innodb_read_onlyを参照
– SHOW GLOBAL VARIABLES LIKE 'innodb_read_only’;
– OFF: Writer
– ON: Reader
• アプリケーションやドライバでAuroraノードに対する
負荷分散やフェイルオーバーロジックの実装に利用
可能
– メトリクススキーマのSEESION_IDも利用可能
- 43. 43 @awscloud_jp
パフォーマンス
• 価格性能比5倍
– Amazon Auroraは高速でSSDベースのストレージにより高速に動作
するが、既存のどんなクエリでも5倍高速に実行出来ることを意味し
ているわけではない
– Amazon Auroraは他の製品よりも、より多くの書き込み・読み込みク
エリを同時に扱うことが出来るためデータベースの集約やスループッ
ト向上が見込める
– Amazon Aurora独自で高並列なストレージへのアクセスにより保存
されているデータへのコンテンションを解決し、クエリを効率よく処理
- 46. 46 @awscloud_jp
何をみるのか?
• よく聞かれる質問
– CPU利用率高いんだけど?
– メモリ利用量多いんだけど?
– Disk IOが多めなんだけど?
• 見てほしいこと
– Auroraはマシンリソースを最大限利用してスループットを出す設
計です
– システムトータルでパフォーマンスが向上
– 管理コスト、障害耐性、データ保全性
- 49. 49 @awscloud_jp
RDS for MySQLからマイグレーション
• マネージメントコンソールから数クリックでAmazon Auroraへ
移行可能
– RDS for MySQLのスナップショットからAmazon Auroraへマイグレーション可能
– RDS for MySQLは5.6を使う必要がある
- 50. 50 @awscloud_jp
マイグレーション時の注意
• RDS for MySQLとParameter Groupで設定出来る
項目や規定値などが異なる
– 例: max_connection / innodb_buffer_pool_size / query_cache_*
など
• マイグレーションに必要なディスクスペース
– スナップショットをインポートする場合、インポート前にEBSボリューム
を使用しデータをフォーマットする
– データをフォーマットするための追加容量が必要になる場合がある
- 53. 53 @awscloud_jp
MySQLからレプリケーション
• MySQL5.6からAmazon Auroraへレプリケーションを行うことが可
能
• 専用のプロシージャを使用
mysql > CALL mysql.rds_set_external_master (DB Hostname or IP address',
3306,’user', ‘password', ’Binlog', position, 0);
mysql > CALL mysql.rds_start_replication;
- 54. 54 @awscloud_jp
MySQLからレプリケーション
• RDS for MySQLやMySQL on EC2、オンプレ環境
のMySQLからAmazon Auroraにレプリケーション
可能
– バックアップからAuroraにインポートを行い、レプリケーションを実行
– 移行時にアプリケーションのメンテナンスを入れ、書き込みがなくなり、
レプリケーションが追いついたタイミングでアプリケーションの書き込
み先などをAuroraに変更
- 59. 59 @awscloud_jp
Amazon Aurora
• クラウド時代にAmazonが再設計したRDBMS
– MySQL5.6と互換があり既存の資産を活かしやすい
• 高いクエリ実行並列度・データサイズが大きい環境で性能を
発揮
– Amazon Auroraはコネクション数やテーブル数が多い環境で優位性を発揮
• 高可用性・高速なフェイルオーバー・PITRを実現するための
多くのチャレンジ
– Log Structured Storage
– SOA
- 61. AWS Cloud Roadshow 2015 札幌のご案内
日時・会場: 2015年11月12日 10:00スタート(ニューオータニイン札幌)
主催:アマゾンデータサービスジャパン株式会社/インテル株式会社
申込:事前登録制・無料(現在、Save the dateを受付中。配布チラシをご確認ください。)
概要:基調講演を含む、充実の11のセッション。セルフペースラボ設置、パートナー展示も実施予定。
対象: –今後クラウドの導入をご検討中の方
–アプリケーション開発・運用をもっと効率的に行いたい方
–既存のデータセンター環境とクラウドの併用をご検討の方
–国内の著名企業におけるクラウド活用事例について参考にしたいという方
–メディア・エンターテインメント業界におけるサービス提供手法について参考にしたいという方
–より深い技術を学び、クラウドを活用したいとお考えの方