Amazon Aurora の特徴

Amazon Aurora が選ばれる理由

Amazon Aurora はリレーショナルデータベースサービスで、高性能の商用データベースのスピードと可用性、およびオープンソースデータベースのシンプルさと費用対効果を兼ね備えています。Aurora は、MySQL および PostgreSQL と完全な互換性があり、既存のアプリケーションやツールを変更することなく実行することができます。

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

SysBench のような標準のベンチマークでテストした結果、同様のハードウェア上の標準的な MySQL と比べ最大 5 倍、標準的な PostgreSQL と比べ最大 3 倍のスループットの向上が見られました。Aurora には、利用可能なコンピューティング、メモリ、ネットワークをデータベースエンジンが最大限に活用できるよう、さまざまなソフトウェアおよびハードウェアの技術が使用されています。I/O オペレーションにはクォーラムのような分散型システム技術が使用され、パフォーマンスの一貫性が向上しています。

Amazon Aurora Serverless v2 は、Aurora のオンデマンド Auto Scaling 設定です。アプリケーションのニーズに基づいてデータベースを自動的に起動、シャットダウンし、容量を垂直にスケールアップまたはスケールダウンします。 Aurora Serverless v2 を使用すれば、データベースインスタンスを管理せずにクラウド内でデータベースを実行できます。 Aurora Serverless v2 インスタンスを、既存または新規のデータベースクラスターでプロビジョニングされたインスタンスとともに使用することもできます。

Amazon Aurora PostgreSQL Limitless Database は、1 つのデータベース内での操作のシンプルさを維持しながら、水平方向にスケールして 1 秒あたり数百万件の書き込みトランザクションとペタバイト単位のデータをサポートします。トランザクションの一貫性を維持しながら、最大の単一インスタンスの書き込みスループットとストレージの制限を超えてシームレスにスケールできます。データベースはワークロードに応じて自動的にスケールされ、支払いは使用した分のみです。Amazon RDS コンソールまたは AWS コマンドラインインターフェイス (AWS CLI) のわずか数ステップで、Aurora PostgreSQL 互換エディションと Limitless Database を使用する新しいデータベースクラスターを作成できます。詳細については、「Aurora PostgreSQL Limitless Database の要件と考慮事項」をご覧ください。

Amazon Relational Database Service (Amazon RDS) API または AWS マネジメントコンソールを使用して、プロビジョニングされたインスタンスをスケールアップまたはスケールダウンできます。通常、コンピューティングのスケーリングは数分以内に完了します。

Aurora は、最も要求の厳しいアプリケーションのニーズに合わせて自動的に I/O をスケーリングします。また、ストレージのニーズが大きくなると、データベースボリュームのサイズも大きくなります。ボリュームは 10 GB ごとに最大 128 TiB まで拡張されます。将来の拡張に備えてデータベースに余分なストレージをプロビジョニングする必要はありません。 データベースクラスターに Amazon Aurora I/O-Optimized 設定を使用する場合、I/O コストが Aurora データベースのコストの 25% を超えると、Aurora は最大 40% のコスト削減も実現します。詳細については、「Aurora のストレージと信頼性」をご覧ください。

最大 15 個の Amazon Aurora レプリカを作成することで、大量のアプリケーションリクエストをサポートできるよう読み取りスループットを向上させることができます。 Aurora レプリカはソースインスタンスとして基盤となるストレージを共有しているため、コストを削減でき、レプリカノードへの書き込みの実行が必要ありません。これにより、読み取りリクエストに対応するための処理能力が向上し、レプリカの遅延時間がしばしば 10 ミリ秒足らずまで短縮されます。

Aurora にはリーダーエンドポイントが提供されているため、アプリケーションから接続するためにレプリカの追加や削除を追跡しておく必要がありません。また、自動スケーリングをサポートし、指定するパフォーマンスメトリクスの変化に応じて自動的にレプリカを追加、削除します。詳細については、「Aurora レプリカでの Amazon Aurora 自動スケーリングの使用」を参照してください。

Aurora ではクロスリージョンリードレプリカがサポートされています。クロスリージョンレプリカにより、高速のローカルの読み取りが可能であり、各リージョンにはローカルの読み込みをさらにスケーリングするための Aurora レプリカを 15 個追加できます。詳細については、「Amazon Aurora Global Database」を参照してください。

カスタムエンドポイントによって異なるデータベースインスタンスに対して、ワークロードの分散と負荷の調整が可能になりました。例えば、Aurora レプリカのセットをプロビジョンし、分析ワークロードを実行するためにメモリ容量の大きなインスタンスタイプを使用できます。カスタムエンドポイントを使用すると、ワークロードを適切に構成されたこれらのインスタンスにルーティングし、他のインスタンスを分離しておくことができます。

Amazon Aurora Optimized Reads は価格性能の高い新しい機能で、これを使用しないインスタンスと比較して、クエリレイテンシーが最大 8 倍改善され、コストは最大 30% 削減されます。データベースインスタンスのメモリ容量を超える大規模なデータセットを使用するアプリケーションに最適です。

Optimized Reads インスタンスでは、Graviton ベースの r6gd および Intel ベースの r6id インスタンスで使用可能なローカルの NVMe ベースの SSD ブロックレベルストレージが使用されるため、データベースインスタンスのメモリ容量を超えるデータセットを持つアプリケーションのクエリレイテンシーが改善されます。Optimized Reads には、階層型キャッシュや一時オブジェクトなど、パフォーマンス向上のための機能が含まれており、データベースインスタンスを最大限に活用できます。

クエリレイテンシーが最大 8 倍改善されたため、読み込み負荷が高い I/O 集約型のワークロード (運用ダッシュボード、異常検出、類似性検索など) を pgvector で効果的に実行できます。pgvector を使用した Amazon Aurora PostgreSQL Optimized Reads では、使用可能なインスタンスメモリを超えるワークロードにおいて、ベクトル検索の 1 秒あたりのクエリ数が最大 9 倍に増加します。Optimized Reads は、PostgreSQL と互換性のある Aurora で使用できます。

Amazon Aurora Parallel Query は現在のデータに、より早い分析クエリを提供します。コアトランザクションワークロードの高スループットを維持しながら、クエリを最大 2 桁まで高速化することができます。クエリ処理を Aurora ストレージレイヤーにまでプッシュすると、ネットワークのトラフィックを軽減しながらコンピューティングパワーを大幅に増強できます。Parallel Query を使うと、同じ Aurora データベースでトランザクションと分析ワークロードを平行して実行できます。Parallel Query は、MySQL と互換性を持つ Aurora で利用できます。

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 は Aurora データベースおよび基盤となる Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの状態を継続的にモニタリングします。データベースに障害が発生した場合、Amazon RDS はデータベースおよび関連プロセスを自動的に再起動します。Aurora ではデータベース REDO ログのクラッシュリカバリリプレイが必要ないため、再起動時間が大幅に短縮されています。また、データベースのバッファキャッシュがデータベース処理から隔離されるため、データベースの再起動後もキャッシュを存続させることができます。

インスタンスに障害が発生した場合、Aurora は Amazon RDS マルチ AZ テクノロジーを使用して、3 つのアベイラビリティーゾーンに作成した最大 15 個の Aurora レプリカのうちの 1 つに自動でフェイルオーバーします。Aurora レプリカがプロビジョンされていない状態で、障害が発生した場合には Amazon RDS によって新しい Aurora DB インスタンスの作成が自動的に試行されます。コミュニティの MySQL と PostgreSQL ドライバーを、オープンソースでドロップイン互換性のある AWS JDBC Driver for MySQLAWS JDBC Driver for PostgreSQL に置き換えることで、フェイルオーバー時間を最小にします。また、RDS Proxy を使用することで、フェイルオーバー時間を短縮し、可用性を向上させることができます。フェイルオーバーが発生すると、Amazon RDS Proxy は新しいデータベースインスタンスに直接リクエストをルーティングし、アプリケーション接続を維持したままフェイルオーバー時間を最大 66% 短縮します。

グローバルに分散されたアプリケーションの場合は、Aurora Global Database を使用できます。この場合は、単一の Aurora データベースが複数の AWS リージョンにまたがって高速のローカルの読み取りと迅速なディザスタリカバリを実現します。 Aurora Global Database は、ストレージベースのレプリケーションを使用して、1 秒未満の通常のレイテンシーで、複数のリージョンにまたがってデータベースをレプリケートします。リージョンの縮小や機能停止から迅速に復旧する必要がある場合に備えて、予備のリージョンとしてセカンダリリージョンを使用できます。セカンダリリージョンのデータベースは、1 分以内に完全な読み取り/書き込み機能に昇格できます。 詳細については、「Amazon Aurora Global Database の使用」にアクセスしてください。

Aurora のデータストレージボリュームは 10 GiB のチャンクに分割され、3 つのアベイラビリティーゾーンにレプリケートされます。各アベイラビリティーゾーンでは、書き込みごとに 2 つのコピーが保持されます。Aurora ストレージは耐障害性を備えており、データベースの書き込み性能に影響を与えることなく最大 2 つ、読み取り性能に影響を与えることなく最大 3 つのデータコピーの損失を透過的に処理します。また、Aurora ストレージには自己修復機能を備得ており、データブロックとディスクはエラースキャンが継続的に実施され、自動的に置き換えられます。

Aurora のバックアップ機能は、インスタンスのポイントインタイムリカバリを可能にします。これによって、直近で 5 分前まで、保持期間内の任意の時点にデータベースを復元させることができます。自動バックアップの保持期間は、最大 35 日間まで設定できます。自動バックアップは 99.999999999% の耐久性を持つよう設計された Amazon Simple Storage Service (Amazon S3) に保存されます。Aurora のバックアップは自動的かつ継続的な増分バックアップで、データベースのパフォーマンスに影響を与えません。

DB スナップショットは、Amazon S3 に保存されたインスタンスのユーザー開始バックアップであり、明示的に削除するまで保持されます。自動的な増分スナップショットを活用して必要な時間とストレージを削減できます。ご希望の際にいつでも、DB スナップショットから新しいインスタンスを作成できます。

バックトラックを使用すると、データをバックアップから復元せずに、データベースを過去のある時点まですばやく戻すことができます。これにより、違うテーブルをドロップしてしまった場合や、間違った列を削除してしまった場合などのユーザーエラーを迅速に修復できます。バックトラックを有効にした場合、指定されたバックトラック期間中、Aurora のデータレコードが保持されます。たとえば、最大 72 時間までデータベースを巻き戻せるようにバックトラックをセットアップできます。データレコードのコピーが不要なため、大規模データベースであってもバックトラックの実行は数秒で完了します。前後に移動して、エラーが発生する直前の時点を見つけることができます。

バックトラックは開発とテストにも役立ちます。テストによりデータの削除や無効化が起こる状況では特に有用です。元のデータベースの状態に巻き戻すだけで、別のテストをすぐに実行できます。API でバックトラックを呼び出してテストを実行するスクリプトを作成することで、テストフレームワークに簡単に統合できます。バックトラックは MySQL と互換を持つ Aurora で利用できます。

高い安全性

Amazon Aurora は Amazon Virtual Private Cloud (Amazon VPC) で実行されます。これによりデータベースを独自の仮想ネットワークに隔離できるようにし、業界標準の暗号化 IPsec VPN を使用してオンプレミスの IT インフラストラクチャに接続できます。Amazon VPC における Amazon リレーショナルデータベースサービス (RDS) の詳細については、「Amazon RDS ユーザーガイド」を参照してください。さらに、Amazon RDS を使用する場合、ファイアウォールを設定して DB インスタンスへのネットワークアクセスを制御することもできます。

Aurora は AWS Identity and Access Management (IAM) と統合されており、IAM ユーザーおよびグループが特定の Aurora リソース (DB インスタンス、DB スナップショット、DB パラメータグループ、DB イベントサブスクリプション、DB オプショングループなど) で実行可能なアクションを制御できます。さらに、Aurora リソースにはタグを付けることができ、同じタグ (およびタグの値) を持つリソースグループで IAM ユーザーおよびグループが実行可能なアクションを制御できます。IAM 統合の詳細については、IAM データベース認証のドキュメントを参照してください。

Aurora では、AWS Key Management Service (KMS) で作成および管理するキーを使用して、データベースを暗号化できます。Aurora 暗号化を使って実行するデータベースインスタンスでは、基盤となるストレージに保存される保管中のデータが、同じクラスター内の自動バックアップ、スナップショット、レプリカと同様に暗号化されます。Aurora では SSL (AES-256) を使用して転送中のデータが保護されます。

Aurora では、データベースのパフォーマンスに与える影響を最小限に抑えながら、データベースのイベントをログに記録できます。ログは、後でデータベース管理、セキュリティ、ガバナンス、規制コンプライアンスなどの目的で分析できます。また、Amazon CloudWatch に監査ログを送信して、アクティビティをモニタリングすることもできます。

Amazon GuardDuty は Aurora 用の脅威検出機能を提供し、Aurora データベースに保存されているデータに対する潜在的な脅威の特定を支援します。 GuardDuty RDS Protection は、アカウント内の既存および新規のデータベースへのログインアクティビティをプロファイリングおよびモニタリングし、カスタマイズされた ML モデルを使用して Aurora データベースへの不審なログインを正確に検出します。潜在的な脅威が検出されると、GuardDuty は、データベースの詳細と不審なアクティビティに関する豊富なコンテキスト情報を含むセキュリティの検出結果を生成します。Aurora と GuardDuty の統合により、データベースを変更することなく、データベースのイベントログに直接アクセスでき、データベースのパフォーマンスに影響を与えないように設計されています。

優れた費用対効果

Aurora には事前の契約はありません。起動するインスタンスごとに時間単位の料金が発生します。Aurora DB インスタンスの使用が終了したら、そのインスタンスを削除できます。予備としてストレージを多めにプロビジョニングする必要はなく、実際に消費したストレージに対してのみ料金が発生します。詳細については、Aurora の料金ページをご覧ください。

Aurora では、アプリケーションの I/O 消費量にかかわらず、価格性能と価格予測可能性のニーズに基づいて 2 つの構成オプションから選択することで、データベース支出を柔軟に最適化できます。設定オプションには、Aurora I/O 最適化と Aurora 標準の 2 つがあります。どちらのオプションも事前の I/O やストレージのプロビジョニングを必要とせず、最も要求の厳しいアプリケーションをサポートするように I/O をスケーリングできます。

Aurora I/O 最適化はデータベースクラスター構成です。支払い処理システム、e コマースシステム、金融アプリケーションなどの I/O 集約型ワークロードを使用するお客様の価格パフォーマンスを向上させます。I/O 支出が Aurora データベースの総支出の 25% を超える場合、Aurora I/O 最適化を使用すると、I/O 集約型のワークロードのコストを最大 40% 節約できます。Aurora I/O 最適化を使用すると、データベースインスタンスとストレージに対して料金が発生します。読み取りと書き込みのI/O操作には料金がかからないため、I/O の変動に関係なく、すべてのアプリケーションの価格を予測できます。

Aurora Standard は、I/O 使用量が少ないか中程度のアプリケーションの大部分に対して費用対効果の高い料金設定を提供するデータベースクラスター設定です。Aurora Standard では、データベースインスタンス、ストレージ、ペイパーリクエスト I/O に対して料金が発生します。

分析の多いアプリケーションでは、通常、I/O コストがデータベースコストの最大の要因となります。I/O オペレーションは、Aurora データベースエンジンによって SSD ベースの仮想ストレージレイヤーに対して実行されます。各データベースページの読み取りオペレーションは 1 I/O とカウントされます。Aurora データベースエンジンは、バッファキャッシュ内に存在しないデータベースページを取得するためにストレージレイヤーに対して読み取りを発行します。各データベースページについては、Aurora with PostgreSQL では 8 KB、Aurora with MySQL では 16 KB です。

Aurora はコストを削減し、リソースが読み取り/書き込みトラフィックを提供するために利用可能になるように不要な I/O オペレーションを排除するよう設計されていました。書き込み I/O は、ストレージレイヤーが耐久性の高い書き込みを実現するためにトランザクションログレコードをプッシュする時にのみ消費します。書き込み I/O オペレーションは 4 KB 単位でカウントされます。例えば、トランザクションログレコードが 1,024 バイトの場合、1 I/O オペレーションとカウントされます。ただし、同時書き込みオペレーションでトランザクションログが 4 KB 未満の場合、I/O 消費を最適化するため Aurora データベースエンジンによってまとめてバッチ処理されます。従来のデータベースエンジンと違い、Aurora はストレージレイヤーに更新データベースページをプッシュせず、結果的に I/O 消費を節約しています。

AWS マネジメントコンソールで Aurora インスタンスがどれほど I/O オペレーションを消費しているか確認できます。I/O 消費量を確認するには、コンソールのRDS セクションのインスタンスのリストから Aurora インスタンスを選び、モニタリングセクションの「課金読み取りオペレーション」と「課金書き込みオペレーション」メトリクスを確認します。

データベースクラスターを Aurora Standard 設定にすると、読み取りと書き込み I/O オペレーションに対して課金されます。データベースクラスターを Aurora I/O 最適化に設定すると、読み取りと書き込み I/O オペレーションの料金は発生しません。I/O オペレーションの料金の詳細については、Amazon Aurora の料金ページをご覧ください。

Aurora PostgreSQL 用 Aurora Optimized Reads は、レイテンシーの影響を受けやすいアプリケーションと大規模なワーキングセットを使用するユーザーに、ビジネス SLA を満たす魅力的な価格性能の高い代替手段を提供します。また、ユーザーは、メモリ容量を増やすためにデータベースインスタンスを頻繁にサイズアップする必要がなく、データセットをより柔軟に拡張できます。Optimized Reads には、階層化されたキャッシュや一時オブジェクトなどのパフォーマンスの強化が含まれます。

階層化されたキャッシュにより、読み取りを多用し、I/O が大量に発生するアプリケーション (運用ダッシュボード、異常検出、ベクトルベースの類似検索など) では、クエリレイテンシーが最大 8 倍改善し、コストが最大 30% 削減されます。これらの利点は、キャッシュデータをインメモリデータベースのバッファキャッシュからローカルストレージに自動的に退避させて、そのデータへのその後のアクセスが高速化される仕組みによって実現できます。階層型キャッシュは、Aurora I/O 最適化設定が使用された Aurora PostgreSQL でのみ使用できます。

一時オブジェクトは、Aurora PostgreSQL によって生成された一時テーブルをローカルストレージに配置することでクエリ処理の高速化を実現し、ソート、ハッシュ集計、高負荷の結合、および他のデータを多用するオペレーションを伴うクエリのパフォーマンスを改善します。

完全マネージド型

Aurora を使い始めるのは簡単です。Amazon RDS マネジメントコンソールを使用するか、単一の API コールまたは CLI で、新しい Aurora DB インスタンスを起動するだけです。Aurora DB インスタンスは、選択した DB インスタンスクラスに適切なパラメータと設定であらかじめ設定されます。DB インスタンスを起動し、数分以内にアプリケーションを接続することができるため、追加の設定は不要です。DB パラメータグループではデータベースの厳密な管理および微調整が可能です。

Aurora は DB インスタンスに Amazon CloudWatch のメトリクスを提供します。追加料金はかかりません。AWS マネジメントコンソールを使用して、コンピューティング、メモリ、ストレージ、クエリスループット、キャッシュのヒット率、アクティブな接続など、データベースインスタンスに対する 20 以上の主要な運用メトリクスを確認できます。さらに、拡張モニタリングを使用して、データベースを実行するオペレーティングシステムインスタンスからメトリクスを収集することもできます。Amazon RDS Performance Insights を使用できます。これは、データベースの負荷を視覚化するわかりやすいダッシュボードを使用して、データベースパフォーマンスの問題を簡単に検出し、是正措置を取ることができるデータベース監視ツールです。最後に、データベースエキスパートの助けを借りることなく Amazon DevOps Guru for RDS を使用して、パフォーマンスの問題を簡単に検出し、パフォーマンスの問題の根本原因を自動的に特定し、問題の解決に役立つインテリジェントなレコメンデーションを取得することもできます。

Amazon RDS ブルー/グリーンデプロイを使用すると、Aurora MySQL-Compatible Edition および Aurora PostgreSQL-Compatible Edition でデータを損失することなく、より安全、簡単、高速にデータベースの更新ができます。ブルー/グリーンデプロイは、数ステップで本番稼働用環境をミラーリングするステージング環境を作成し、論理レプリケーションを使用して 2 つの環境を同期させます。本番稼働用ワークロードに影響を与えずに、メジャー/マイナーバージョンのアップグレード、スキーマの変更、およびパラメータ設定の変更などの変更ができます。

ステージング環境を昇格させると、ブルー/グリーンデプロイは、スイッチオーバーが完了するまで、ブルーとグリーンの両方の環境への書き込みがブロックされます。ブルー/グリーンデプロイは組み込みの切り替え可能なガードレールです。最大許容ダウンタイムを超過した場合にステージング環境の昇格をタイムアウトさせ、レプリケーションエラーを検出し、インスタンスの状態を確認します。

Aurora は最新のパッチを適用してデータベースを最新の状態に維持します。Database Engine Version Management を使用してインスタンスにパッチを適用するかどうか、またいつ適用するかを制御できます。Aurora では、可能な場合にはダウンタイムなしでパッチが適用されます。適切な時間帯を見付けてインスタンスがインプレースで更新され、パッチ適用の進行中、アプリケーションセッションが保持されたままデータベースエンジンが再起動します。これにより、スループットの低下が一時的に (5 秒ほど) 発生します。

Aurora は、自動フェイルオーバーのような重要なデータベースイベントを E メールまたは SMS で通知します。AWS マネジメントコンソールまたは Amazon RDS API を使用して、Aurora データベースに関連する 40 種類以上もの DB イベントを登録できます。

Aurora では、マルチテラバイトのデータベースクラスター全体を数分で複製できる、高速かつ効率的なクローニング処理がサポートされています。クローニングは、アプリケーションの開発、テスト、データベースの更新、分析クエリの実行など、さまざまな目的に役立ちます。すぐにデータを入手できるため、ソフトウェアの開発やプロジェクトのアップグレードが大幅に加速され、より正確な分析が可能になります。

Aurora データベースのクローンはほんの数ステップで作成でき、データの変更を保存するために追加のスペースを使用する場合を除き、ストレージ料金は発生しません。

Aurora データベースは、ほんの数ステップで手動で停止および開始できます。これにより、常にデータベースを実行する必要がない場合に、開発やテスト用に簡単に低コストで、データベースを使用できます。データベースを停止してもデータは削除されません。詳細について開始/停止のドキュメントを参照してください。

ゼロ ETL 統合

Amazon Redshift との Amazon Aurora ゼロ ETL 統合により、抽出、変換、ロード (ETL) 操作を実行する複雑なデータパイプラインを構築および維持する必要がなくなります。これにより、Aurora のペタバイト単位のトランザクションデータに対して、Amazon Redshift を使用してほぼリアルタイムの分析と機械学習 (ML) を実行できます。トランザクションデータは、Aurora に書き込まれてから数秒以内に自動的かつ継続的にレプリケートされ、Amazon Redshift でシームレスに使用できるようになります。

Amazon Redshift でデータが利用できるようになったら、即座に分析を開始して、データ共有、マテリアライズドビュー、Amazon Redshift ML などの高度な機能を適用し、包括的かつ予測的なインサイトを得ることができます。さまざまな Aurora データベースクラスターの複数のテーブルを統合し、データを 1 つの Amazon Redshift データウェアハウスに複製して、複数のアプリケーションとデータソースにわたって統合分析を実行します。Aurora ServerlessAmazon Redshift Serverless の両方を使用すると、データパイプラインのインフラストラクチャを管理することなく、トランザクションデータの分析をほぼリアルタイムで生成できます。Amazon Redshift との Aurora ゼロ ETL 統合の操作に関するドキュメントをお読みください。

生成 AI

Aurora には、機械学習 (ML) モデルと生成系人工知能 (AI) モデルが、Aurora に保存されているデータを、移動することなくリアルタイムで処理できるようにする機能があります。 Amazon Aurora PostgreSQL 互換エディションでは、ベクトルデータベース機能にアクセスして、pgvector エクステンションを使用して ML 埋め込みを保存、検索、インデックス付け、クエリできます。

ベクター埋め込みとは、テキスト、画像、動画などのコンテンツのセマンティックな意味を表す数値表現です。生成 AIやその他の AI/ML システムは、埋め込みを使用してこのコンテンツ入力のセマンティックな意味を大規模言語モデル (LLM) に取り込みます。Amazon BedrockAmazon SageMaker などの機械学習モデルや AI モデルからの埋め込みを Aurora データベースに保存できます。Aurora PostgreSQL の拡張バージョンに関するドキュメントをお読みください。

Amazon Aurora PostgreSQL は Amazon Bedrock のナレッジベースとして利用でき、組織のプライベートデータソースを基盤モデル (FM) に接続し、それらのモデルで自動取得拡張生成 (RAG) ワークフローを実現できます。これにより、FM は特定のドメインや組織についてより知識を深めることができます。Aurora PostgreSQL を Amazon Bedrock のナレッジベースとして使用する方法に関するドキュメントをお読みください。

Aurora の機械学習 (Aurora ML) により、生成 AI モデル予測を Aurora データベースに簡単に追加できます。 Aurora ML は、ML モデルを SQL 関数として公開しており、標準 SQL を使って ML モデルを呼び出し、データを渡し、予測、テキストサマリー、センチメント、エンベッディングをクエリ結果として返すことができます。Aurora ML を使用すると、SageMaker または Amazon Bedrock モデルを定期的に呼び出すことで、pgvector エクステンションを使用して Aurora PostgreSQL データベースに新しい埋め込みを追加するプロセスをリアルタイムで行うことができます。これにより、最新の埋め込みが返されます。

移行サポート

標準 MySQL のインポートおよびエクスポートツールは Aurora と連動します。また、Amazon RDS for MySQL の DB スナップショットから新しい Aurora データベースを簡単に作成することもできます。DB スナップショットを利用した移行操作は通常 1 時間以内に完了しますが、移行するデータの量および形式に応じて異なります。

また、AWS Database Migration Service (AWS DMS) では、DMS コンソールから組み込みのネイティブツールが提供され、シームレスな移行が可能です。レプリケーションインスタンスをプロビジョニングしたりスケールする必要がないため、数回クリックするだけでデータベース移行を開始でき、支払いは使用した時間に対して時間単位で支払うだけです。

AWS 内外で実行されている外部の MySQL データベースと Aurora MySQL 互換エディションのデータベース間で、binlog ベースのレプリケーションを設定することもできます。

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

Aurora は、データベースワークロードを商用データベースから移行するための理想的な環境を提供します。Aurora は商用データベースエンジンの機能に匹敵する機能を備え、大部分のエンタープライズデータベースワークロードに必要なエンタープライズグレードのパフォーマンス、耐久性、高可用性を実現します。AWS Database Migration Service (AWS DMS) は、DMS スキーマ変換や DMS サーバーレスなどの管理機能により、Aurora へのデータベース移行を迅速に行うのに役立ちます。DMS Schema Conversion は、スキーマとソースオブジェクトを自動的に評価して変換し、ターゲット Aurora クラスターと互換性があるようにします。一方、DMS サーバーレスは移行リソースのプロビジョニング、監視、スケーリングを自動化します。

Babelfish for Aurora PostgreSQL は、Aurora PostgreSQL 互換エディションの新機能であり、Aurora が Microsoft SQL Server 用に作成されたアプリケーションからのコマンドを理解できるようにします。Babelfish により、Aurora PostgreSQL は、Microsoft SQL Server 独自の SQL ダイアレクトである T-SQL を理解し、同じ通信プロトコルをサポートするようになりました。そのため、元々 SQL Server 用に作成されたアプリケーションを、少ないコード変更で Aurora で機能させることができるようになりました。 その結果、SQL Server 2005 以降で実行しているアプリケーションを変更して Aurora に移行するのに必要な労力が軽減され、より速く、よりリスクが低く、よりコスト効率が高い移行を実現できます。Babelfish は、Aurora の組み込み機能であり、追加費用は発生しません。RDS コンソールでわずか数ステップで Aurora クラスターで Babelfish を有効にすることができます。

デベロッパーの生産性

Trusted Language Extensions (TLE) for PostgreSQL は、AWS によるコード認証を必要とせず、高性能な拡張機能を迅速に構築し、Amazon Aurora 上で安全に実行できる開発キットおよびオープンソースプロジェクトです。開発者は、JavaScript、PL/pgSQL、Perl、SQL のような一般的な信頼できる言語を使って、安全に拡張機能を記述することができます。TLE は、安全でないリソースへのアクセスを防止し、拡張機能の不具合を単一のデータベース接続に制限するように設計されています。DBA は、拡張機能をインストールできるユーザーをオンラインできめ細かく制御し、拡張機能を実行するための権限モデルを作成することができます。Aurora をご利用のお客様は、TLE を追加費用なしで利用できます。

Aurora ではデータベースから直接機械学習の機能を使用できるため、使い慣れた SQL プログラミング言語を用いてアプリケーションに機械学習の予測機能を追加できます。Aurora と AWS 機械学習サービス間のシンプルで最適化された安全な統合により、カスタム統合の構築やデータ移動の必要なく機械学習アルゴリズムを幅広く利用できるようになります。詳しくは 、「Aurora 機械学習」をご覧ください。

Aurora は、アプリケーションのスケーラビリティだけでなく、データベース障害に対する回復力や安全性を高めるフルマネージド型の可用性に優れたデータベースプロキシである Amazon RDS Proxy と連携して機能します。RDS Proxy は、アプリケーションがそのデータベースとの間で接続をプールし共有できます。これにより、データベースの効率とアプリケーションのスケーラビリティが向上します。アプリケーション接続を維持しながら、新しいデータベースインスタンスに自動的に接続することで、フェイルオーバーの時間を削減します。AWS IAMAWS Secrets Manager との統合によりセキュリティを強化します。

Data API は、Aurora データベースに対して SQL クエリを実行するための、使いやすく安全な HTTPS API で、最新のアプリケーション開発を加速します。Data API により、Aurora データベースに安全に接続するために必要なネットワークやアプリケーションの設定作業が不要になるため、API コールを行うだけで簡単に Aurora にアクセスできます。Data API により、データベースドライバーやクライアント側のコネクションプーリングソフトウェアを使用する必要がなくなります。また、データベース接続を自動的にプールして共有することで、アプリケーションのスケーラビリティも向上します。Data API は、AWS IAMAWS Secrets Manager との統合によりセキュリティを強化します。

デベロッパーは、AWS SDK で構築されたアプリケーションを介して Data API を呼び出すことができます。Data API により、AWS AppSync GraphQL API 用の Aurora データベースへのアクセスも提供します。