Amazon Aurora 概要ガイド ​

Amazon Aurora は、AWS クラウドで利用可能なリレーショナルデータベースサービスの一つです。AWS が提供する数多くのデータベースサービスの中でも、Amazon Aurora は選択肢の一つとして位置づけられています。本記事では、Amazon Aurora の基本概念、特徴、および他のデータベースサービスとの比較について解説します。

Amazon Aurora とは ​

Amazon Aurora は、AWS クラウドで利用可能なリレーショナルデータベースサービスの一つです。AWS認定クラウドプラクティショナーの試験ガイドでは、Amazon Aurora が Amazon RDS と並んでリレーショナルデータベースの例として挙げられています。

Aurora の基本概念 ​

Aurora は、クラウドネイティブなリレーショナルデータベースとして設計されており、従来のオンプレミスデータベースや標準的な RDS とは異なる革新的なアーキテクチャを採用しています。

Aurora 固有の特徴 ​

  • クラウドネイティブ設計: AWS クラウドに最適化された独自のアーキテクチャ
  • 高パフォーマンス: MySQL 比で最大5倍、PostgreSQL 比で最大3倍のスループット
  • 分散ストレージ: 複数のストレージノードに分散保存(最大128TiB まで自動拡張)
  • 高可用性: 6つのコピーが3つのアベイラビリティーゾーンに自動的に分散保存
  • 高速復旧: 障害発生時の迅速な復旧機能とフェイルオーバー(通常10-30秒)
  • スケーラビリティ: 最大15台のリードレプリカをサポート

Amazon Aurora Serverless ​

Amazon Aurora には、Amazon Aurora Serverless というサーバーレスコンピューティングの選択肢も存在します。これは、インフラストラクチャのプロビジョニングや管理をせずにコードを実行できる AWS Lambda 関数との連携シナリオで言及されています。

Aurora Serverless の特徴 ​

  • 自動スケーリング: 需要に応じて自動的にコンピューティング容量を調整
  • 従量課金: 実際に使用した分のみ課金
  • 管理負荷の軽減: インフラストラクチャの管理が不要
  • 間欠的なワークロード: 不定期なアクセスパターンに適している

Amazon RDS のマルチ AZ DB クラスターとは異なる Aurora DB クラスターの特性 ​

AWS の情報源は、Amazon RDS のマルチ AZ DB クラスターが Amazon Aurora DB クラスターとは異なることを明確に区別しています。

Amazon RDS のマルチ AZ DB クラスター ​

Amazon RDS のマルチ AZ DB クラスターデプロイは、高い可用性とデータ冗長性を提供するために設計されており、以下の特徴があります:

構成 ​

  • 1つのライター DB インスタンスと2つのリーダー DB インスタンス
  • 同じ AWS リージョン内の異なる3つのアベイラビリティーゾーンに配置
  • 読み取りワークロードのための容量が増加
  • 書き込みレイテンシーが低減

サポート対象 ​

  • MySQL および PostgreSQL DB エンジンでサポート

Aurora DB クラスターとの違い ​

Amazon Aurora DB クラスターと RDS マルチ AZ DB クラスターには重要な違いがあります。

パラメータグループ管理の違い ​

  • Amazon Aurora MySQL と RDS for MySQL: DB パラメータグループはバージョンが異なっていても比較可能
  • Amazon Aurora PostgreSQL と RDS for PostgreSQL: DB パラメータグループは比較できない

これは、Aurora が RDS とは異なる独自のパラメータグループ管理を持つことを示唆しています。

アーキテクチャの違い ​

Aurora は従来の RDS とは根本的に異なるアーキテクチャを採用しており、以下のような特徴があります:

  • 分散ストレージ: データが複数のストレージノードに分散保存
  • 自動レプリケーション: 6つのコピーが3つのアベイラビリティーゾーンに保存
  • 高速復旧: 障害発生時の迅速な復旧機能

データベースの選定における Aurora の位置付け ​

データベースの選定において、Amazon Aurora はリレーショナルデータベースとしてその位置を確立しています。これは、Amazon RDS が提供する費用対効果の高いリレーショナルデータベースの拡張機能の一つです。

Aurora vs DynamoDB の比較 ​

AWS 認定ソリューションアーキテクト-アソシエイト試験ガイドでは、「高パフォーマンスなデータベースソリューションを選択する」というタスクステートメントの中で、適切なデータベースタイプを決定することの重要性が強調されており、その例としてAmazon Aurora と Amazon DynamoDBが挙げられています。

Aurora の特徴(リレーショナルデータベース) ​

  • 構造化されたデータ: スキーマが事前定義されたテーブル構造
  • ACID 特性: 原子性、一貫性、分離性、耐久性を保証
  • 結合操作: 複雑なクエリと複数テーブル間の結合が可能
  • SQL サポート: 標準的な SQL 構文の使用

DynamoDB の特徴(NoSQL データベース) ​

  • 柔軟なスキーマ: 事前定義されたスキーマが不要
  • 高スケーラビリティ: 大規模なデータセットに対応
  • 低レイテンシー: キーバリューアクセスによる高速応答
  • 分散設計: 水平スケーリングに最適化

選択基準 ​

Aurora を選ぶべき場合 ​

  • リレーショナルデータ: 構造化されたデータと複雑な関係性
  • 複雑なクエリ: 結合や集約を含む SQL クエリが必要
  • ACID 特性: トランザクションの整合性が重要
  • 既存システムの移行: MySQL/PostgreSQL からの移行
  • 高パフォーマンス: 従来のリレーショナルデータベースより高い性能が必要

DynamoDB を選ぶべき場合 ​

  • NoSQL データ: 柔軟なスキーマが必要
  • 高スケーラビリティ: 大規模なトラフィック処理
  • 低レイテンシー: ミリ秒レベルの応答時間が必要
  • キーバリューアクセス: 単純なデータアクセスパターン
  • サーバーレス: AWS Lambda との連携

AWS データベースサービスの全体的な位置付け ​

Aurora は、AWS の費用対効果の高いデータベースサービスの一つとして、以下の選択肢の中から適切なものを選択する際に考慮されます:

主要なデータベースサービス比較 ​

RDS vs Aurora 詳細比較 ​

項目Amazon RDSAmazon Aurora
サポートエンジンMySQL, PostgreSQL, MariaDB, Oracle, SQL Server, Db2MySQL互換, PostgreSQL互換のみ
ストレージ構造インスタンスごとにストレージ割当分散・共有ストレージ(最大128TiB、自動拡張)
レプリカ数最大5台のリードレプリカ最大15台のリードレプリカ
フェイルオーバーMulti-AZで自動化可能(60-120秒)Auroraレプリカ間で自動フェイルオーバー(10-30秒)
パフォーマンス商用DBよりは劣るが十分な性能MySQL比最大5倍、PostgreSQL比最大3倍のスループット
コストエンジン・インスタンスタイプにより変動RDSよりやや高めだが高性能・高可用性
サーバーレス対応非対応Aurora Serverlessで自動スケーリング
バックアップ継続的バックアップ秒単位のバックアップ、高速クローン作成
グローバル展開リードレプリカでクロスリージョン対応Aurora Global Databaseで複数リージョン展開

AWS データベースサービス全体比較 ​

サービスタイプ特徴適用場面
Amazon RDSリレーショナル従来型のマネージドデータベース一般的なリレーショナルデータベース要件
Amazon Auroraリレーショナルクラウドネイティブ、高パフォーマンス高性能・高可用性が必要なリレーショナルデータベース
Amazon DynamoDBNoSQLサーバーレス、高スケーラビリティ大規模・低レイテンシーのキーバリューアクセス
Amazon Aurora Serverlessリレーショナルサーバーレス、自動スケーリング間欠的なワークロード

選択の考慮点 ​

技術的要件 ​

  • データ構造: 構造化 vs 非構造化
  • クエリの複雑性: 単純なアクセス vs 複雑な分析
  • パフォーマンス要件: レイテンシー、スループット
  • スケーラビリティ: 垂直 vs 水平スケーリング

運用要件 ​

  • 管理負荷: フルマネージド vs 部分管理
  • 可用性要件: 高可用性の必要性
  • バックアップ・復旧: データ保護の要件

コスト要件 ​

  • 初期費用: セットアップコスト
  • 運用費用: 継続的なランニングコスト
  • スケーリングコスト: 成長に伴うコスト増加

Aurora の技術的な詳細(補足) ​

注意事項 ​

提供された「Amazon RDS ユーザーガイド」の資料では、Amazon Aurora 以外の Amazon RDS データベースエンジンについて詳しく説明されており、Amazon Aurora 自体の詳細な内容はこの資料の範囲外であることが明記されています。

詳細情報の入手方法 ​

Aurora の詳細な技術仕様、設定方法、パフォーマンス特性については、以下の専用ドキュメントを参照することが推奨されます:

  • Amazon Aurora User Guide: Aurora 専用のユーザーガイド
  • AWS Documentation: Aurora の公式ドキュメント
  • AWS Well-Architected Framework: データベース設計のベストプラクティス

まとめ ​

Amazon Aurora は、AWS クラウドにおけるリレーショナルデータベースサービスの重要な選択肢の一つです。従来の RDS では実現できない高性能・高可用性要件に対応する特別なソリューションです。

Aurora の独自価値 ​

  • クラウドネイティブ設計: AWS クラウドに最適化された独自のアーキテクチャ
  • 卓越したパフォーマンス: MySQL 比最大5倍、PostgreSQL 比最大3倍のスループット
  • 分散ストレージ: 6つのコピーが3つのAZに自動分散され、自動拡張
  • 高速フェイルオーバー: 通常10-30秒での自動フェイルオーバー
  • Aurora Serverless: サーバーレスによる自動スケーリングとコスト最適化

データベース選択の決定要因 ​

Aurora を選ぶべき場合 ​

  • 高パフォーマンス要件: 標準的な RDS では不十分な場合
  • ミッションクリティカルなワークロード: 高可用性が必要な場合
  • MySQL/PostgreSQL 互換: 既存アプリケーションからの移行
  • スケーラビリティ: 最大15台のリードレプリカが必要
  • グローバル展開: Aurora Global Database が必要

RDS を選ぶべき場合 ​

  • 多様なエンジンサポート: MySQL/PostgreSQL 以外が必要
  • コスト効率: 標準的な要件で十分
  • 既存システムとの互換性: 特定のデータベースエンジン機能に依存

DynamoDB を選ぶべき場合 ​

  • NoSQL 要件: 柔軟なスキーマが必要
  • 超高スケーラビリティ: 大規模トラフィック処理
  • キーバリューアクセス: 単純なデータアクセスパターン

実践的な推奨事項 ​

  1. 要件分析: パフォーマンス、可用性、コスト要件を明確化
  2. プロトタイプ検証: 実際のワークロードでの性能テスト
  3. 段階的移行: 重要度の低いシステムから順次移行
  4. 継続的な最適化: 運用データに基づく継続的な改善

Aurora は、高性能と高可用性を求める現代のクラウドアプリケーションに最適化されたデータベースソリューションです。適切な選択により、アプリケーションのパフォーマンスと信頼性を大幅に向上させることができます。

参考リンク ​