SAA / ドメイン3 高パフォーマンスなアーキテクチャの設計

重要な内容

Amazon Aurora

概要

は、MySQLおよびPostgreSQLと互換性のあるマネージドです。コンピューティングと分散ストレージを分離し、高い性能と可用性を提供します。


主要技術

① DBクラスター

ライターとレプリカが共有のクラスター用ストレージを使用します。クラスターは書き込み、リーダーエンドポイントは読み取り分散に使用します。

② Auroraレプリカ

読み取り処理を複数レプリカへ分散し、障害時の昇格先にもできます。アプリケーションは用途に応じたへ接続します。

1つのクラスターには最大15台のレプリカを置けます。レプリカはライターと同じクラスターボリュームを読むため、遅延は通常100ミリ秒未満に収まります。Aurora を使うと、使用率や接続数に合わせてレプリカの台数を自動で増減できます。のはエンジンの非同期複製で作られ、台数の自動増減には対応しません。

RDS for MySQLやRDS for PostgreSQLからAuroraへ移るときは、移行元のDBインスタンスからAuroraリードレプリカを作り、レプリカ遅延が0になったところで昇格させると、書き込みを止める時間を短くできます。のフルロードとでも、稼働を続けたまま移せます。

③ Aurora Serverless

需要に合わせてデータベース容量を自動調整します。変動が大きい、または断続的なワークロードに適しています。

Serverless v2はACU(容量単位)という単位で容量を細かく増減し、使った容量に応じて課金されます。最小容量を0 ACUにすると、ユーザーの接続がない状態が指定した時間(5分〜1日)続いたときにインスタンスが自動で一時停止し、その間はインスタンスの料金がかかりません。ストレージの料金は続きます。再開には通常15秒ほどかかるため、開発・検証環境や、接続の待ち時間を許容できる社内用途に向きます。 Proxyを関連付けたクラスターや、Global Databaseのプライマリクラスターでは自動では一時停止しません。

負荷が終日高く一定なら、容量を自動で増減させる利点が小さくなります。容量を固定したプロビジョンドのインスタンスにリザーブドDBインスタンスを適用した方が、費用を抑えやすくなります。

④ Global Database

複数へレプリケートし、近接リージョンでの読み取りやリージョン障害への備えに利用します。

セカンダリリージョンのクラスターは読み取り用です。書き込み転送を有効にしても、書き込みはプライマリリージョンのクラスターで実行されてから各リージョンへ複製されます。どのリージョンでもローカルに書き込みたい要件には、のを検討します。

リージョン間の複製はストレージ層で行われ、遅延は通常1秒未満です。プライマリリージョンの障害時はセカンダリクラスターを昇格させるで、は通常1秒程度、は1分未満を目安に復旧できます。セカンダリは最大10リージョンまで置けます。計画的にプライマリを移すときはデータを失わないスイッチオーバーを使います。グローバルデータベースのライターは切り替え後も新しいプライマリを指すため、アプリケーションの接続先を変えずに済みます。


⑤ 高可用性、接続、バックアップ

クラスターボリュームは複数にまたがってデータを保持します。ただし、ストレージの冗長性と、を処理するDBインスタンスの可用性は別です。別AZにレプリカを配置すると、ライター障害時に既存レプリカを昇格でき、復旧を速められます。

接続先用途判断ポイント
クラスター読み書き現在のライターへ接続します
リーダーエンドポイント読み取り接続を複数レプリカへ分散します
Proxy接続プールなどの接続急増を抑えます

自動バックアップはポイントインタイムリカバリ、手動は長期保管や別環境への復元に使います。Global Databaseは間で非同期複製するため、ではと切替手順も確認します。

Aurora MySQL互換にはBacktrackがあり、バックアップから復元し直さずにクラスターを直近の指定時点へ巻き戻せます。巻き戻せる範囲は設定した時間枠に限られ、対象もAurora MySQL互換だけです。長期保管や目的のバックアップの代わりにはならないため、保持期間の要件はスナップショットやで満たします。

⚠️ 頻出: AuroraにはMySQL互換とPostgreSQL互換だけがあり、他のエンジン互換のエディションは存在しません。移行先としてAuroraが挙がる選択肢は、まず互換性を確認します。


⑥ ストレージ構成、クローン、バックアップの費用

構成課金選ぶ目安
Standardインスタンスとストレージに加え、I/Oを100万リクエストごとに課金しますI/Oの費用がAuroraの費用全体の25%未満
Aurora I/O-Optimized読み書きのI/Oに課金しません。インスタンスとストレージの単価は高くなりますI/Oの費用がAuroraの費用全体の25%以上

StandardからI/O-Optimizedへの切り替えは30日に1回までで、I/O-OptimizedからStandardへはいつでも戻せます。リザーブドDBインスタンスはどちらの構成にも適用されます。

開発や検証のために本番のデータを複製するときは、Auroraのクローンを使えます。クローンはコピーオンライトで作られ、作成時はデータページを元のクラスターと共有します。から復元して全量を複製するより速く、ストレージ料金は変更したページの分だけ増えます。クローンは元のクラスターと同じにだけ作れます。

自動バックアップは、保持期間(1〜35日)内の任意の時点へ戻すための増分の記録です。最新のクラスターボリュームのサイズまでは追加料金がかかりません。保持期間内に取ったスナップショットも無料ですが、保持期間を過ぎた手動スナップショット(が取ったものを含む)は、それぞれ取得時のボリュームサイズで課金され続けます。

⑦ SQL Serverからの移行(Babelfish)

Babelfish for PostgreSQLは、Aurora PostgreSQLに、 Serverのワイヤープロトコル(TDS)とT-SQLを受け付けるを追加する機能です。SQL Server向けに作られたアプリケーションを、データベースドライバーを変えずに、従来の移行より少ないコード変更でAurora PostgreSQLへ移せます。SQL Serverのライセンス費用をなくしたい場合の候補になります。T-SQLには一部違いがあるため、移行前に互換性を評価します。


試験対策

① RDSとの比較

MySQL/PostgreSQL互換性を保ちながら、分散ストレージ、高速なレプリカ、クラスター構成を求める場合にを選びます。

② 読み取り性能

読み取り集中型ではレプリカとリーダーを使用します。接続急増には Proxyも検討します。

⚠️ 頻出: リーダーエンドポイントはクエリを分割するのではなく、新しい接続をレプリカへ振り分けます。変動負荷にはServerless v2、にはGlobal Databaseを検討します。


参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください