Amazon Auroraについて概要を説明

Auroraについて

Auroraの概要について記載します。

Auroraとは

・AWSが提供している分散型のリレーショナルデータベースの事です。

AuroraはプライマリDBインスタンス1個、Auroraレプリカ最大15個、クラスタボリューム1個から構成され、これをAurora DB クラスタと呼びます。
プライマリインスタンスは読み書き可能なインスタンスです。Auroraレプリカは読み込み専用のインスタンスでプライマリインスタンスが停止した際にフェイルオーバーされるインスタンスです。クラスタボリュームはインスタンスのデータを3つのAZに跨って6個レプリケーションして、S3にバックアップしている記憶領域です。このような冗長構成により、可用性が99.99%を越えるよう設計されています。

・従来の商用データベースと比較して1/10程度の価格で利用可能、MySQL と比べて最大 5 倍のスループット、PostgreSQL と比べて最大 3 倍のスループットと低価格で高性能になります。

Auroraの主な機能

MySQL・PostgreSQL互換:既存のMySQL、PostgreSQLのアプリケーションやツールと互換性があります。

Amazon Aurora Global Database:データベースを複数のAWSリージョンで運用できる機能。災害時に迅速な復旧対応ができる。

Amazon Aurora Parallel Query:クエリ処理を並列実行する機能。クエリ処理を高速化できる。

Amazon RDS Performance Insights:データベースを監視する機能。問題を検出しパフォーマンスを最適化できる。

Amazon Aurora Serverless:データベースの自動スケーリング機能。コスト効率を最適化できる。

Amazon Aurora Machine Learning:Amazon SageMakerとAmazon Comprehendとの統合により、機械学習を用いた予測が可能。

MySQL・PostgreSQL 互換

・運用、操作について:コード、アプリケーション、ドライバー、ツールをほとんど変更せずに使用可能です。
・データ移行について:
Amazon RDSで作成したDBはMySQLとPostgreSQLで同様の方法で移行可能です。スナップショットを作成して、そのまま移行する方法と、RDSのインスタンスからAuroraレプリカを作成して、それを基にAuroraDBクラスタを作成する方法があります。

Amazon RDS外部で作成したDBについても、PostgreSQLとMySQLで方法は異なりますが移行する事が可能です。
PostgreSQLの場合は、S3にデータ保存した物をPostgreSQLの拡張機能を使用する事で、Auroraにインポートする方法があります。
MySQLの場合は、mysqldumpをAuroraクラスタにインポートする方法、S3バケットにバックアップファイルをコピーし、そこからAuroraクラスタを復元する方法、テキストファイル形式でS3にコピーし、それをLOAD DATA FROM S3 MySQLを使用して既存のAuroraクラスタにロードする方法があります。

Amazon Aurora Global Database

1個のプライマリAWSリージョン(データのマスター管理用のクラスタ)と最大5個セカンダリAWSリージョン(読取り専用のクラスタ)から構成されます。プライマリのデータ変更は1秒以内にセカンダリへ反映されます。災害などでプライマリAWSリージョンが使用できなくなった場合は1分以内にセカンダリAWSリージョンへフェイルオーバーします。

Amazon Aurora Parallel Query

クエリ処理を並列実行してくれる機能です。並列クエリ機能を有効にする事が実行可能で、並列実行されるクエリは自動判定されます。並列実行する事でI/Oパフォーマンスの向上、ネットワークトラフィックの現象、CPU使用率の減少、メモリ負荷の減少などの効果が期待できます。

Amazon RDS Performance Insights

データベースを監視し、負荷状況を可視化する事が可能です。また負荷を発生させているSQL ステートメントと理由を調査することも可能です。7日間のパフォーマンス履歴を無料で保存でき、最大2年間の履歴を有料で保存できます。

Amazon Aurora Serverless

データベースの容量を自動でスケーリングしてくれる機能です。データの使用状況に合わせて、スケールアップ、スケールダウンするだけでなく、使用していないデータベースは自動的にシャットダウンされ、使用しているリソース分だけの料金を支払う形になるため、コスト効率が最適化されます。

Amazon Aurora Machine Learning

Amazon SageMakerとAmazon Comprehendを利用した機械学習が可能です。Amazon SageMakerは機械学習モデルを構築できる統合開発環境です。Amazon Comprehendは機械学習を使用して、インサイトや関係性検出をするための自然言語処理サービスです。

最後に

MySQL、PostgreSQLのデータをクラウド移行する際には非常におすすめのデータベースなのではないかと思いました。低価格で高性能になるため、新たにMySQL、PostgreSQL形式でデータベースを構築したい場合にも良いと思います。

コメントを残す

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