Amazon Aurora はリレーショナルデータベースサービスで、高性能の商用データベースの可用性とスピード、およびオープンソースデータベースのシンプルさとコスト効率性を兼ね備えています。Aurora は、MySQL および PostgreSQL と完全な互換性があり、既存のアプリケーションやツールを変更することなく実行することができます。
優れたパフォーマンスとスケーラビリティ
MySQL の最大 5 倍のスループットと PostgreSQL の最大 3 倍のスループット
SysBench のような標準のベンチマークでテストした結果、同様のハードウェア上の標準的な MySQL と比べ最大 5 倍、標準的な PostgreSQL と比べ最大 3 倍のスループットの向上が見られました。Amazon Aurora には、利用可能なコンピューティング、メモリ、ネットワークをデータベースエンジンが最大限に活用できるよう、さまざまなソフトウェアおよびハードウェアの技術が使用されています。I/O オペレーションにはクォーラムのような分散型システム技術が使用され、パフォーマンスの一貫性が向上しています。
サーバーレス設定
Amazon Aurora Serverless は、Aurora のオンデマンド Auto Scaling 設定です。データベースがアプリケーションのニーズに基づいて自動的に起動、シャットダウンされ、容量がスケールアップまたはスケールダウンされます。データベースインスタンスを管理せずにクラウド内でデータベースを実行できます。
ボタンを押すだけのコンピューティングスケーリング
Amazon Relational Database Service (Amazon RDS) API または AWS マネジメントコンソールを使用して、プロビジョニングされたインスタンスをスケールアップまたはスケールダウンして、デプロイを強化することができます。通常、コンピューティングのスケーリングは数分以内に完了します。
ストレージの Auto Scaling
Amazon Aurora は、ストレージのニーズが増大するにつれて、データベースボリュームのサイズを自動的に拡張します。ボリュームは 10 GB ごとに最大 128 TB まで拡張されます。今後の拡大に備えてデータベースに余分なストレージをプロビジョンする必要はありません。
低レイテンシーのリードレプリカ
データベースに最大 15 個の Amazon Aurora レプリカを作成することで、大量のアプリケーションリクエストをサポートできるよう読み取りスループットを向上させることができます。Aurora レプリカはソースインスタンスとして基盤となるストレージを共有しているため、コストを削減でき、レプリカノードへの書き込みの実行が必要ありません。これにより、読み取りリクエストに対応するための処理能力が向上し、レプリカの遅延時間がしばしば 10 ミリ秒足らずまで短縮されます。Aurora にはリーダーエンドポイントが提供されているため、アプリケーションから接続するためにレプリカの追加や削除を追跡しておく必要がありません。また、Auto Scaling をサポートし、ユーザーが指定するパフォーマンスメトリクスの変化に応じて自動的にレプリカを追加、削除します。
Aurora ではクロスリージョンリードレプリカがサポートされています。クロスリージョンレプリカはユーザーに高速のローカルの読み込みを提供し、各リージョンにはさらにローカルの読み込みをスケールするための Aurora レプリカを 15 個追加できます。詳細については、Amazon Aurora Global Database を参照してください。
カスタムデータベースエンドポイント
カスタムエンドポイントによって異なるデータベースインスタンスに対して、分散ワークロードとロードバランスワークロードが可能になりました。例えば、Aurora レプリカのセットをプロビジョンし、分析ワークロードを実行するためにメモリ容量の大きなインスタンスタイプを使用できます。カスタムエンドポイントを使用すると、ワークロードを適切に構成されたこれらのインスタンスにルーティングし、他のインスタンスを分離しておくことができます。
Parallel Query for Aurora MySQL
Amazon Aurora Parallel Query は現在のデータと比較してより早い分析クエリを提供します。コアトランザクションワークロードの高スループットを維持しながら、クエリを最大 2 桁まで高速化することができます。クエリ処理を Aurora ストレージレイヤーにまでプッシュすると、ネットワークのトラフィックを軽減しながらコンピューティングパワーを大幅に増強できます。Parallel Query を使うと、同じ Aurora データベースでトランザクションと分析ワークロードを平行して実行できます。Parallel Query は、MySQL と互換性を持つ Amazon Aurora で利用できます。
Amazon DevOps Guru for RDS を使用してパフォーマンスのボトルネックを診断および解決する
Amazon DevOps Guru は、機械学習 (ML) を利用したクラウドオペレーションサービスであり、アプリケーションの可用性を向上させることができます。Amazon DevOps Guru for RDS を使用すれば、機械学習を利用したインサイトを使用して、パフォーマンスに関するリレーショナルデータベースの問題を簡単に検出および診断でき、問題の解決にかかる時間を数日から数分に短縮できるように設計されています。デベロッパーと DevOps エンジニアは、データベースエキスパートの助けを借りることなく DevOps Guru for RDS を使用して、パフォーマンスの問題の根本原因を自動的に特定し、問題の解決に役立つインテリジェントなレコメンデーションを取得できます。
使用を開始するには、Amazon RDS マネジメントコンソールに移動し、Amazon RDS Performance Insights を有効にします。Performance Insights を有効にしたら、Amazon DevOps Guru コンソールに移動して、Amazon Aurora リソース、その他のサポートされているリソース、またはアカウント全体のために DevOps Guru を有効にします。
高可用性と耐久性
インスタンスのモニタリングと修復
Amazon RDS は Amazon Aurora データベースおよび基盤となる Amazon Elastic Compute Cloud (EC2) インスタンスの状態を継続的にモニタリングします。データベースに障害が発生した場合、Amazon RDS はデータベースおよび関連する処理を再起動します。Amazon Aurora ではデータベース REDO ログのクラッシュリカバリリプレイが必要ないため、再起動時間が大幅に短縮されています。また、データベースのバッファキャッシュがデータベース処理から隔離されるため、データベースの再起動後もキャッシュを存続させることができます。
マルチ AZ 配置と Aurora レプリカ
インスタンスに障害が発生した場合、Amazon Aurora は Amazon RDS マルチ AZ テクノロジーを使用して、3 つのアベイラビリティーゾーンに作成した最大 15 個の Amazon Aurora レプリカのうちの 1 つに自動でフェイルオーバーします。Amazon Aurora レプリカがプロビジョンされていない状態で、障害が発生した場合には Amazon RDS によって新しい Amazon Aurora DB インスタンスの作成が自動的に試行されます。コミュニティの MySQL と PostgreSQL ドライバーを、オープンソースでドロップイン互換性のある AWS JDBC Driver for MySQL と AWS JDBC Driver for PostgreSQL に置き換えることで、フェイルオーバー時間を最小にします。また、RDS Proxy を使用することで、フェイルオーバー時間を短縮し、可用性を向上させることができます。フェイルオーバーが発生すると、RDS Proxy は新しいデータベースインスタンスに直接リクエストをルーティングし、アプリケーション接続を維持したままフェイルオーバー時間を最大 66% 短縮します。
Global Database
グローバルに分散されたアプリケーションの場合は、グローバルデータベースを使用できます。この場合は、単一の Aurora データベースが複数の AWS リージョンにまたがって高速のローカルの読み取りと迅速な災害対策を実現します。グローバルデータベースは、ストレージベースのレプリケーションを使用して、1 秒未満の通常のレイテンシーで、複数の AWS リージョンにまたがってデータベースをレプリケートします。リージョンの縮小や停電から迅速に復旧する必要がある場合に備えて、予備のリージョンとしてセカンダリリージョンを使用できます。セカンダリリージョンのデータベースは、1 分以内に完全な読み取り/書き込み機能に昇格できます。
耐障害性と自己修復機能を備えたストレージ
10 GB 単位の各データベースボリュームが、3 つのアベイラビリティーゾーンにわたって 6 つの方法でレプリケートされます。Amazon Aurora ストレージは耐障害性を備えており、データベースの書き込み性能に影響を与えることなく最大 2 つ、読み取り性能に影響を与えることなく最大 3 つのデータコピーの損失を透過的に処理します。また、Amazon Aurora ストレージには自己修復機能が備わっています。データブロックとディスクにはエラースキャンが継続的に実施され、自動的に置き換えられます。
自動的かつ継続的な増分バックアップとポイントインタイム復元
Amazon Aurora のバックアップ機能は、インスタンスのポイントインタイム復元を可能にします。これによって、直近で 5 分前まで、保持期間内の任意の時点にデータベースを復元させることができます。自動バックアップ保持期間は、最大 35 日間まで設定できます。自動バックアップは 99.999999999% の耐久性を持つよう設計された Amazon Simple Storage Service (Amazon S3) に保存されます。Amazon Aurora のバックアップは自動的かつ継続的な増分バックアップで、データベースのパフォーマンスに影響を与えません。
データベースのスナップショット
DB スナップショットはお客様が開始して Amazon S3 に保存するバックアップで、お客様が明示的に削除するまで保持されます。自動的な増分スナップショットを活用して必要な時間とストレージを削減できます。ご希望の際にいつでも、DB スナップショットから新しいインスタンスを作成することができます。
Backtrack for Aurora MySQL
バックトラックを使用すると、データをバックアップから復元せずに、データベースを過去のある時点まですばやく戻すことができます。これにより、違うテーブルをドロップしてしまった場合や、間違った列を削除してしまった場合などのユーザーエラーを迅速に修復できます。バックトラックを有効にした場合、指定されたバックトラック期間中、Aurora のデータレコードが保持されます。たとえば、最大 72 時間までデータベースを巻き戻せるようにバックトラックをセットアップできます。データレコードのコピーが不要なため、大規模データベースであってもバックトラックの実行は数秒で完了します。前後に移動して、エラーが発生する直前の時点を見つけることができます。
バックトラックは開発とテストにも役立ちます。テストによりデータの削除や無効化が起こる状況では特に有用です。元のデータベースの状態に巻き戻すだけで、別のテストをすぐに実行できます。API でバックトラックを呼び出してテストを実行するスクリプトを作成することで、テストフレームワークに簡単に統合できます。バックトラックは開発とテストにも役立ちますは、MySQL と互換性を持つ Amazon Aurora で利用できます。
高い安全性
ネットワークの分離
Amazon Aurora は Amazon Virtual Private Cloud (VPC) で実行されます。これによりデータベースを独自の仮想ネットワークに隔離できるようにし、業界標準の暗号化 IPsec VPN を使用してオンプレミスの IT インフラストラクチャに接続できます。Amazon VPC におけるAmazon Relational Database Service (RDS) の詳細については、Amazon RDS ユーザーガイドを参照してください。さらに、Amazon RDS を使用するとき、ファイアウォールを設定して DB インスタンスへのネットワークアクセスを制御することもできます。
リソースレベルのアクセス許可
Aurora は AWS Identity and Access Management (IAM) と統合されており、お客様の IAM ユーザーおよびグループが特定の Aurora リソース (例えば、DB インスタンス、DB スナップショット、DB パラメータグループ、DB イベントサブスクリプション、DB オプショングループ) で実行可能なアクションを制御できます。さらに、Amazon Aurora リソースにはタグを付けることができ、同じタグ (およびタグの値) を持つリソースグループで IAM ユーザーおよびグループが実行可能なアクションを制御できます。IAM 統合の詳細については、IAM データベース認証のドキュメントを参照してください。
暗号化
Aurora では、AWS Key Management Service (KMS) で作成および管理するキーを使用して、データベースを暗号化できます。Aurora 暗号化を使って実行するデータベースインスタンスでは、基盤となるストレージに保存される保管中のデータが、同じクラスター内の自動バックアップ、スナップショット、レプリカと同様に暗号化されます。Aurora では SSL (AES-256) を使用して転送中のデータが保護されます。
高度な監査
Aurora では、データベースのパフォーマンスに与える影響を最小限に抑えながら、データベースのイベントをログに記録できます。ログは、後でデータベース管理、セキュリティ、ガバナンス、規制コンプライアンスなどの目的で分析できます。また、Amazon CloudWatch に監査ログを送信して、アクティビティをモニタリングすることもできます。
脅威の検出
Aurora は Amazon GuardDuty と統合されており、Aurora データベースに保存されているデータへの潜在的な脅威を特定するのに役立ちます。GuardDuty RDS Protection は、アカウント内の既存および新規のデータベースへのログインアクティビティをプロファイリングおよびモニタリングし、カスタマイズされた機械学習モデルを使用して Aurora データベースへの疑わしいログインを正確に検出します。潜在的な脅威が検出されると、GuardDuty は、データベースの詳細と不審なアクティビティに関する豊富なコンテキスト情報を含むセキュリティの検出結果を生成します。AuroraとGuardDuty の統合により、データベースを変更することなく、データベースのイベントログに直接アクセスでき、データベースのパフォーマンスに影響を与えないように設計されています。
完全マネージド型
使いやすさ
Amazon Aurora の使用を開始するのは簡単です。Amazon RDS マネジメントコンソールを使用するか、1 回の API コールまたは CLI で、新しい Amazon Aurora DB インスタンスを作成できます。Amazon Aurora DB インスタンスは、選択した DB インスタンスクラスに適切なパラメータと設定であらかじめ設定されます。DB インスタンスを起動し、数分以内にアプリケーションを接続することができます。追加の設定は不要です。DB パラメータグループではデータベースの厳密な管理および微調整が可能です。
モニタリングおよびメトリクス
Amazon Aurora は DB インスタンスに Amazon CloudWatch のメトリクスを提供します。追加料金はかかりません。AWS マネジメントコンソールを使用して、コンピューティング、メモリ、ストレージ、クエリスループット、キャッシュのヒット率、アクティブな接続など、データベースインスタンスに対する 20 以上の主要な運用メトリクスを確認できます。さらに、拡張モニタリングを使用して、データベースを実行するオペレーティングシステムインスタンスからメトリクスを収集することもできます。Amazon RDS Performance Insights を使用できます。これは、データベースの負荷を視覚化するわかりやすいダッシュボードを使用して、データベースパフォーマンスの問題を簡単に検出し、是正措置を取ることができるデータベース監視ツールです。最後に、データベースエキスパートの助けを借りることなく Amazon DevOps Guru for RDS を使用して、パフォーマンスの問題を簡単に検出し、パフォーマンスの問題の根本原因を自動的に特定し、問題の解決に役立つインテリジェントなレコメンデーションを取得することもできます。
Amazon RDS ブルー/グリーンデプロイ
Amazon RDS ブルー/グリーンデプロイを使用すると、Amazon Aurora MySQL 互換エディションでデータを失うことなく、より安全、簡単、高速にデータベースの更新ができます。ブルー/グリーンデプロイは、いくつかのステップで、本番稼働用環境をミラーリングし、論理レプリケーションを使用して 2 つの環境を同期するステージング環境を作成します。本番稼働用ワークロードに影響を与えずに、メジャー/マイナーバージョンのアップグレード、スキーマの変更、およびパラメータ設定の変更などの変更ができます。
ステージング環境を昇格させると、ブルー/グリーンデプロイは、スイッチオーバーが完了するまで、ブルーとグリーンの両方の環境への書き込みがブロックされます。ブルー/グリーンデプロイは組み込みの切り替え可能なガードレールです。最大許容ダウンタイムを超過した場合にステージング環境の昇格をタイムアウトさせ、レプリケーションエラーを検出し、インスタンスの状態を確認します。
ソフトウェアの自動パッチ適用
Amazon Aurora は最新のパッチを適用してデータベースを最新の状態に維持します。DB Engine Version Management を使用して、インスタンスにパッチを適用するかどうか、またいつ適用するかを制御できます。Aurora では、可能な場合にはダウンタイムなしでパッチが適用されます。適切な時間帯を見付けてインスタンスがインプレースで更新され、パッチ適用の進行中、アプリケーションセッションが保持されたままデータベースエンジンが再起動します。これにより、スループットの低下が一時的に (5 秒ほど) 発生します。
DB イベントの通知
Amazon Aurora は、自動フェイルオーバーのような重要なデータベースイベントを E メールまたは SMS で通知します。AWS マネジメントコンソールや Amazon RDS API を使用して、Amazon Aurora データベースに関連する 40 種類を超える DB イベントをサブスクライブできます。
データベースのクローン化
Amazon Aurora では、マルチテラバイトのデータベースクラスター全体を数分で複製できる、高速かつ効率的なクローニング処理がサポートされています。クローニングは、アプリケーションの開発、テスト、データベースの更新、分析クエリの実行など、さまざまな目的に役立ちます。データをすぐに入手できるため、ソフトウェアの開発やプロジェクトのアップグレードの時間を大幅に短縮でき、より正確な分析が可能になります。
数回クリックするだけで Amazon Aurora データベースのクローンを作成でき、データ変更を保存するために追加の容量を使うことがなければ、ストレージの使用料は不要です。
データベース 開始 / 停止
Amazon Aurora データベースは手動では数回のクリックで停止と開始ができます。これにより、常にデータベースを実行する必要がない場合に、開発やテスト用に簡単に低コストで、データベースを使用できます。データベースを停止してもデータは削除されません。詳細について「開始/停止のドキュメント」を参照してください。
移行サポート
MySQL データベースの移行
標準 MySQL のインポートおよびエクスポートツールは Amazon Aurora と連動します。また、Amazon RDS for MySQL の DB スナップショットから新しい Amazon Aurora データベースを作成することもできます。移行するデータの量および形式によって異なりますが、DB スナップショットをベースとした移行操作は通常 1 時間以内に完了します。
AWS 内外で実行されている外部の MySQL データベースと Aurora MySQL 互換エディションのデータベース間で、binlog ベースのレプリケーションを設定することもできます。
PostgreSQL データベースの移行
PostgreSQL の標準的なインポート/エクスポートツールは、pg_dump や pg_restore を含む Amazon Aurora で動作します。Amazon Aurora は、Amazon RDS for PostgreSQL からのスナップショットインポート、および AWS Database Migration Service (AWS DMS) によるレプリケーションもサポートしています。
商用データベースの移行
Amazon Aurora は、データベースワークロードを商用データベースから移行するための理想的な環境を提供します。Aurora は商用データベースエンジンの機能に匹敵する機能を備え、大部分のエンタープライズデータベースワークロードに必要なエンタープライズグレードのパフォーマンス、耐久性、高可用性を実現します。AWS Database Migration Service (AWS DMS) は、Amazon Aurora へのデータベース移行の時間を短縮するのに役立ちます。
Babelfish for Aurora PostgreSQL
Babelfish for Aurora PostgreSQL は、Amazon Aurora PostgreSQL 互換エディションの新機能であり、Aurora が Microsoft SQL Server 用に作成されたアプリケーションからのコマンドを理解できるようにします。Babelfish により、Aurora PostgreSQL は、Microsoft SQL Server 独自の SQL ダイアレクトである T-SQL を理解し、同じ通信プロトコルをサポートするようになりました。そのため、元々 SQL Server 用に作成されたアプリケーションを、少ないコード変更で Aurora で機能させることができるようになりました。その結果、SQL Server 2005 以降で実行しているアプリケーションを変更して Aurora に移行するのに必要な労力が軽減され、より速く、よりリスクが低く、よりコスト効率が高い移行を実現できます。Babelfish は、Amazon Aurora の組み込み機能であり、追加費用は発生しません。RDS マネジメントコンソールで数回クリックするだけで、Amazon Aurora クラスターで Babelfish を有効にできます。
低コスト
実際に使用した分のみ料金が発生
Amazon Aurora のご利用にあたり、初期費用は不要です。起動したインスタンス 1 つごとに時間当たりの使用料金が発生します。また、Amazon Aurora DB インスタンスは使用が終了したら簡単に削除できます。予備としてストレージを多めにプロビジョニングする必要はなく、実際に消費したストレージに対してのみ料金が発生します。詳細については、Amazon Aurora の料金表ページをご覧ください。
I/O コストを最適化する
高度に分析的なアプリケーションの場合、I/O コストは通常、データベースコストで最も多くを占めます。I/O は SSD ベースの仮想ストレージレイヤーに対して Aurora データベースエンジンによって実行される入力/出力オペレーションです。各データベースページの読み取りオペレーションは 1 I/O とカウントされます。Aurora データベースエンジンは、バッファキャッシュ内に存在しないデータベースページを取得するためにストレージレイヤーに対して読み取りを発行します。 各データベースページについては、PostgreSQL 互換の Aurora では 8 KB、MySQL 互換の Aurora では 16 KB を確認してください。Aurora はコストを削減し、リソースが読み取り/書き込みトラフィックを提供するために利用可能になるように不要な I/O オペレーションを排除するよう設計されていました。書き込み I/O はストレージレイヤーが耐久性の高い書き込みを実現するためにトランザクションログレコードをプッシュする時にのみ消費します。書き込み I/O は 4 KB 単位でカウントされます。例えば、トランザクションログレコードが 1,024 バイトの場合、1 I/O オペレーションとカウントされます。ただし、同時書き込みオペレーションでトランザクションログが 4 KB 未満の場合、I/O 消費を最適化するため Aurora データベースエンジンによってまとめてバッチ処理されます。従来のデータベースエンジンと違い、Amazon Aurora はストレージレイヤーに更新データベースページをプッシュせず、結果的に I/O 消費を節約しています。
AWS コンソールで Aurora インスタンスがどれほど I/O を消費しているか確認できます。I/O 消費を確認するには、RDS セクションのコンソールでインスタンスのリストから Aurora インスタンスを選び、モニタリングセクションの「課金読み取りオペレーション」と「課金書き込みオペレーション」メトリクスを確認します。詳細については、Amazon Aurora の料金表ページをご覧ください。
デベロッパーの生産性
Trusted Language Extensions for PostgreSQL
Trusted Language Extensions (TLE) for PostgreSQL は、AWS によるコード認証を必要とせず、高性能な拡張機能を迅速に構築し、Amazon Aurora 上で安全に実行できる開発キットおよびオープンソースプロジェクトです。デベロッパーは、JavaScript、PL/pgSQL、Perl、SQL のような一般的な信頼できる言語を使用して、安全に拡張機能を記述することができます。TLE は、安全でないリソースへのアクセスを防止し、拡張機能の不具合を単一のデータベース接続に制限するように設計されています。DBA は、拡張機能をインストールできるユーザーをオンラインできめ細かく制御し、拡張機能を実行するための許可モデルを作成することができます。Aurora をご利用のお客様は、TLE を追加費用なしで利用できます。
機械学習
Aurora ではデータベースから直接機械学習の機能を使用できます。これによりユーザーは、使い慣れた SQL プログラミング言語を用いてアプリケーションに機械学習の予測機能を追加できます。Aurora と AWS 機械学習サービス間のシンプルで最適化された安全な統合により、カスタム統合の構築やデータ移動の必要なく機械学習アルゴリズムを幅広く利用できるようになります。詳しくは Aurora 機械学習をご覧ください。
RDS Proxy サポート
Aurora はアプリケーションがよりスケーラブルに、データベースの障害に対しより復元力を持つようになるフルマネージドで高可用性に優れたデータベースプロキシである Amazon RDS Proxy と連携して機能します。RDS Proxy は、アプリケーションがそのデータベースとの間で接続をプールし共有できます。これにより、データベースの効率とアプリケーションのスケーラビリティが向上します。アプリケーション接続を維持しながら、新しいデータベースインスタンスに自動的に接続することで、フェイルオーバーの時間を削減します。AWS IAM と AWS Secrets Manager との統合によりセキュリティを強化します。
Amazon Aurora 料金の詳細