Amazon Auroraの利点とAmazon RDS for PostgreSQLを含むデータベースの移行について

はじめに

Amazon Auroraは、Amazon RDS(Relational Database Service)を使ったフルマネージド型サービスです。本記事では、まずAmazon Auroraの概要とAmazon Aurora with PostgreSQLの利点について紹介します。その後、Amazon RDS for MySQLまたはAmazon RDS for PostgreSQLから、Amazon Auroraへのデータベースの移行について紹介します。

Amazon Aurora

Amazon Auroraは、MySQLやPostgreSQLと互換性があるクラウド向けのリレーショナルデータベースエンジンです。従来のエンタープライズデータベースのパフォーマンと可用性だけでなく、オープンソースのシンプルさとコスト効率性にも優れます。また、Amazon Auroraは、Amazon RDSを使ったフルマネージド型サービスであるため、次の管理タスクが自動化されます。

ハードウェアのプロビジョニング、データベースのセットアップ、パッチ適用、バックアップ、リカバリ、障害検出、リペア

PostgreSQLに関するAmazon Auroraの利点について、次の項目のを中心に本記事では紹介します。

  1. パフォーマンスとスケーラビリティ
  2. 可用性と耐久性
  3. 移行サポート

1. 優れたパフォーマンスとスケーラビリティ

PostgreSQLの3倍のスループット

Amazon AuroraではPostgreSQLよりも高いパフォーマンスを実現するために、次のような工夫をしています。

  • データベースワークロード用のSSDベースの仮想化ストレージレイヤーとデータベースエンジンを完全な統合
  • ストレージシステムに対する書き込みの削減
  • ロックの競合の最小化
  • データベースのプロセススレッドの排除

これにより、SkyBenchによる標準のベンチマークテストの結果では、同様のハードウェア上の標準的なPostgreSQL 9.6と比較して最大3倍のスループットパフォーマンスを示しました。また、I/Oオペレーションには、クォーラムのような分散型システム技術が採用され、パフォーマンスの一貫性が向上されています。

容易なコンピューティングスケーリング

  • Amazon RDS APIを使用する
  • AWSマネジメントコンソールを数回クリックする

Amazon Auroraでは、上記のいずれかの作業だけで、デプロイしているコンピューティングとメモリのリソースをスケールアップ / スケールダウンすることができます。

ストレージのAuto – Scaling

Amazon Auroraでは、データベースのニーズの増大に応じて10GBごとに自動的にデータベースのサイズを拡張します。(最大64TBまで拡張可能)

低レイテンシーのリードレプリカ

データベースに最大15個のリードレプリカを作成することで、大量のアプリケーションリクエストをサポートできるように読み取りスループットを向上させています。また、ここでのAmazon Auroraの特長は次のものがあります。

  • Amazon Aurora レプリカ - ソースインスタンスとして基盤となるストレージを共有しており、コストの削減とレプリカノードへの書き込みの実行が不要です。これにより、読み取りリクエストに対応するための処理能力が向上し、レプリカの遅延時間が1桁ミリ秒まで短縮されます。
  • 読み取りエンドポイントを提供 - アプリケーションから接続するためにレプリカの追加や削除の追跡が不要です。
  • Auto-Scalingをサポート - ユーザーが指定するパフォーマンスメトリクスの変化に応じて自動的にAmazon Auroraレプリカを追加・削除します。

カスタムエンドポイント

カスタムエンドポイントを利用することで、異なるデータベースインスタンスに対して、ワークロードの分散と負荷の調整が可能になります。

2. 高可用性と耐久性

インスタンスのモニタリングと修復

Amazon RDSは、Amazon Auroraデータベースと基盤となるEC2インスタンスを継続的にモニタリングします。データベースに障害が発生すると、Amazon RDSはデータベースと関連する処理を再起動します。このときのAmazon Auroraの利点は次のものが挙げられます。

  • 再起動時間の短縮 - Amazon Auroraでは、データベースREDOログのクラッシュリカバリリプレイが不要のため、再起動時間の大幅な短縮が可能です。
  • キャッシュの保持 - Amazon Auroraはデータベースのバッファキャッシュをデータベース処理から隔離するため、データベースの再起動時にキャッシュが削除されません。

マルチAZ配置とAmazon Auroraレプリカ

Amazon Auroraの障害発生時の対応を以下に示します。

  • インスタンスに障害発生 - Amazon AuroraはRDSマルチAZテクノロジーを使用して、3つのアベイラビリティゾーン(AZ)に作成した最大15個のAmazon Auroraレプリカのうちの1つに自動でフェイルオーバーします。
  • Amazon Auroraレプリカがプロビジョニングされていない状態での障害発生 - Amazon RDSによって新しいAmazon Auroraデータベースインスタンスの作成が自動的に作成されます。

グローバルデータベース

グローバルに分散されたアプリケーションの場合は、Amazon Aurora Global Databaseを使用できます。Amazon Aurora Global Databaseは、グローバル分散アプリケーション向けに設計されており、単一のAmazon Auroraデータベースを複数のAWSリージョンにわたって運用できます。

Amazon Aurora Global Databaseでは、次のものを使用することで高速なローカルの読み取りや迅速な災害対策を実現できます。

  • ストレージベースのレプリケーション - 1秒未満の通常のレイテンシーで、複数のAWSリージョンにわたり、データベースをレプリケートします。
  • セカンダリリージョン - リージョンの縮小や停電からの迅速な復旧に備えることができます。

耐障害性と自己修復機能を備えたストレージ

  • 耐障害性 - データベースの書き込み性能に影響を与えることなく最大2つ、読み込み性能に影響を与えることなく最大3つの損失を透過的に処理します。
  • 自己修復機能 - データブロックとディスクはエラー検出のために継続的にスキャンされ、自動的に置き換えられます。

自動的かつ継続的な増分バックアップとポイントインタイム復元

Amazon Aurora のバックアップ機能は、直近で5分前まで、保存期間内(最大35日まで設定可能)の任意の時点にデータベースを復元させることができます。バックアップはAmazon S3に保存されます。Amazon Aurora のバックアップは、データベースのパフォーマンスに影響を与えることなく、自動的かつ継続的な増分バックアップを可能にします。

3. 移行サポート

PostgreSQLデータベースの移行

PostgreSQLの標準的なインポート / エクスポートツールは、pg_dumpやpg_restoreで動作します。Amazon Auroraは、Amazon RDS for PostgreSQLからのスナップショットインポート、Amazon DMSによるレプリケーションもサポートしています。

商用データベースの移行

Amazon Aurora with PostgreSQL compatibilityでは、データベースワークロードを商用データベースから移行するための環境を提供しています。また、Amazon DMSを使用すると、ダウンタイムを抑えつつ安全に移行できます。

Amazon Auroraへのデータベースの移行

(※ここでは、Amazon RDS for MySQLまたはAmazon RDS for PostgreSQLからの移行について紹介しますが、Amazon Auroraでは、AWS Schema Conversion ToolやAmazon DMSを利用し、OracleやMicrosoft SQL Serverを含むオンプレミスデータベースから簡単に移行することもできます。

前述の移行サポートの部分でも紹介しましたが、Amazon RDS for MySQLまたはAmazon RDS for PostgreSQLからAmazon Auroraへ移行する作業はシンプルで、以下の手順を踏むと完了します。

  • Amazon RDSコンソールからスナップショットを作成する
  • 作成したスナップショットからAuroraインスタンスを作成する

Amazon AuroraはMySQLやPostgreSQLと高い互換性があるため、アプリケーションを変更することなく、新しいインスタンスへ容易に再接続できます。

まとめ

本記事では、Amazon Auroraの利点に関してPostgreSQLを中心に紹介しました。その後、Amazon RDS for MySQLまたはAmazon RDS for PostgreSQLからAmazon Auroraへのデータベースの移行について紹介しました。Amazon Auroraはクラウド向けに構築され、MySQLとPostgreSQLに高い互換性をもち、商用データベースと同等のパフォーマンスと可用性を1/10のコストで実現できるサービスです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です