2021/05/26

AWS SCTとは?AWSのデータベース移行について解説

 
  

AWS SCTとは?


AWS SCTとは「AWS Schema Conversion Tool」の略称で、データベース間でデータ移行を効率的に行ってくれるツールです。

AWS SCTを使用することで、オンプレミス環境で運用していたデータベースをAWSに円滑に移行させることができます。

データを移行させるときにはデータベーススキーマの変換をするため、例えばオンプレミス環境にOracleで構築したデータベースを、AWSにあるPostgreSQLに移行させるなど、異なるデータベースエンジン間のデータ移行も可能です。

AWS SCTのインストール


AWS SCTはスタンドアロンアプリケーションなので、インストーラーを入手して実行することでインストールできます。

インストーラーはオペレーティングシステムごとに用意されているので、自分の環境に合ったインストーラーを入手する必要があります。

ここでは、Linux版で説明していきます。

①AWSの公式サイトからインストーラーをダウンロードします。

②下記コマンドを実行してAWS SCTのインストーラーファイルを抽出します。

aws-schema-conversion-tool-1.0.build-number.x86_64.rpm

③下記コマンドを実行してインストールを実行します。

sudo yum install aws-schema-conversion-tool-1.0.build-number.x86_64.rpm

④必要に応じてデータベースエンジン用のJDBCドライバをインストールします。

AWS SCTの使い方


AWS SCTは、プロジェクトと呼ばれる作業単位でデータベーススキーマ変換を行います。

AWS SCTのインストール後は基本的に以下の流れで作業していきます。ここでは、オンプレミスのOracleからAWSのPostgreSQLに移行する手順を説明します。

①AWS SCTプロジェクトを作成します。

②移行元と移行先のデータベースに接続します。

③データベース移行評価レポートを作成して確認します。

④移行元のデータベーススキーマを変換します。

⑤変換したスキーマを移行先のデータベースに適用します。

AWS SCTのプロジェクト作成とデータベース接続

AWS SCTのプロジェクト作成とデータベース接続は以下の手順で行います。

①AWS SCTを起動します。

②「ファイル」>「新しいプロジェクト」を選択します。

③「新しいプロジェクト」ウィンドウにプロジェクト情報を入力します。

項目 説明
プロジェクト名 プロジェクト名を入力します。
場所 プロジェクトフォルダの場所を指定します。
ソースデータベース 移行元データベースです。「Oracle」を選択します。
ターゲットデータベース 移行先データベースです。「Amazon RDS for PostgreSQL」を選択します。

④「Connect to Oracle」を選択して、移行元データベースの接続情報を入力して「OK」を選択します。

⑤「Connect to Amazon PostgreSQL」を選択して、移行先データベースの接続情報を入力して「OK」を選択します。

データベース移行評価レポートの作成

データベース移行評価レポートには、スキーマ変換によって自動的に移行先データベース用に変換された項目や変換できなかった項目が表示されます。また、スキーマ変換にかかる推定時間も表示されます。

データベース移行評価レポートは以下の手順で作成できます。

①AWS SCTのプロジェクトを右クリックして「レポートの作成」を選択します。

②「概要」タブで、自動変換された項目と未変換の項目を確認します。

③「アクション項目」タブで、自動的に変換できなかった項目の一覧と対処方法を確認します。

データベース移行評価レポートには手動で項目を変換する方法のアドバイスなども記載されているので、参考にしましょう。

作成されたデータベース移行評価レポートは、PDFファイルまたはCSVファイルとして保存できます。

PDFファイルの場合は要約とアクション項目の両方が出力されますが、CSVファイルの場合はアクション項目のみが出力されます。

データベーススキーマの変換

データベーススキーマの変換は、主に2つのステップで作業します。

まず、最初にマッピングルールを作成します。

マッピングルールとは、移行元から移行先のデータベースにスキーマを変換する際に、列のデータ型の指定や、オブジェクトの名前変更などを行うためのルールです。

マッピングルールの作成は以下の手順で行えます。

①「設定」メニューから「マッピングルール」を選択します。

②「マッピングルール」ウィンドウから「新しいルールの追加」を選択します。

③ルールを入力したら「保存」を選択します。

作成したマッピングルールは、複製して別のマッピングルールに流用することや、削除せずに無効化して一時的に使用しないように切り替えることもできます。
マッピングルールの作成が完了したら、次にスキーマの変換を行います。

スキーマの変換は以下の手順で行います。

①AWS SCTのプロジェクトからスキーマオブジェクトを選択します。

②右クリックして「スキーマ変換」を選択します。

なお、移行元データベースのスキーマ情報はプロジェクト作成時に保存されているため、スキーマ変換はオフライン状態でも作業可能です。

もしプロジェクト作成後に移行元データベースのスキーマ情報が更新されている場合は、スキーマオブジェクトを右クリックして「データベースから更新」を選択すると、最新のスキーマ情報を取得して保存します。

スキーマ変換によって生成された移行先データベースのスキーマ情報は、まだ移行先データベースには適用されておらず、ローカルに保存されています。

変換後のスキーマ情報を移行先データベースに適用

スキーマ変換を行って移行先データベースのスキーマ情報の生成まで完了したら、最後に移行先データベースにスキーマ情報を適用します。

移行先データベースへの適用は、以下の手順で行えます。

①AWS SCTのプロジェクトから移行先データベースのスキーマ情報を選択します。

②右クリックして「データベースに適用」を選択します。

移行先データベースにスキーマ情報を適用後に、移行元や移行先のデータベースでスキーマ情報を変更した場合には、AWS SCTからスキーマを比較することができます。

スキーマを比較して、変更箇所を個別または全体に適用することもできます。

スキーマ比較は以下の手順で行えます。

①AWS SCTのプロジェクトから比較したいスキーマオブジェクトを選択します。

②右クリックして「スキーマの比較」を選択します。

AWS SCTを利用してデータベース移行作業を効率化させよう!


AWS SCTを利用することで、データベースの移行作業を効率的に進めることができます。

もし、手作業でデータベースを移行しようとすると、移行元データベースのスキーマ情報をDDL文として作成したり、移行先データベースとの差異を調査してスキーマ登録用のDDL文を修正したりする作業だけでも、多くの工数がかかります。

手作業で行うことで、ヒューマンエラーが発生するリスクも増え、移行後の確認作業にも工数がかかってしまいます。

また、AWS SCTを使用することで、データベース移行の経験が浅い人でも、熟練者と同じ効率で作業できるというメリットもあります。

つまり、データベース移行にかかる手間やリスクを解消して、誰でも安全かつ平準化された作業が行えるようになるのであれば、AWS SCTを使わない手はないでしょう。

ぜひAWS SCTを使いこなして、データベースの保守・運用を効率化しましょう。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】