要点整理から攻略する『AWS認定 データベース-専門知識』 まとめ
NRIネットコムによる、「AWS Certified Database - Specialty」の資格試験の勉強用書籍が分かりやすいと話題になってます。
自分も勉強のため読んでみましたが、RDSやDynamoDBなど試験に出る項目について要点がまとめられており、理解しやすいです。
今回の記事では、本書の内容が気になる方向けに内容を整理してみました。
本書について
「AWS Certified Database - Specialty」は、12個あるAWS認定の中でもプロフェッショナルに該当する上位資格となっています。
その資格を取るための教材が本書です。
出題範囲はDBの設計、運用に関することで、DBの全体的な理解やAWSのDBサービスの特徴についての理解が求められます。
重点的に出題されるのはRDS, Auroraなどのリレーショナルデータベースと、DynamoDB, ElastiCacheからが多く、これらで6割ほどの量が出題されるため、本書でもこれらDBについて説明が多くされています。
全8章で構成されており、大事なところを以下にピックアップしていきます。
2章 リレーショナルデータベースサービス
Amazon RDS (Relational Database Service)
Amazon RDSは、Amazon Web Services (AWS) が提供するクラウドベースのリレーショナルデータベース管理サービスです。このサービスを使用することで、ユーザーはインフラストラクチャの運用を大幅に簡素化できます。
主な特徴
マネージドサービス: RDSはフルマネージドサービスであり、データベースのセットアップ、バックアップ、パッチ適用などの日常的な運用タスクをAWSが自動的に行います。
スケーラビリティ: インスタンスのリサイズや、リードレプリカの追加を簡単に行えます。
高可用性: メインとなるプライマリインスタンスと、スタンバイレプリカを複数のAZに配置することで障害に耐えられるようにし、高可用性を実現します。
セキュリティ: RDSインスタンスはVPC内で起動され、データの暗号化やIAMを使用したアクセス管理が可能です。
バックアップと復元: RDSは自動的にデータベースのバックアップを取得し、ユーザー指定のポイントにデータベースを復元することも可能です。
サポートされているデータベースエンジン
RDSは複数のデータベースエンジンをサポートしており、以下のようなエンジンを使用することができます:
Amazon Aurora
MySQL
PostgreSQL
MariaDB
Oracle
Microsoft SQL Server
リードレプリカ
マルチAZでも使用でき、読み取り性能向上に役立つ。
もしプライマリインスタンスに障害が起きたときはリードレプリカがプライマリに昇格する。
フェイルオーバー
プライマリインスタンスに障害が起きたとき、自動的にスタンバイレプリカに切り替える。
自動バックアップ
利用者が指定した日数(0~35日)のスナップショットを自動保持する。
イベントサブスクリプション
RDSでイベント(バックアップ、フェイルオーバーなど)が発生した際にSNSトピックへ通知すること。
Storage Auto Scaling
空き容量が10%以下の状態で5分以上続くと、自動的にストレージの容量を拡張する機能です。
コスト
RDSの料金は、選択したDBインスタンス、ストレージ、データ転送に基づきます。
Amazon Aurora
Amazon AuroraはAmazon Web Services (AWS) が提供する完全マネージド型のリレーショナルデータベースエンジンです。Auroraは、高可用性とパフォーマンスを持ちながら、オープンソースのMySQLおよびPostgreSQLとの互換性を提供しています。
主な特徴
パフォーマンス: Auroraは、商用データベースの最大5倍、MySQLに対しては最大3倍、PostgreSQLに対しては最大3倍のパフォーマンスを持つとAWSが主張しています。
スケーラビリティ: Auroraは最大15のリードレプリカをサポートし、数ミリ秒のレプリケーション遅延でデータを複製します。これにより、大量の読み取りワークロードを効果的にスケールアウトできます。
耐久性と可用性: Auroraはデータを6つのレプリカと3つのアベイラビリティゾーンに自動的に複製します。
サービス統合: AuroraはAWSの他のサービスとシームレスに統合され、Lambda, RDS Performance Insights, CloudWatch などと連携が取れます。
Auroraのバージョン
Aurora MySQL: MySQLとの高い互換性を持つバージョン。MySQLの特定のバージョンと互換性があるため、移行作業が簡単です。
Aurora PostgreSQL: PostgreSQLとの高い互換性を持つバージョン。
各機能
クラスターキャッシュ管理
プライマリインスタンスで使用していたキャッシュ情報をリードレプリカに同期することで、フェイルオーバーしたときの影響を抑える。
Aurora グローバルデータベース
複数リージョンにまたがるデータベースを構築することで、リージョン単位の大災害があっても災害復旧ができる。
リージョン間のデータのコピーは自動的に実行する。
バックトラック機能
DBクラスターを指定時間まで数分で巻き戻す機能のこと。
Aurora serverless
DBインスタンスのサイズ指定を必要とせず、オンデマンドで自動スケーリングできる機能のこと。
Auroraキャパシティユニット(ACU)を増減し、自動スケーリングする。
障害挿入クエリ
CloudWatch等のモニタリングが正しく機能しているかどうかをテストするために使用する。
Amazon Redshift
Amazon RedshiftはAmazon Web Services (AWS) が提供する完全マネージド型のペタバイト規模のデータウェアハウスサービスです。Redshiftは、大量のデータセットに対して高速なクエリパフォーマンスを提供することを目的として設計されています。
主な特徴
パフォーマンス: Redshiftは列指向データベースであり、高速なクエリ実行のためにデータを最適に配置します。また、マシンラーニング、高速なクエリエンジン、および大量のデータの並列処理能力を活用しています。
スケーラビリティ: ユーザーは数GBからペタバイト規模のデータにわたるスケールの拡張や縮小を簡単に行えます。
高可用性: Redshiftはデータを複数のノードに自動的にレプリケートすることで、障害からの回復能力を高めています。
SQLインターフェース: Redshiftは、既存のビジネスインテリジェンスツールとの互換性を持つ標準的なSQLクエリをサポートしています。
コンソールとAPI: RedshiftはAWS Management ConsoleやQuery Editorを通じて管理・操作でき、またAPIも提供されているため、プログラムからのアクセスも可能です。
Redshift Spectrum
Redshift Spectrumを使用すると、Redshiftクエリを使用してAmazon S3の大量の非構造化データに直接クエリを実行できます。
Concurrency Scaling(同時実行スケーリング)
同時読み取りクエリの増加に応じて自動でRedshiftクラスターを追加する。