狠狠撸

狠狠撸Share a Scribd company logo
Aurora の特徴
MySQL5.6 or PostgreSQL 10.7 互換。
RDS for MySQL よりも高パフォーマンス(5 倍?)
データはマルチ AZ に冗長保管される
S3 へ自動バックアップ
リードレプリカは最大 15 台
Aurora のアーキテクチャ
ストレージ層とインスタンス層で分離している。
ストレージ層は 10GB~64TB で動的にスケールアップされる。
I/O Flow in Aurora Storage Node
以下全て非同期処理で行われる->つまり障害発生時にはデータが失われる恐れがある。しかしながら AWS は Multi-AZ による冗長構成に
より耐障害性を実現している。
1. 更新ログ受信。インメモリキューに登録
2. 永続的なログとして登録。ACK 返信。
3. 更新ログを統合。変更箇所特定
4. ゴシッププロトコル*により変更箇所伝播
5. 変更箇所を新バージョンデータとして統合
6. 定期的な S3 へのバックアップ
7. 定期的なガーベージコレクション
8. 定期的な変更箇所妥当性確認
*ランダムにノード間通信を行い情報を交換する手法。大規模 NW におけるデータベース複製方法として利用される
Aurora の冗長構成
ストレージ層は SSD によるマルチテナント構成で提供される
異なる3つのアベイラビリティゾーンに分散された数百~数千のストレージノードにストライプ化される
データは 6 つに複製される
各アベイラビリティゾーンには 2 つ複製を保持
アベイラビリティゾーンとは
アベイラビリティゾーンは、お互いに影響を受けないように、地理、電源、ネットワーク的に分離されています。また、各アベイラビリティゾーン
は高速専用線で接続されています。
Aurora 利用時の注意点
? MySQL, PostgreSQL の最新版には対応していない
? 容量は 64TB まで
? マスターノードは冗長されていない
? 書込み負荷は軽減されない。1 ノードに集中する
? 非同期 I/O により通常の RDS よりは高速
? 別途マルチマスタ構成も可能
? リード性能のみスケーラブル
? リードレプリカは更新が追い付かない可能性もある(10ms くらいの gap が発生する)
Aurora Serverless の特徴
? Simple
ManagedDB である Aurora を常時起動ではなく、利用時のみ立ち上げる Serverless Service として利用できる
? Scalable
- インスタンスの管理が不要
- キャパシティは上限?下限の設定のみ
- CPU 使用率と接続数合わせて動的にスケールアップ/ダウンがされる。
? Cost Performance
- 消費するキャパシティユニットに対して 1 秒毎に利用料が発生
- 使用していない時はインスタンスノードは自動的にシャットダウンされる
- 東京リージョン料金
? 時間当たり利用料=$0.1/ACU
? ストレージ料金=$0.12/GB/月
? I/O 料金=$0.24/100 万リクエスト
? スケールアップ時の条件
? CPU utilization is above 70% OR
? More than 90% of connections are being used
? スケールダウン時の条件
? CPU utilization drops below 30% AND
? Less than 40% of connections are being used
負荷に応じてスケールアップを図りたい図
りたい
? ACU 別コネクションの上限
キャパシティユニット数 メモリ量 max_connections
2 4GB 90
4 8GB 135
8 16GB 1000
16 32GB 2000
省略
256 (最大) 488GB 6000
自動スケールの流れ
https://dev.classmethod.jp/articles/reinvent-2019-aurora-serverless-scalable-cost-effective-application-deployment-dat382/
Aurora Serverless 利用時の注意点
? ノード起動時間に数十秒時間がかかる場合がある
? 急激な負荷増大には対応できない場合がある
? 対応する MySQL/Postgres が最新版ではない
? 64TB 以上は格納できない
? 高可用性が求められる場合は採用できない
? DB ノードのマルチマスタ構成が必要であれば Aurora にする必要あり
? クロスリージョン構成が必要であれば Aurora にする必要あり
? リードレプリカが必要な場合は Aurora にする必要あり
? 6000接続が上限
aurora malti-master
複数 DB ノードから書込み可能
Aurora Multi-Master 制限事項
? MySQL5.6 のみ準拠
? 最大 2 つの DB インスタンス
? 同一リージョン
? 単一の問合せ速度はシングルマスタよりも低い
? MySQL の一部機能が利用できない
? Hash-join
? Query cache
? Event Scheduler
aurora の暗号化について
AES256 で暗号化される
アプリからは透過的にアクセスができる
暗号化される対象
? DB インスタンス
? 自動バックアップ
? リードレプリカ
? スナップショット
? ログ
データそのものは暗号化されない
複数システムで RDS インスタンスを共用することによるデメリット

More Related Content

Aurora features

  • 1. Aurora の特徴 MySQL5.6 or PostgreSQL 10.7 互換。 RDS for MySQL よりも高パフォーマンス(5 倍?) データはマルチ AZ に冗長保管される S3 へ自動バックアップ リードレプリカは最大 15 台 Aurora のアーキテクチャ ストレージ層とインスタンス層で分離している。 ストレージ層は 10GB~64TB で動的にスケールアップされる。 I/O Flow in Aurora Storage Node
  • 2. 以下全て非同期処理で行われる->つまり障害発生時にはデータが失われる恐れがある。しかしながら AWS は Multi-AZ による冗長構成に より耐障害性を実現している。 1. 更新ログ受信。インメモリキューに登録 2. 永続的なログとして登録。ACK 返信。 3. 更新ログを統合。変更箇所特定 4. ゴシッププロトコル*により変更箇所伝播 5. 変更箇所を新バージョンデータとして統合 6. 定期的な S3 へのバックアップ 7. 定期的なガーベージコレクション 8. 定期的な変更箇所妥当性確認 *ランダムにノード間通信を行い情報を交換する手法。大規模 NW におけるデータベース複製方法として利用される Aurora の冗長構成 ストレージ層は SSD によるマルチテナント構成で提供される 異なる3つのアベイラビリティゾーンに分散された数百~数千のストレージノードにストライプ化される データは 6 つに複製される 各アベイラビリティゾーンには 2 つ複製を保持
  • 3. アベイラビリティゾーンとは アベイラビリティゾーンは、お互いに影響を受けないように、地理、電源、ネットワーク的に分離されています。また、各アベイラビリティゾーン は高速専用線で接続されています。 Aurora 利用時の注意点 ? MySQL, PostgreSQL の最新版には対応していない ? 容量は 64TB まで ? マスターノードは冗長されていない ? 書込み負荷は軽減されない。1 ノードに集中する ? 非同期 I/O により通常の RDS よりは高速
  • 4. ? 別途マルチマスタ構成も可能 ? リード性能のみスケーラブル ? リードレプリカは更新が追い付かない可能性もある(10ms くらいの gap が発生する) Aurora Serverless の特徴 ? Simple ManagedDB である Aurora を常時起動ではなく、利用時のみ立ち上げる Serverless Service として利用できる ? Scalable - インスタンスの管理が不要 - キャパシティは上限?下限の設定のみ - CPU 使用率と接続数合わせて動的にスケールアップ/ダウンがされる。 ? Cost Performance - 消費するキャパシティユニットに対して 1 秒毎に利用料が発生 - 使用していない時はインスタンスノードは自動的にシャットダウンされる - 東京リージョン料金 ? 時間当たり利用料=$0.1/ACU ? ストレージ料金=$0.12/GB/月 ? I/O 料金=$0.24/100 万リクエスト ? スケールアップ時の条件 ? CPU utilization is above 70% OR ? More than 90% of connections are being used ? スケールダウン時の条件 ? CPU utilization drops below 30% AND ? Less than 40% of connections are being used 負荷に応じてスケールアップを図りたい図 りたい
  • 5. ? ACU 別コネクションの上限 キャパシティユニット数 メモリ量 max_connections 2 4GB 90 4 8GB 135 8 16GB 1000 16 32GB 2000 省略 256 (最大) 488GB 6000 自動スケールの流れ https://dev.classmethod.jp/articles/reinvent-2019-aurora-serverless-scalable-cost-effective-application-deployment-dat382/
  • 6. Aurora Serverless 利用時の注意点 ? ノード起動時間に数十秒時間がかかる場合がある ? 急激な負荷増大には対応できない場合がある ? 対応する MySQL/Postgres が最新版ではない ? 64TB 以上は格納できない ? 高可用性が求められる場合は採用できない ? DB ノードのマルチマスタ構成が必要であれば Aurora にする必要あり ? クロスリージョン構成が必要であれば Aurora にする必要あり ? リードレプリカが必要な場合は Aurora にする必要あり ? 6000接続が上限 aurora malti-master 複数 DB ノードから書込み可能 Aurora Multi-Master 制限事項 ? MySQL5.6 のみ準拠 ? 最大 2 つの DB インスタンス ? 同一リージョン ? 単一の問合せ速度はシングルマスタよりも低い ? MySQL の一部機能が利用できない ? Hash-join ? Query cache ? Event Scheduler aurora の暗号化について
  • 7. AES256 で暗号化される アプリからは透過的にアクセスができる 暗号化される対象 ? DB インスタンス ? 自動バックアップ ? リードレプリカ ? スナップショット ? ログ データそのものは暗号化されない 複数システムで RDS インスタンスを共用することによるデメリット