📓

【SAAにも有効】ポイントから抑えるAurora (23/05/10)

2023/05/10に公開

前置き

①本記事は「AWS業務未経験者,新人」「AWS資格試験中」向けの記事です。
②著者が「SAA-C02」「DVA-001」取得した際の記録であるため資格取得に必要な知識です。
③記載の内容は著者が資格勉強+個人学習を通して得てきた内容ですが、情報の不備等を念頭に参照してください。

作成経緯

エクセルで今まで学習内容を記録していたが、ファイル操作に支障が出てくる量になってきたため、アウトプット含めて、情報の整理・管理を行いたかったため。

本記事の方針

①本ページは学習情報管理として活用するものとする。
 そのため情報の追加があり次第、記事の更新を行うと共に更新した日付を残すこと。
 (校閲等の軽微な修正や関連記事連携などは除く)
②本記事の運用は自他問わずAWSの知識向上に繋げることも目的の一つとする。

日付 更新内容
2023/05/10 新規作成
yyyy/dd/mm -
yyyy/dd/mm -
yyyy/dd/mm -
yyyy/dd/mm -

AWS Aurora(RDSで使用するデータベースの1つ)

MySQLとPostgreSQLと互換性がある分散型RDB(RDSで使用できるデータベースの一つ)
標準的な MySQL データベースと比べて最大で 5 倍、標準的な PostgreSQL データベースと比べて最大で 3 倍高速。

性能の特徴

・分散型で耐障害性と自己修復機能を備えており、データベースインスタンスごとに最大 128 TB まで自動的にスケール
 ➡1AZあたり2箇所、3AZに渡りコピー、つまり2×3=6箇所のストレージにコピーされる (※3つのAZに6か所のデータをレプリケート)

画像元:AWS公式

・マルチAZ機能
 ➡DBの冗長化構成(マスターデータベース/リードレプリカ) ※スタンバイレプリカで読み取り処理は不可

・DBインスタンスを作成すると、DBクラスタ(複数のDBインスタンス)が作成される(データ量:最大64TB)

・バックアップと復元:データベースインスタンスのトランザクションログを5分ごとにS3に保存している

・クラスターボリュームはDBエンジンのバージョンに応じて、128テビバイト(TiB)または64Tibまで自動的に拡大する

Aurora エンドポイントの種類

○クラスタエンドポイント:プライマリインスタンスに接続するエンドポイント
※接続するとDBすべての操作ができる
○読み取りエンドポイント:レプリカインスタンスに接続するエンドポイント
※複数ある場合は負荷分散となる
○インスタンスエンドポイント:個々のインスタンスを指定して接続する
○カスタムエンドポイント:特定の1台以上のインスタンスのグループを作成して接続

Auroraの種類

①Aurora Serverless

(※AZ規模のDR(Disaster Recovery)向け)
・アプリケーションニーズに応じて、自動的に起動、シャットダウン、および容量を拡大または縮小することができる。
 ➡アクセスがなければ勝手に停止するAWSのMySQL/PostgreSQLインフラ
・プロキシフリートを使用すると、最小と最大のキャパシティー設定に基づいてリソースを自動的にスケールして調整する。

①DB インスタンスクラスのサイズを指定せずにデータベースエンドポイントを作成して、最小と最大のキャパシティーを設定。
②データベースエンドポイントがプロキシフリートに接続される
③プロキシフリートでは、ワークロードをルーティングする先のリソースのフリートがオートスケーリング
④プロキシフリートを使用すると、最小と最大のキャパシティー仕様に基づいて Aurora Serverless がリソースを自動的にスケールする
(※参考:https://nwengblog.com/aws-saa/)

➡したがって、処理負荷が一定ではないケースにはAurora Serverless を利用することが有効(予測困難なワークロードに適している)

※プロキシフリートについて
 ○フリートとは(一般的に、「集団」、「ものの集合体」を意味する)
 フリートを使用することによって、マルチクラスタ機能の使用と管理、複数のシステム間での一貫したポリシーの適用が可能。
 (※Google Cloud説明より)

○プロキシフリート
 リソースのフリート(集団)を管理しており、DBなどの接続を仲介する(?)

②Amazon Aurora Global Database

(※リージョン規模のDR(Disaster Recovery)向け)
グローバル分散アプリケーション向けに設計されており、単一の Amazon Aurora データベースを複数の AWS リージョンにまたがって運用できる。
データベースのパフォーマンスに影響を与えずにデータをレプリケートし、各リージョンでレイテンシーを低減してローカル読み取りを高速化し、リージョン規模の停止からの災害復旧を実現する。

Discussion