LoginSignup
7
6

More than 1 year has passed since last update.

【AWS】AuroraとRDSの違いチートシート

Posted at

AWS Certified - Database Specialty(DBS-C01)の勉強をしていたとき、問題集でAuroraやRDSの違いに関する問題をやたらとみかけたので、自分用にメモとしてまとめました。

この記事では、そのメモをベースとした、試験対策やデータベースアーキテクチャ選定の際の参考資料として活用できるチートシートをご紹介します。

チートシート

項目 Amazon Aurora Amazon RDS
インスタンスとストレージの分離 あり(独立してスケーリング可能) なし
レプリカ Auroraレプリカ(最大15個まで) スタンバイインスタンスとリードレプリカ
ストレージの指定と料金 指定不要、使用分のみ料金発生 ストレージタイプと容量を指定、料金はプランによる
Aurora Serverless あり(インスタンスタイプ指定なし、自動スケーリング) なし
Advanced Auditing あり(Aurora独自の監査機能) なし(AWS CloudTrailや外部監査ツールを使用)
クエリの並列化 あり(インスタンスとストレージの分離による高速データ処理) 一部DBエンジンで可能(パフォーマンスはAuroraより劣る可能性あり)
クラスターパラメータグループで設定変更 あり(バイナリログやS3との連携設定など) あり(DBパラメータグループを利用)
ゼロダウンタイムパッチ適用 (ZDP) あり(データベースパッチ適用時のダウンタイム最小限) なし(メンテナンスウィンドウ内でパッチ適用)
Point-In-Time Recovery (PITR) あり(復元時間が5分以内) あり(復元時間が5分以上)
SQLクエリ形式でS3へデータをエクスポート あり(データのバックアップや外部システムへの移行が容易) 一部DBエンジンで可能(機能はAuroraより限定的かも)
CloudWatchメトリクス あり(豊富なメトリクスで運用監視が容易) あり(Auroraほどのメトリクスは提供されていない可能性あり)
障害挿入クエリ あり(システムの耐障害性を試験的に確認) なし
データベースアクティビティストリーム あり(Kinesis Data Streamsとリアルタイム連携) 一部DBエンジンで可能(機能はAuroraより限定的かも)
Aurora MySQLからLambda関数を呼び出す あり(データベースとサーバーレスアーキテクチャの統合) 一部DBエンジンで可能(機能はAuroraより限定的かも)
機械学習サービスとの連携 あり(Amazon SageMakerやAmazon Comprehendと連携可能) 一部DBエンジンで可能(機能はAuroraより限定的かも)

補足説明

各項目について、簡単に補足します。

インスタンスとストレージの分離

Amazon Auroraでは、インスタンス(計算能力)とストレージ(データ保存)が分離されています。この設計により、インスタンスとストレージのスケーリングが独立して行われ、リソース使用率が最適化されます。また、ストレージの自動拡張機能があり、利用量に応じて容量が自動的に増減されるため、ストレージ管理が容易になります。

レプリカ

Auroraレプリカは、Amazon RDSのスタンバイインスタンスとリードレプリカを兼ねており、読み取り専用のインスタンスとして機能します。これにより、リードトラフィックを複数のインスタンスに分散させることができ、パフォーマンスの向上が期待できます。また、最大15個のAuroraレプリカを作成できるため、大規模な読み取り負荷にも対応できます。

ストレージの指定と料金

Auroraでは、ストレージタイプと容量を指定する必要がありません。料金は使用分のみ発生します。

Aurora Serverless

Aurora Serverlessは、インスタンスタイプを指定せずに自動的にCPUやメモリをスケーリングするオプションです。これにより、データベースの容量プロビジョニングやスケーリングに関する運用負荷が軽減され、コスト効率が向上します。

Advanced Auditing

Advanced Auditingは、Aurora独自の監査機能で、データベースのアクセスや操作に関する詳細なログを取得できます。これにより、セキュリティ監査や運用監視が容易になります。

クエリを並列化

Auroraでは、インスタンスとストレージが分離されていることから、クエリの並列処理が可能になります。これにより、高速なデータ処理やレスポンスが実現され、パフォーマンスが向上します。

クラスターパラメータグループで設定変更

Auroraでは、DBクラスターパラメータグループを利用して、バイナリログやS3との連携設定などのデータベース設定を変更できます。これにより、データベースの挙動を柔軟にカスタマイズすることができます。

ゼロダウンタイムパッチ適用(ZDP)

Auroraでは、ゼロダウンタイムパッチ適用(ZDP)という機能があります。これにより、データベースのパッチを適用する際に、システムのダウンタイムを最小限に抑えることができます。これにより、システムの可用性が向上し、運用負荷が軽減されます。

Point-In-Time Recovery(PITR)

Auroraでは、Point-In-Time Recovery(PITR)を利用して、データベースを特定の時点まで復元することができます。AuroraのPITRは、復元時間が5分以内と短く、RDSの5分よりも高速に復元を行うことができます。これにより、データ損失のリスクを最小限に抑えることができます。

SQLクエリ形式でS3へデータをエクスポート

Auroraでは、SQLクエリ形式でデータをS3にエクスポートすることができます。これにより、データのバックアップや外部システムへの移行が容易になります。

CloudWatchメトリクス

Auroraでは、Amazon CloudWatchメトリクスを利用して、データベースのパフォーマンスやリソース使用状況を監視できます。クラスターメトリクス(ストレージ使用量、IOPS)やインスタンスメトリクス(CPU/メモリ使用率)など、豊富なメトリクスが提供されており、運用監視が容易になります。

障害挿入クエリ

Auroraでは、障害挿入クエリを使用して、インスタンスやストレージの障害を意図的に発生させることができます。これにより、システムの耐障害性を試験的に確認することができます。

データベースアクティビティストリーム

データベースアクティビティストリームを利用することで、データベースのアクセスや操作に関する情報をリアルタイムでAmazon Kinesis Data Streamsに連携できます。これにより、セキュリティ監査や運用監視がより効率的に行えます。

Aurora MySQLからLambda関数を呼び出す

Aurora MySQLでは、Lambda関数を呼び出すことができます。これにより、データベータベースとサーバーレスアーキテクチャを統合し、柔軟なアプリケーション開発が可能になります。Aurora MySQLを使用することで、データベースからAWS Lambda関数を直接呼び出すことができます。これにより、データベースのイベントやトリガーに基づいてサーバーレスアーキテクチャを利用したアプリケーション開発が容易になります。

機械学習サービスとの連携

Auroraは、Amazon SageMakerやAmazon Comprehendなどの機械学習サービスと連携が可能です。これにより、データベース内のデータを活用して、機械学習モデルの学習や推論を行うことができます。データ分析や予測など、機械学習を活用したアプリケーション開発が容易になります。

参考資料

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6