オンプレミスのデータベースをクラウド上のAWS に移行する場合、スキーマの変換は重要なプロセスです。アセスメントにあたってはAWS Schema Conversion Tool(以下、AWS SCT)が役立ちます。データベースのスキーマを変換するツールの利用に加えて、スキーマを自動的に変換できるかどうか評価レポートを出力することが可能です。
AWS SCTの機能と使い方の概要について解説します。
AWS SCTとは
一般的にデータベース移行は、3つのステップがあります。まずサイジング、スキーマ、移行の難易度の調査です。次にスキーマ、SQL、データなどの変換と移行を行います。そして最後に、移行が正常に稼働するかどうかバリデーションを行って評価します。
同一のデータベースエンジン間の移行では、AWS Database Migration Service(DMS)を使うとダウンタイムを最小限に抑えながら移行できます。異種データベース間の移行を成功させるには移行前と移行後に検証を徹底する必要がありますが、スキーマの変換がポイントです。
AWS Schema Conversion Tool では、以下の変換がサポートされています。
ソースデータベース | Amazon RDS のターゲットデータベース |
---|---|
Oracle Database | Amazon Aurora MySQL 互換エディション (Aurora MySQL)、Amazon Aurora PostgreSQL 互換エディション (Aurora PostgreSQL)、MariaDB 10.5、MySQL、PostgreSQL |
Oracle Data Warehouse | Amazon Redshift |
Microsoft Azure SQL データベース | Aurora MySQL、Aurora PostgreSQL、MySQL、PostgreSQL |
Microsoft SQL Server | Amazon Redshift、Aurora MySQL、Aurora PostgreSQL、Babelfish for Aurora PostgreSQL (評価レポート専用)、MariaDB、Microsoft SQL Server、MySQL、PostgreSQL |
Teradata | Amazon Redshift |
IBM Netezza | Amazon Redshift |
Greenplum | Amazon Redshift |
HPE Vertica | Amazon Redshift |
MySQL | Aurora PostgreSQL、MySQL、PostgreSQL |
PostgreSQL | Aurora MySQL、Aurora PostgreSQL、MySQL、PostgreSQL |
IBM DB2 LUW | Aurora MySQL、Aurora PostgreSQL、MariaDB、MySQL、PostgreSQL |
Apache Cassandra | Amazon DynamoDB |
SAP ASE | Aurora MySQL、Aurora PostgreSQL、MariaDB、MySQL、PostgreSQL |
Amazon Redshift | Amazon Redshift |
Azure Synapse Analytics | Amazon Redshift |
Snowflake | Amazon Redshift |
AWS Schema Conversion Toolは、ターゲットになるデータベースと互換性のあるフォーマットに自動的に変換するツールです。ソースとなるデータベースのスキーマとビュー、データベース管理システムの複数のプログラムをまとめたストアドプロシージャ、関数などのデータベースコードオブジェクトといった変換に対応しています。
オンライントランザクション処理(OLTP)のリレーショナルデータベースのスキーマ、データウェアハウスのスキーマを変換します。スキーマを自動的に変換できない場合は、同等のスキーマを作成するためのガイダンスが表示されます。
AWS DMSと連携させることにより、AWS SCTがクローズの状態でもスキーマ変換の処理を実行できます。また、スキーマ変換だけでなく、事前と事後の検証や評価の目的としても活用可能です。
AWS SCTを使ってできること
AWS SCTはスキーマの変換のほかに、データ抽出エージェントの利用、データベース評価レポートの作成など、さまざまな使い方ができます。
スキーマの変換
ソースとなるデータベースからターゲットのAmazon RDSに対して、互換性のある形式に自動的に変換します。Oracle、Microsoft SQL Server、PostgreSQL、My SQLのような主要なデータベースの移行に対応していることが特長です。
変換はプロジェクト単位で行い、ソースのツリービュー、アクション項目とプロパティ、ターゲットのツリービューといったユーザーインターフェースが用意されています。自動的に変換できない場合には、同等のスキーマを作成するためのガイダンスが表示されます。
データ抽出エージェント
AWS Schema Conversion Toolのデータ抽出エージェントは、ソースとターゲットのデータベースが大きく異なり追加の変換が必要といったような特定の移行シナリオの際に利用します。
データウェアハウスやデータレイクなどの構造化もしくは半構造化されたデータを解析するツールにAmazon Redshiftがあります。データ抽出エージェントを利用して、Amazon Redshiftに使用するためのデータを抽出することが可能です。
AWS SCT Apache Cassandra からAmazon DynamoDB に移行するようなシナリオにおいてもデータ抽出エージェントを活用できます。
データベース移行評価レポートの作成
スキーマ変換タスクや自動的に変換できない項目の詳細などをレポーティングして、データベース移行準備を支援する機能があります。データベース移行評価レポートは、アプリケーション上で表示できるほか、カンマ区切りのCSVファイル、PDFファイルの形式でエクスポートすることも可能です。
データベース移行評価レポートは、エグゼクティブサマリーのほか、ライセンス評価、ソースデータベースの機能のうち利用できない項目や推奨事項といった提案を得られます。推奨事項の例としては、サーバーオブジェクトの変更、バックアップの必要性の提案、サーバーの変更などがあります。
自動的に変換できない問題を抽出し、コードの記述が必要な労力に関する予測に関するレポーティングもあるため、作業負荷を確認しながら多角的に検討する資料として役立ちます。
Amazon Redshift データベースの最適化
Amazon RedshiftはSQLを使ってデータを解析しますが、既存のAmazon Redshiftデータベースを最適化します。ソースならびにターゲットは、Amazon Redshiftを設定します。
AWS SCTの使い方
AWS SCT はスタンドアローンのアプリケーションであり、オペレーションシステムに合わせてインストールを行って利用します。
インストール
WindowsもしくはLinux(Fedora、Ubuntu)のオペレーションシステム用があり、いずれも64ビットのみサポートしています。以下のリンクから適切なプラットフォームの AWS Schema Conversion Tool をダウンロードできます:
それぞれのインストーラの圧縮ファイルをダウンロードして展開した後、インストーラを実行します。画面にしたがって、利用許諾やインストール先などを設定。その後、ソースとターゲットのデータベースエンジンのドライバをインストールして、セットアップ完了です。
インストール後に、AWS SCTを起動してデータベースドライバを設定します。
プロジェクトの作成
AWS SCTはプロジェクトベースのツールです。まず起動して「File」から「New project」を選択します。ダイアログボックスを確認して、プロジェクト、場所、OLTPのほか、ソースとターゲットのデータストアを指定します。プロジェクト作成後、データベースに接続することができます。
評価レポートの作成
スキーマ変換に関する評価レポートは、ウイザード形式のメニューで進めます。メニューの「File」から「New project wizard」を選択して、以下の5つのステップのそれぞれを指定します。
・ステップ1:プロジェクト名とソースのデータベースなど。
・ステップ2:ソースのデータベースの接続情報。
・ステップ3:スキーマの選択。
・ステップ4:レポートの確認。
・ステップ5:ターゲットとなるデータベースの情報の入力。
ステップ3でスキーマを選択するウイザードでは、表示されているスキーマから分析の対象となる項目を選択して、特定の項目だけの分析や複数の項目の分析ができます。選択した項目によっては分析に時間がかかるため注意が必要です。
評価レポートはいくつかのファイルに分かれていますが、グラフで可視化して変換の可能性が表示されるとともに、修正点や難しさをテキストで記載しています。
データベース移行評価レポートと活用方法
データベース評価レポートは、複数のレポートで構成されています。画面上で確認できるほか、PDFやCSVファイルとしてダウンロードして確認が可能です。マイグレーションを事前に検証するときに役立ちます。評価レポートを活用するにあたって注目すべきポイントと注意点を解説します。
エグゼクティブサマリー
スキーマの自動変換が可能か不可能かという判別に関する全体像を確認するレポートです。変換推定時間を3種類に分類して表示し、2時間以内に完了できる「Simple」、2~6時間を要する「Medium」、非常に複雑で6時間以上かかる「Complex」があります。
時間がかかりすぎる場合には、License evaluationを確認してAmazon RDSのインスタンスのライセンスを見直すとよいでしょう。
アクションアイテム
Amazon RDSインスタンスのデータベースエンジンに対して自動的に変換できない項目がリストアップされ、項目の選択にしたがって適用されるスキーマが分かりやすくハイライトで表示されます。手動でスキーマを変換するときに必要な作業も示されています。
エラーメッセージ
評価レポートを作成するときAWS SCTはソースのデータベースに接続してスキャニングを行います。このとき問題が生じた場合には、エラーメッセージを表示します。オブジェクトにアクセスできない、オブジェクトがそもそも存在しない場合、あるいは暗号化されている場合などが該当します。移行元のデータベースを確認してください。
おわりに
大規模なデータベースや異種間のデータベースを移行する際には、スキーマの変換を自動化すると作業がスムーズになります。しかし、すべてのスキーマを自動的に変換できるとは限りません。事前のアセスメントによって、どれだけ自動化が可能か、手動で処理しなければならない変換にどれだけの労力が必要か見極める必要があります。また、移行後の検証もシステムの信頼性を維持するために重要です。
データベースのマイグレーションにあっては、AWS DMSとともにAWS SCTを活用するとよいでしょう。
データベースマイグレーション(DBマイグレーション)とは今まで活用されてきたデータベースシステムを新たなデータベースに移行することです。レガシー資産化した旧来データベースシステムはさまざまな課題を抱えています。しかしリプレイスする際のコストも大きくなってしまうことがデータベース移行の障害になっています。ONETECHではDBマイグレーションをベトナムオフショア価格で支援します。
ベトナムオフショア開発会社 ONETECHはAWSセレクトティアパートナー
もし、AWSについてプロのアドバイスが欲しいのなら、ぜひONETECHにご相談ください。
ONETECHはオフショア開発会社として100社以上との取引実績を誇ります。
ONETECHではAWS資格保有のエキスパートがお客様の課題をカタチにします。
- インターネットサービスの企画はあるがどうしたら良いか
- どのようにクラウドを利用したら良いかわからない
- クラウドを利用するためのコストやポイントを知りたい
- 保守運用まで考慮した設計をしたい
AWS DMSとともにAWS SCTを含むAWSのコンサルティングサービスを提供しています。気になること、不安なことをお気軽にご相談ください。