NEWSニュース&ブログ

Insight SQL Testingで実現する異種間DB移行のためのSQLテスト:Amazon EC2を活用した手法(その1)

投稿日:2024/11/28

はじめに

こんにちは。システムサポートの野瀬です。
今回は、Insight SQL Testingを用いた異種データベース間のSQLテストを実践したいと思います。

Insight SQL Testingの機能詳細、および(株)インサイトテクノロジー様に関する情報は、こちらを参照ください。

データベースの移行において、移行元と移行先でSQLがどう変わるのかを事前に調査することは、プロジェクトを行う上で重要なプロセスです。
移行元と移行先において、このまま使えるSQL、修正が必要なSQLなどの判定を行ってくれるツールがInsight SQL Testingです。

本ブログでは、AWSにおけるInsight SQL TestingのEC2の構築~環境接続までの手順をご紹介いたします。

環境説明

今回の環境は以下の通りです。

   

本ブログにおきましては、具体的な構築手順は省略いたしますが、下記の内容で構築しました。
1つのVPCにおいて、1パブリックサブネット、4プライベートサブネットを作成します。
パブリックサブネットにインターネットゲートウェイをアタッチして、パブリックサブネット内にデプロイするInsight SQL Testingに、ローカルから接続できるような環境にします。

サブネット AZ インスタンス IPv4 CIDR
to-nose-subnet01ap-northeast-1apublic10.0.0.0/20
to-nose-subnet02ap-northeast-1cprivate10.0.16.0/20
to-nose-subnet03
ap-northeast-1aprivate10.0.32.0/20
to-nose-subnet04ap-northeast-1cprivate10.0.48.0/20
to-nose-subnet05ap-northeast-1aprivate10.0.64.0/20


手順概要

前提として、下記要件を満たしていることを確認ください。

  • AWSアカウントが発行されていること
  • Insight SQL Testingのライセンスが払い出されていること

大まかな流れは、下記の通りです。

  1. AWSコンソールにログイン
  2. Amazon Marketplaceから、Insight SQL Testingの購入
  3. EC2インスタンスの構築
    • ネットワーク構築が完了していることを前提とする
  4. インスタンスにSSH接続し、ディスクサイズの拡張
  5. Insight SQL Testingコンソールにアクセスし、ログイン

手順詳細

1.AWSコンソールに、IAMユーザーでログインします。
2.Amazon Marketplaceから、Insight SQL Testingの購入
  AWS Marketplaceから「Insight SQL Testing Manager」と検索します。検索結果より、Amazonマシンイメージ(AMI)を選択します。今回はBYOLを選択しました。
製品概要を確認し、「購読を続ける」をクリックします。
サブスクリプションに登録されたことが確認できました。
サブスクリプションの内容を確認し、「新規インスタンスを起動」をクリックします。

3.EC2インスタンスの構築
  ネットワークの準備を確認し、いよいよInsight SQL Testingの構築に移ります。
  サブスクリプションの内容を確認し、配信方法、ソフトウェアのバージョン、リージョンを選択し、「EC2を介して起動を続ける」をクリックします。

AWSコンソールの、EC2設定画面に遷移します。アプリケーションおよびOSイメージ(Amazonマシンイメージ)を確認します。
インスタンスの名前やタグを適宜入力します。今回はインスタンス名とadminタグを作成しました。


インスタンスタイプは、m5.xlargeを選択します。m5.xlarge以上が推奨されています。


VPCやサブネットは予め作成したものを選択します。セキュリティグループはSSH(22)に加え、HTTP(7777)を許可します。
ストレージは追加設定が必要です。下記の通り、ボリュームを追加します。ストレージタイプはすべてEBS、ボリュームタイプはすべてgp3、IOPSはすべて3000、スループットはすべて125とします。
デバイス名容量
/dev/sda130 GiB
/dev/sdb50 GiB
/dev/sdc10 GiB
/dev/sdd20 GiB


高度な詳細はスキップします。

インスタンスタイプやボリュームなどを確認し、「Ec2インスタンスを起動」をクリックします。
4. インスタンスにSSH接続し、ディスクサイズの拡張

  EC2インスタンス起動後、terratermなどを経由し、取得した.pemキーを使用してec2-userユーザーにてSSHで接続します。
  接続しましたら、下記のコマンドでディスクサイズを拡張します。
[ec2-user@idt ~]$ sudo xfs_growfs -d /mnt/piso-data
meta-data=/dev/nvme3n1 isize=512 agcount=8, agsize=32768 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1
data = bsize=4096 blocks=262144, imaxpct=25
= sunit=1 swidth=1 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=1 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 262144 to 13107200
dfコマンドで確認します。
[ec2-user@idt ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        7.5G     0  7.5G   0% /dev
tmpfs           7.5G  1.2M  7.5G   1% /dev/shm
tmpfs           7.5G  8.5M  7.5G   1% /run
tmpfs           7.5G     0  7.5G   0% /sys/fs/cgroup
/dev/nvme0n1p1   32G   17G   16G  52% /
/dev/nvme2n1    20G  207M   20G   2% /mnt/pg-wal
/dev/nvme3n1    50G  500M   50G   1% /mnt/piso-data
/dev/nvme1n1    10G  109M  9.9G   2% /mnt/piso-backup
tmpfs           1.5G  248K  1.5G   1% /run/user/1001
tmpfs           1.5G     0  1.5G   0% /run/user/1000
AWSコンソールで設定した通りに拡張されました。

5.Insight SQL Testingコンソールにアクセスし、ログイン


  AWSコンソールで、構築したインスタンスのIPアドレスを確認します。
  確認後、webブラウザから以下のURLへアクセスします。http://<SQL Testing ManagerのIPアドレス>:7777/idt/
今回構築したインスタンスのIPアドレスは、57.180.60.230でしたので、今回の場合は下記のURLになります。
http://57.180.60.230/idt/
公式マニュアルより初期ユーザとパスワードは予め定められているため、その通りに入力します。
ユーザー名:administrator
パスワード:起動したEC2のインスタンスID(今回の場合:i-0b90e6eccaa4363ea)
無事にInsight SQL Testingを立ち上げ、コンソールにログインすることが出来ました。



まとめ

今回は、AWS MarketplaceからInsight SQL TestingのEC2インスタンスを構築し、コンソールにログインすることが出来ました。
次回は実際にInsight SQL Testingを使用して、SQLのテストなどを行っていこうと思います。

野瀬俊之(2001年生まれ 2024年入社)
株式会社システムサポート フューチャーイノベーション事業本部
ソリューションサービス事業部所属