Amazon Aurora について知らなかったすべてのこと

公開: 2022-12-07

従来のデータベース システムには、多くのパフォーマンス、可用性、およびスケーラビリティの制限があります。 Amazon Aurora は、これらの制限に対するソリューションです。

ビジネスを運営するアプリを強化するには、データベースが必要です。 より良いサービスを提供するには、より大きく、より信頼性が高く、より高速である必要があります。 アマゾン ウェブ サービスにより、企業はデータを簡単に管理し、顧客満足度を向上させることができます。

Amazon の AWS Aurora Web サービスは、そのようなサービスの一例です。 クラスター ボリュームを使用してデータを管理し、緊急バックアップ用に割り当てます。

アマゾンオーロラとは?

クラウドネイティブ データベースである Amazon Aurora は、オープンソースの MySQL および PostgreSQL と完全に互換性があります。 Aurora は、オープンソースの MySQL 機能をすべてサポートしています。 また、これらのデータベースで実行されるアプリケーションとのドロップイン互換性も確保します。

Aurora は、オープンソース データベースの費用対効果とシンプルさを備えながら、商用データベースと同じパフォーマンスを備えたフル マネージド データベース サービスを必要とするお客様向けに設計されました。

YouTube ビデオ

Aurora は、従来の MySQL の 5 倍、PostgreSQL の 3 倍のパフォーマンスを提供します。 Amazon RDS は、プロビジョニング、バックアップ、リカバリなどのタスクを処理します。 初期費用は不要で、月額料金のみをお支払いいただきます。

Aurora は、商用データベースの数分の 1 のコストで優れた運用とエンタープライズ機能の実績を提供するという点でユニークです。

Aurora は比類のないパフォーマンス、可用性、セキュリティ、および信頼性をグローバルに提供します。 Aurora は、2014 年の開始以来、AWS のポートフォリオの中で最も急速に成長しているサービスです。

Amazon Aurora は何に使用されますか?

Aurora の目覚ましい成長は、多くの業界からの強い関心によって推進されてきました。 過去 12 か月間、金融サービス、ソフトウェア、インターネット、およびエンターテイメント、ゲーム、小売業界に強い関心が寄せられています。

アマゾン・オーロラ

お客様は、Aurora MySQL および Aurora PostgreSQL に移行して、MySQL および PostgreSQL データベースを統合します。 また、多くのお客様が Oracle や Microsoft SQL Server などのレガシー データベースから Aurora PostgreSQL に移行しています。

これらの「ブレイク フリー」の顧客は、高額のライセンス料を支払い、レガシー データベースに縛られることにうんざりしています。 急成長しているお客様は、すべてのリージョンで迅速かつシームレスにスケーリングすることを望んでいます。 また、AWS のサービス全体を統合できるようにしたいと考えています。

Amazon Aurora の利点

以下は、Amazon Aurora を使用する利点です。

スケーラビリティ

自動スケーリングを有効にできます。 ストレージが増えると、ストレージ容量が増加します。 また、ストレージ スペースが減少すると、データベースのサイズも減少します。

費用対効果の高い

使用した処理能力とストレージ容量に対してのみお支払いください。 初期費用やその他の料金はかかりません。 月々のお支払いも簡単です。

安全

Amazon VPC を使用すると、データベースが実行されているネットワークを分離できます。

AWS Key Management Service を使用して、データを保護する暗号化キーを作成します。

高可用性と耐久性

多くのアベイラビリティーゾーンで Aurora のレプリカを作成できます。

これは、複数の AWS リージョンに簡単に分散できるグローバル データベースであるため、ローカルの読み取り/書き込み速度が低下する可能性があります。

移行のサポート

ローカル データベースを Aurora に移行するには、pg-dump または MySQL dump コマンドを使用できます。

フルマネージド

オーロラはとても使いやすいです。 AWS RDS コンソールを使用してインスタンスを簡単にセットアップできます。 Aurora は、Amazon Cloudwatch によるモニタリングを追加料金なしで提供します。

プロビジョニング、更新、またはアップグレードについて心配する必要はありません。 Amazon は、ソフトウェアのすべての側面を完全に管理しており、必要なパッチを適用します。

Amazon Aurora の最高の機能

以下は、Amazon Aurora の優れた機能です。

スケーラビリティ: これは Amazon Aurora の最大の特徴です。 データベースは、ストレージ要件に応じて自動的にサイズが増加します。 ボリュームは最大 10 GB まで段階的に拡張でき、最大 128 TB に達する可能性があります。 これにより、シームレスなストレージが可能になります。

高スループット: SysBench ベンチマークでは、スループットが 5 倍に向上しました。 Amazon Aurora は、利用可能なメモリ、コンピューティング、およびネットワーキングを最大化するために、さまざまなソフトウェアおよびハードウェア技術を採用しています。 クォーラムなどの分散システム手法を使用して、パフォーマンスの一貫性、入出力操作を改善する。

インスタンスのモニタリングと修復: Amazon RDS は、Amazon Aurora データベースと基盤となる EC2 インスタンスの状態とパフォーマンスを継続的にモニタリングします。 データベースに障害が発生し、関連するすべてのプロセスが発生した場合、Amazon RDS はデータベースを自動的に再起動します。

暗号化: Amazon Aurora は、AWS Key Management Service を通じて制御および作成するキーを使用してデータベースを暗号化できるようにすることで、高度なセキュリティを提供します。 Amazon Aurora は SSL 暗号化を使用して、転送中のデータを保護します。

使いやすい : Amazon Aurora の使い方は簡単です。 Amazon RDS マネジメント コンソールを使用して、新しい Amazon Aurora DB インスタンスを作成します。 この API 呼び出しまたは CLI は、1 つの API 呼び出しのみを受け取ります。 Amazon Aurora DB インスタンスは、各 DB インスタンス タイプに適したパラメータと設定で事前構成されています。

費用対効果: 使用した分だけ支払う。 初期費用やその他の料金はかかりません。 月々のお支払いも簡単です。

移行サポート: ローカル データベースを Aurora から Aurora に移行するには、pg-dump または MySQL dump コマンドを使用できます。

Aurora は完全マネージド型です: すぐに使い始めることができます。 AWS RDS コンソールを使用してインスタンスを作成するか、コードから API を呼び出すだけです。 プロビジョニング、更新、またはアップグレードについて心配する必要はありません。

Amazon Aurora のアーキテクチャ

Aurora データベースのアーキテクチャ全体は、従来の DBMS の上に構築されています。 トランザクション マネージャ、クエリ実行エンジン、リカバリ マネージャなどの DBMS コンポーネントの大部分を再利用します。

Amazon Aurora は、従来のゲームを超えた新しい DBMS です。 既存の DBMS に多くの改善を加えて、可用性、信頼性、およびスケーラビリティを向上させます。

これらの変更は次のとおりです。

  • プライマリ レプリカのセットアップが使用されます
  • データのリモート ストレージを複製可能
  • 変更ログのみがリモート ディスクに保存されます

Amazon Aurora のアーキテクチャは、従来のリレーショナル データベースのストレージ レイヤーをスケールアウトできます。

Amazon Aurora のプライマリ データベース インスタンスは、REDO ログをストレージ レイヤーに渡して処理します。 ログは、新しいページ バージョンを作成して保存し、すべてを S3 にバックアップするストレージ レイヤーによって処理されます。

Amazon Aurora のアーキテクチャ
画像クレジット: AWS

Amazon Aurora は、追加のデータベース エンジン インスタンスを作成し、スケールアウト時にそれらを既存のストレージ レイヤーに接続するだけで済みます。 これにより、並列処理のためのこれらのタスクをストレージ レイヤーに委任することで、データ レプリケーションのボトルネックが解消されます。

これにより、次のような多くの新機能を作成できます。

  • インスタント クラッシュ リカバリ:最後のチェックポイントからログを再生する必要はありません
  • 迅速なフェイルオーバー:どのレプリカ データベースに最新の REDO ログ レコードがあるかを心配する必要はありません。 ストレージ層がそれを処理します。
  • バックトラッキング:ストレージ層は REDO ログをストリーミングしているため、S3 バックアップからチェックポイントを復元することなく、データを過去の特定の時点に「巻き戻す」ことができます。

Amazon Aurora のセットアップ

以下は、Amazon Aurora を正常にセットアップするための手順です。

#1。 AWS マネジメント コンソールにログインし、RDS を開きます。

アマゾンRD

#2。 [データベースの作成] をクリックします。

データベースを作成する

#3。 エンジン オプションとしてAmazon Aurora を選択します。

アマゾンオーロラ

#4。 必要なAurora MySQLバージョンを選択します。

オーロラ mysql

#5。 DB クラスター識別子を作成し、資格情報設定のユーザー名とパスワードを設定します。

オーロラ設定

#6。 ドロップダウン オプションからインスタンス構成を選択し、レプリカを作成するかどうかのオプションを選択します。

aurora インスタンス構成

#7。 以下に示すように、接続オプションを選択します。

オーロラ接続

#8。 既存の VPC セキュリティ グループから選択するか、新しいものを作成します。

オーロラ vpc

#9。 拡張モニタリングを有効にし、粒度とモニタリングロール オプションを選択します。

#10。 最後に、 create databaseをクリックします。

オーロラ監視

#11。 Amazon Aurora データベースが正常に作成されました。

オーロラ データベース

料金モデル: Amazon Aurora

Aurora Serverless ACU v2 の料金は 1 時間あたり 0.12 USD で、プロビジョニングされた Aurora ACU の料金の 2 倍です。 これの意味は:

  • 現在の最小ランニング コスト: 4 ACU、1 時間あたり 0.48 USD または 1 か月あたり 350 USD
  • 自動スケーリング機能を病理学的にトリガーしているワークロードの場合、スケーラビリティは最小で 30 秒、または半分の ACU で $0.0005 増加します。

Aurora Serverless V2 の月額料金は 350 USD です。 各自動スケーリング イベントには、少なくとも $0.0005 が課金されます。 Aurora の同等の容量は月額 175 ドルですが、応答性の高いサーバーレスの自動スケーリングはありません。

ユースケース: Amazon Aurora

#1。 サービスとしてのソフトウェア (SaaS)

ストレージとインスタンスのスケーリングに柔軟に対応できるマルチ タレント アーキテクチャを使用します。 その結果、Amazon Aurora により、企業は高品質のアプリケーションの開発に集中でき、データベースについて心配する必要がなくなります。

#2。 ゲーム目的

AWS Aurora は、リレーショナル データベースと同じように機能します。 高スループット、大容量のストレージ容量、高可用性、および高可用性を提供します。

#3。 エンタープライズ アプリケーション

Amazon Aurora は、リレーショナル データベースよりも優れている企業と互換性があります。 Aurora は、他のオプションと比較して最大 90% の価格を削減するため、費用対効果が高くなります。

Aurora の MySQL および PostgreSQL との互換性

Amazon Aurora は、高いパフォーマンス、グローバルな可用性、MySQL/PostgreSQL との完全な互換性のために構築されています。 標準ツールを使用すると、Aurora から MySQL および PostgreSQL データベースを簡単に移行できます。 また、最小限のコード変更で、Aurora PostgreSQL 用の Babelfish を使用してレガシー SQL Server アプリを実行することもできます。

Amazon Aurora は、pg_dump や pg_restore などの標準の PostgreSQL インポート/エクスポート ツールと連携します。 Amazon RDS または MySQL DB スナップショットを使用して、新しい Amazon Aurora テーブルを作成することもできます。

通常、DB スナップショットはすぐに完了しますが、移行するデータの量と形式によって異なります。

Amazon Aurora と Amazon RDS

建築デザイン

RDS アーキテクチャは、Amazon EC2 にデータベース エンジンを手動でインストールできるという点で似ていますが、プロビジョニングとメンテナンスは AWS に任せています。 RDS は、自動フェイルオーバー、バックアップなどの多くの機能を提供します。RDS は、Amazon EBS ボリュームを使用してログとデータベース データを保存します。

Aurora データベース ストレージ システムは信頼性が高く、フォールト トレラントです。 Aurora のデータベース ストレージは、インスタンスから独立しています。 Aurora は、それぞれが 10 GB のチャンクを持つ 6 つのコピーにデータを保存します。 これらのコピーは、3 つのアベイラビリティー ゾーンに配布されます。 Aurora インスタンスが 1 つしかない場合でも、データのコピーは 6 つ存在します。

パフォーマンス

RDS は SSD ストレージを使用して、I/O スループット パフォーマンスを向上させます。 利用可能な 2 つの SSD バックアップ ストレージ オプションがあります。 1 つは高性能 OLTP アプリケーション用で、もう 1 つは汎用で費用対効果の高い用途向けです。

Aurora は、同等のハードウェア上で PostgreSQL の 2 倍、標準の MySQL の 5 倍のパフォーマンスを提供します。 Aurora のパフォーマンスは一貫して高く、より安定しています。

データベース エンジンのサポート

RDS は、MySQL、PostgreSQL、MariaDB、および Microsoft SQL Server と Oracle と互換性があります。

Aurora は PostgreSQL と MySQL の両方と互換性があります。 これは、変更を加えることなく、PostgreSQL と MySQL の両方で既存のデータベース ツールとアプリを使用できることを意味します。

耐久性と可用性

Aurora には、非常に低い RPO (目標復旧時点) で継続的なバックアップと復元を可能にする独自のストレージ モデルがあります。 これにより、RDS よりも信頼性と耐久性が向上します。

Aurora の設計により、データは耐久性があります。 データの複数のコピーが常に存在します。 各 Aurora クラスターには、3 つの AZ にまたがる 6 つのストレージ ノードがあります。 コンピューティング ノードが 1 つしかない場合でも、データの複数のコピーが存在します。

回復力

そのアーキテクチャ設計により、Aurora は RDS よりも回復力があります。 障害からの回復が早い。 計算ノードがクラッシュした場合、Aurora は迅速に回復できます。

保管所

RDS ストレージの自動スケーリングは、増加するデータベース ワークロードに対応するために、ストレージ容量を 64 TiB (SQL Server の 16 TiB を除く) にスケーリングします。 ダウンタイムはありません。

Aurora は、ストレージを最小 10 GB から最大 128 TiB に増やすことで、ストレージを自動的に増やします。 ストレージは、データベースのパフォーマンスに影響を与えることなく、10 GB 単位で増加します。

スケーラビリティ

垂直スケーリング: RDS と Aurora の両方で、メモリとコンピューティング リソースを最大 244 GiB RAM と 32 個の仮想 CPU にスケーリングできます。 ほんの数秒で、オペレーションをスケーリングできます。

Aurora Auto Scaling 動的: Aurora Auto Scaling は、シングルマスターレプリケーションを使用して、Aurora DB クラスターで使用できる Aurora レプリカの数を動的に調整します。 RDS は、このような Auto Scaling をサポートしていません。

レプリケーション

RDS を使用して、最大 5 つのレプリカを提供できます。 レプリケーションのプロセスも Aurora よりも遅くなります。

Aurora は最大 15 個のレプリカをプロビジョニングでき、レプリケーションには数秒しかかかりません。 Aurora は、新しいリードレプリカをすばやく追加できるため、より迅速にスケーリングします。

フェイルオーバー

RDS では、レプリカを読み取るためのフェイルオーバーは手動で行われます。 これにより、データが失われる可能性があります。 マルチ AZ (スタンバイ インスタンス) を使用して、フェイルオーバーを自動化し、データ損失を防ぐことができます。

データの損失を防ぐために、Aurora はフェイルオーバーを使用してレプリカを自動的に読み取ります。 Aurora のフェイルオーバー時間は高速です。

クラスタ エンドポイント

RDS には、書き込みクエリの実行に使用できるクラスター エンドポイントがあります。 これは、現在のマスター データベース インスタンスへの DNS ポインターです。 RDS は、フェイルオーバー中に単純な DNS 変更を介してエンドポイントを新しいマスターにルーティングします。

クラスター エンドポイントは、引き続き Aurora でクエリを作成するために使用できます。 このエンドポイントは、読み取りレプリケーションのロード バランサーとしても機能します。 このエンドポイントは、読み取りクエリに応答するために使用できます。

バックアップ

RDS は、DB インスタンスのバックアップ期間中に、DB インスタンスのバックアップを自動的に作成して保存します。 RDS は、DB インスタンスのスナップショットをストレージ ボリュームとして作成し、選択したデータベースだけでなく、すべてのデータベースをバックアップします。

Aurora は自動的にクラスター ボリュームをバックアップし、バックアップ保持期間中はデータを復元し続けます。 Aurora バックアップは継続的かつ増分的であるため、バックアップ保持期間内の任意のポイントをすばやく復元できます。

以下は、Amazon Aurora と Amazon RDS をまとめた表です。

アマゾン オーロラアマゾン RDS
ストレージを 10 GB から 64 GB に拡張できますRDS では、すべてのエンジンで 64 GBS を使用できますが、SQL サーバーでは 16 GB しか使用できません
メモリとコンピューティングを最大 32 個の vCPU と 244 GiB の RAM にスケーリングできますオーロラと同じ
MySQL と PostgreSQL をサポートMicrosoft SQL Server、MariaDB、Oracle データベース、MySQL、PostgreSQL、および Amazon Aurora をサポート
15 個のレプリカをサポート5 つのレプリカをサポート
料金は I/O 操作によって異なります最低利用料金なしで無料でお試しいただけます

Amazon Aurora と DynamoDB の比較

耐久性と可用性

DynamoDB データの各部分は、複数の物理ノードに複製されます。 Amazon はこれらの物理ノードを複数のゾーン (別名アベイラビリティーゾーン) に配置して、火災や大規模な停電などの災害が発生した場合に高い耐久性と可用性を確保しています。 1部ダウンしても運用は継続されます。 また、SSD は信頼性と耐久性にも優れています。

バックアップと復元

DynamoDB は、オンデマンド バックアップと PITR (ポイント イン タイム バックアップ) を提供します。これにより、あらゆるデータベース状態にアクセスできます。 DynamoDB は、任意の量のデータをバックアップできます。 パフォーマンスと可用性は影響を受けません。 バックアップにはほとんど時間がかからず、ユーザーはバックアップ スケジュールやバックグラウンド プロセスについて心配する必要がありません。 AWS では、1 回の API 呼び出しだけでバックアップを復元できます。

Amazon Aurora のバックアップ プロセスは、DynamoDB と似ています。 これは、パフォーマンスの中断やデータベース サービスの中断なしで作成されました。 Amazon バックアップは S3 バケットに保存されます。 バックアップ ウィンドウを指定しない場合、Aurora は 30 分のバックアップを自動的に作成します。

アクセス制御

DynamoDB は、データベースの作成とクエリ権限を制限するきめ細かいポリシーで IAM ユーザーとロールをサポートします。 Amazon Aurora にも同様のアクセス許可スキームがあります。

ただし、Aurora は、データベースに接続するための MySQL および PostgreSQL 互換の接続インターフェイスも提供します。

リージョン サービスである DynamoDB は、VPC 境界の対象ではありません。 ただし、Aurora DB クラスターは、ネットワーク境界を明確に定義する VPC で確立する必要があります。 VPC セキュリティ グループを使用して、データベース インスタンスへの接続を許可するデバイスまたは Amazon EC2 インスタンスを制御することもできます。

以下は、Amazon Aurora と DynamoDB の要約表です。

アマゾン オーロラDynamoDB
MySQL と PostgreSQL をサポートするリレーショナル データベースNoSQL データベース
マルチリージョン、シングルマスターマルチリージョン、マルチマスター
レプリカは 1 分でプライマリに昇格できます高可用性
レプリケーションのレイテンシは 1 秒未満ですレプリケーションのレイテンシはミリ秒未満

結論

それだけでした。 私たちは皆、リレーショナル データベースの新しい時代に入りつつあり、Aurora は始まりに過ぎません。 顧客は圧倒的な同意で応えました。 Capital One、Dow Jones、Netflix、Verizon など、あらゆる業界のリーダーが、リレーショナル データベースのワークロードを MySQL や PostgreSQL 互換のエディションを含む Aurora に移行しています。