🌃

【AWS】Amazon Aurora

2024/09/14に公開

Amazon Aurora(Aurora)とは、Amazon Relational Database Service(Amazon RDS)[1]の一部で、MySQLとPostgreSQLに完全な互換性があるフルマネージド型[2]のリレーショナルデータベースエンジン[3]です。

標準MySQLと標準PostgreSQLの機能性や性能を十分なものにすべく開発されたAuroraは、現在ECサイトAmazonやNetflixなどに利用されています[4]

今回は、そんなAuroraについて説明します。

特徴

高性能

標準MySQL、標準PostgreSQLより高速

Auroraは、標準MySQLの最大5倍、標準PostgreSQLの最大3倍スループットが向上しています[5]。これは、Auroraが利用可能なコンピューティング、メモリ、ネットワークをデータベースエンジンが最大限に活用できるよう、さまざまなソフトウェアおよびハードウェアの技術が使用されているためです。
使用できるバージョンが限られているため注意が必要ですが、AWSでMySQLおよびPostgreSQLを使用したい場合は、基本的にAuroraを使うのが良いでしょう。

優れたスケーラビリティ

Amazon RDS APIまたはAWS Management Consoleを使用して、プロビジョニングされたインスタンスをスケールアップまたはスケールダウンできます。このスケーリングは数分で完了します。

また、Auroraはストレージもニーズに合わせて自動的にスケーリングします。
また、ストレージのニーズも大きくなると、データベースのボリュームも大きくなります。ボリュームは10GBごとに最大128TiBまで拡張されます。そのため、ユーザー側でデータベースに余分なストレージをプロビジョニングする必要はありません。

簡単な操作

Amazon RDS Management Consoleから簡単な操作でデータベースのセットアップ、運用、スケーリング、およびアプリケーションとの接続が可能です。

高可用性と耐久性

マルチAZ配置

Auroraは、1つのAWSリージョンの中に3つのアベイラビリティゾーンがあります。
リージョンとAZ
引用:リージョンとアベイラビリティゾーン - Amazon Aurora

DBクラスターのデータは、この3つアベイラビリティゾーンにまたがるかたちで存在するデータベースボリュームにコピーされます。
データベースボリュームは自動的に10GBのセグメントに分割され、多数のディスクに分散しています。10GBのデータベースボリュームが3つのアベイラビリティゾーンにわたって6つのストレージノードに分散されています。

DBクラスターの構成
引用:Amazon Aurora DB クラスター - Amazon Aurora

優れたコスト効率

Auroraは事前の契約が不要です。起動するインスタンスごとに時間単位の料金が発生します。DBインスタンスの使用が完了したら、そのインスタンスを削除できます。予備としてストレージを多めにプロビジョニングする必要はなく、実際に消費したストレージに対してのみ料金が発生します。

移行サポート

MySQL、PostgreSQLデータベースの移行

標準MySQLおよび標準PostgreSQLのインポートおよびエクスポートツールは、Auroraと連動しています。
また、Amazon RDS for MySQLおよびAmazon RDS for PostgreSQLのDBスナップショットから新しいAuroraデータベースを作成することも簡単にできます。
DBスナップショットを利用した移行操作は通常一時間以内に完了しますが、移行するデータ量および形式によって異なります。

参考

脚注
  1. マネージド型のリレーショナルデータベースデータベースサービス ↩︎

  2. バックアップや自動的な障害検出、および復旧など、データベース運用における面倒な部分をAWSが行ってくれる ↩︎

  3. データを整理しやすい形で保管し、必要に応じて柔軟にアクセスできるシステム ↩︎

  4. お客様 - Amazon Aurora | AWS ↩︎

  5. リレーショナルデータベース - Amazon Aurora MySQL PostgreSQLの特徴 - AWS ↩︎

Discussion