認識すべきAmazon AuroraとPostgreSQLの長所 両者の使い分けポイントに迫る
Amazon Auroraは何が良いのか?PostgreSQLとの違いを語れるようになろう!

アマゾン ウェブ サービス(AWS)ではIaaSだけでなく、様々なマネージドサービスの利用が増えている。現状ではリレーショナル・データベースシステム(RDBMS)においても、マネージドサービスの利用は例外でない。AWSが提供するRDBMSのマネージドサービスには、様々なエンジンが選べる「Amazon RDS」があり、独自エンジン「Amazon Aurora」(以下、Aurora)もある。これらはどのように使い分ければ良いのだろうか。アシスト主催セミナー「Cloud Database Days 2022」にて発表された「Amazon Auroraは何が良いのか?PostgreSQLとの違いを語れるようになろう!」から、それらの使い分けについて話を聞いた。
様々なエンジンが選べる「Amazon RDS」
RDBMSをAWSに移行するには、オンプレミスのRDBMSのイメージをそのまま「Amazon EC2」の仮想サーバーに載せる方法がある。この場合はEC2で動く仮想サーバーのroot権限が得られるので「自由度は高く、従来と同じような運用ができます」と話すのは、アシスト クラウド技術本部の神山太一氏だ。
しかしながら、この方法では運用管理はオンプレミスとほとんど変わらず、管理におけるスキルやコストは従来通りとなる。対してAmazon RDSはマネージドサービスのため「DBA(データベース管理者)のわずらわしいタスクをAWSにオフロードできます」と神山氏。データベースの構築、可用性の確保、バックアップの実装などが容易で、専門的なスキルもそれほど必要ない。反面、マネージドサービスには制限もあり、従来のオンプレミスの運用を変える必要も出てくるという。
Amazon RDSは、MySQL、PostgreSQL、MariaDB、SQL Server、Oracle Database、そしてAurora(MySQLおよびPostgreSQLに対応)など、現在(2022年7月時点)では7つのエンジンが選択でき、オンプレミスやAmazon EC2ベースで運用するよりも管理タスクをAWSにオフロードできる範囲は大きくなる。

Amazon RDSの中身は、仮想サーバーのAmazon EC2とブロックストレージの「Amazon EBS」の組み合わせだ。Auroraを除くエンジンに関しては、次の構成をとることができる。プライマリインスタンスを1つのAZ(アベイラビリティーゾーン)で構成し、レプリカは別のAZにスタンバイ・インスタンスとして作成可能だ。この場合、レプリカはAWSの機能を用いた同期レプリケーションとなり、フェイルオーバー先としてしか利用できないという。ただ、別途リードレプリカ・インスタンスを5つまで作ることができ、こちらはデータベースエンジンの機能を用いる非同期レプリケーションとなる。
RDBMSをクラウドに最適化したAurora
Auroraは「AWSがRDBMSをクラウド時代に最適化し、再設計したものです」と神山氏。従来のRDBMSはすべての要素を1つのエンジンにまとめたモノリシック構成だが、Auroraはスケーラビリティ、可用性、耐久性の観点から「コンピュートレイヤーとストレージレイヤーを個別のエンジンとして明確に分離しています」とのこと。
AuroraはPostgreSQLとMySQLの2つが選択でき、現在(2022年7月時点)Aurora PostgreSQLはオープンソース・ソフトウェア(OSS)のPostgreSQLバージョン10、11、12、13、14と強い互換性を保持している。そのため「SQL、クライアントアプリケーション、プロシージャーや拡張モジュールなどをそのままPostgreSQLからAuroraに移行できます」と神山氏は述べる。
また、3つのAZに対し読み書き可能なWriterインスタンス、読み取り専用のReaderインスタンスを構成可能である。Readerインスタンスは3つのAZに対し最大15個まで追加でき、Writerインスタンスに障害が発生した際は、Readerインスタンスが即時にWriterインスタンスに昇格し可用性を確保するという。

そして、Auroraの最大の特長がクラスターボリュームだ。これはストレージレイヤーの機能で、3つのAZに2つずつ、合計6つのデータコピーを冗長化して保持する論理的な“共有ディスク構成”となる。
この記事は参考になりましたか?
- この記事の著者
-
谷川 耕一(タニカワ コウイチ)
EnterpriseZine/DB Online チーフキュレーターかつてAI、エキスパートシステムが流行っていたころに、開発エンジニアとしてIT業界に。その後UNIXの専門雑誌の編集者を経て、外資系ソフトウェアベンダーの製品マーケティング、広告、広報などの業務を経験。現在はフリーランスのITジャーナリスト...
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア