異種混在データベースの移行 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

異種混在データベースの移行

次の表は、SQL Server から別のデータベースエンジンへの移行に使用できるツールの一覧です。

移行ツール ターゲットデータベースのサポート 使用対象:
AWS SCT

Amazon RDS for MySQL

Amazon RDS for PostgreSQL

Amazon Aurora MySQL

Amazon Aurora PostgreSQL

スキーマ変換
AWS DMS

Amazon RDS for MySQL

Amazon RDS for PostgreSQL

Amazon Aurora MySQL

Amazon Aurora PostgreSQL

データ移行
Babelfish

Amazon Aurora PostgreSQL

データアクセスと移行

この後のサブセクションで、その詳細について説明します。

AWS SCT

AWS Schema Conversion Tool(AWS SCT) 、既存の商用データベーススキーマをオープンソースエンジンまたは AWS クラウドネイティブデータベースに変換します。AWS SCT は、ソースデータベーススキーマと、ビュー、ストアドプロシージャ、関数を含むデータベースコードオブジェクトの大部分を、ターゲットデータベースと互換性のある形式に自動的に変換することで、異種データベースの移行を予測可能にします。

エンジン間でデータベーススキーマを変換するときは、古いデータベースエンジンの代わりに新しいデータベースエンジンとやり取りするように、アプリケーションの SQL コードを更新する必要があります。自動的に変換できないオブジェクトには、手動変換対象として明確にマークされます。AWS SCT は、アプリケーションのソースコードをスキャンして埋め込みSQLステートメントを見つけ、データベーススキーマ変換プロジェクトの一環として変換することもできます。詳細については、Microsoft ドキュメントの SQL Server エージェントを参照してください。

AWS DMS

AWS Database Migration Service (AWS DMS) はお客様のデータを迅速かつ安全に AWS に移行します。移行中も、ソースデータベースは引き続き完全に動作し、アプリケーションのダウンタイムを最小限に抑えます。 AWS DMS は、あるSQL Serverデータベースから別のSQL Serverデータベースへのデータ移行など、同種の移行をサポートしています。また、SQL Serverデータベースからオープンソースデータベースへの移行や、AWS クラウドネイティブデータベースへの移行など、異なるデータベースプラットフォーム間の異種移行もサポートします。AWS DMS は、移行元データベースで発生したデータ変更を移行先データベースに自動的にレプリケートするなど、複雑な移行プロセスを管理します。データベースの移行が完了すると、ターゲットデータベースは選択した期間だけソースと同期したままになり、都合の良いタイミングでデータベースを切り替えることができます。AWS DMS詳細については、AWS ドキュメントの 「Microsoft SQL Serverデータベースを のソースとしての使用」 を参照してください。

Babelfish

Babelfishは Amazon Aurora に組み込まれている機能です。Babelfish for Aurora PostgreSQL を使用すると、Aurora PostgreSQL 互換エディションのデータベースが Microsoft SQL Server 用に作成されたアプリケーションからのコマンドを理解できるようになります。SQL Server の独自の SQL ダイアレクトである Transact-SQL (T-SQL) で記述された SQL Server データベースコードを含む SQL Server アプリケーションの変更には労力と時間がかかります。Babelfish for Aurora PostgreSQLを使用すると、このプロセスがよりシンプルで簡単になります。Babelfish を使用すると、アプリケーションコードに変更を加える必要はありません。Babelfish for Aurora PostgreSQL を使用すると、SQL Server データベースから Amazon Aurora PostgreSQL DB クラスターへの移行が可能です。

Babelfish を使用すると、Aurora PostgreSQL は T-SQL を理解し、同じ通信プロトコルをサポートするため、データベースドライバーを切り替えたり、アプリケーションクエリを書き換えたりする必要はありません。元々 SQL Server 用に作成されたアプリケーションが、コードを変更する回数を減らして Aurora と連携できるようになりました。これにより、SQL Server 以降で実行されているアプリケーションを変更して Aurora に移動するのに必要な労力が軽減され、より迅速でリスクが低く、コスト効率の高い移行が可能になります。

レガシー SQL Server データベースから移行する場合は、Babelfish を使用して、ネイティブ PostgreSQL API を使用して構築した新しい機能と SQL Server コードを並行して実行することができます。Babelfishを使用すると、Aurora PostgreSQL は一般的に使用されている SQL Server ツール、コマンド、およびドライバーと連携できます。

Babelfish は、ネイティブ PostgreSQL 接続を使用してデータへのアクセスを提供します。デフォルトでは、Babelfish でサポートされている両方の SQL 言語は、次のポートでネイティブのワイヤプロトコルを通じて使用できます。

  • SQL Server 言語 (T-SQL)、クライアントはポート 1433 に接続します。

  • PostgreSQLg 言語 (PL/pgSQL) ダイアレクト、クライアントはポート 5432 に接続します。

Babelfish は、SQL Server または PostgreSQL ポートからの接続を提供することで、コードを大幅に書き直すことなく、レガシー SQL Server アプリケーションが Aurora と通信できるようにします。このアーキテクチャを以下に図で示します。

BabelfishとAurora コミュニケーション

Aurora クラスターの Babelfish は、Amazon RDS マネジメントコンソールから有効にできます。手順については、Amazon RDS ドキュメントの「Babelfish for Aurora PostgreSQL クラスターの作成」を参照してください。

移行の詳細については、Aurora ドキュメントの 「SQL Server データベースから Babelfish for Aurora PostgreSQL への移行」を参照してください。

詳細については、次のリソースを参照してください。