[RDSへのデータ移行]1.SCT(AWS Schema Conversion Tool)の設定

# 検証前提
- RDS for OracleからAurora PostgresSQLへのデータ移行を検証する
    - 今回は検証のため、同一VPC上にRDSとAuroraを構築
- 検証ステップ
    - 1.SCTでスキーマ変換
    - 2.DMSでデータ移行

- RDS/AuroraとSCT用のEC2は作成済み

|項目|ソースDB|ターゲットDB|
|:--|:--|:--|
|エンジン|RDS for Oracle|Aurora PostgreSQL|
|バージョン|11.2.0.4|10.7|
|DBインスタンス名|sourcedb|targetdb|
|VPC|foals1-vpc|foals1-vpc|
|サブネット|プライベートサブネット|プライベートサブネット|<img width="709" alt="3.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/adf1c579-f144-5928-5d25-0cd5b04a8a40.png">

|EC2|用途|VPC|サブネット|OS|
|:--|:--|:--|:--|:--|
|sct-bastion|SCT実行用|foals1-vpc|パブリックサブネット|Windows|

|移行単位|移行対象|
|:--|:--|
|スキーマ|SCOTT|

# 1.SCTのダウンロード
- AWSの管理コンソール → DMSの管理コンソール
- **AWS SCTのダウンロード**をクリック

<img width="1393" alt="1.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/1b6a7549-4603-b900-dfa3-c5578da7c82d.png">

- 「[AWS Schema Conversion Tool のインストール、検証、更新](https://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/CHAP_Installing.html)」の
**「AWS SCTをインストールするには」**から zip をダウンロード
    - 今回はWindows版をダウンロード 

<img width="1615" alt="2.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/8f2a914b-4224-aedd-618e-e225bd2e291e.png">

- **「ソースDB」**と**「ターゲットDB」**用にJDBCドライバをインストールするために「[必要なデータベースドライバのインストール](https://docs.aws.amazon.com/ja_jp/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.JDBCDrivers)」から必要なドライバをローカル上（今回はMac）にダウンロード
    - **注意**
        - 最新(2019/11/08時点)のSCTではOracleの JDBCドライバ 12.1はサポートされない。**12.0.0.0以上**が必要
        - Oracleの最新のJDBCドライバは「[JDBC and UCP Downloads page](https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html)」からダウンロード可能
        - 今回は、12.2.0.1の**ojdbc8-full.tar.gz**をダウンロード
- EC2(Windows)にダウンロードしたファイルを転送
- 今回は、JDBCドライバを**C:¥jdbc**に配置しておく

# 2.SCTの設定
- SCTのzipファイルを解凍しインストーラを実行
- **AWS Schema Conversion Tool**を起動
- **Accept**をクリック
<img width="709" alt="3.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/89628f8f-f7d4-54b7-3a82-afd3a441a81e.png">
- こんな画面になる
    - 一旦「Create a new database migration project」を閉じておく（右上のバッテン）
<img width="1437" alt="4.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/f2302450-b062-7a88-2bc0-daef63ac470a.png">
- Settings → **Global settings**をクリック
<img width="602" alt="7.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/a3e53ae8-1d4e-2913-6674-ae92fbcd84c2.png">
- Global settingsで**Drivers**を選択
    - ソースDBとターゲットDB用のJDBCドライバのファイルパスを追加
<img width="1436" alt="8.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/009df4be-dc7b-e6da-852d-31e411781788.png">

# 3.SCTでプロジェクト作成
- File　→　**New project wizard**をクリック
<img width="540" alt="9.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/66b1beda-7d60-229f-f44d-b65a72e41502.png">
- **「Step1.Choose a source」**
    - プロジェクト名に任意の名前をつける
    - Transactional database（OLTP）
    - Source database engine：**Oracle**
    - 今回は**a)**を選択
        - a）I want to switch engines and optimize for the cloud（エンジンを切り替えてクラウド向けに最適化したい）
        - b)I want to keep the same engin but optimize for the cloud(同じエンジンを維持したいが、クラウド向けに最適化したい)
        - c)I want to see a combined report for database engine switch and optimization to cloud(データベースエンジンの切り替えとクラウドへの最適化に関する複合レポートが見たい)
<img width="1200" alt="5.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/2ccf17ce-2e5c-60be-cadc-6f2e2cf912e2.png">
- **「Step2.Choose to the source database」**
    - 各項目を入力しNEXT
<img width="1200" alt="10.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/a7f26909-85ff-4a54-423e-feb6faa2ffe9.png">
- **「Step3.Choose a schema」**
    - 分析するスキーマを選択
        - 今回は**SCOTTユーザ**
<img width="1196" alt="11_sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/247ecd67-fd3e-c7a3-30b3-9a9db4846e19.png">
- NEXTを押すとLoadingが開始する
<img width="1197" alt="12.sct.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/a3519f70-2d8a-7b85-35c4-9d67e2b7ec30.png">
- **「Step4.Run the database migration assessment」**
<img width="1193" alt="13.sct-bastion.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/d0b7f7be-f564-9b55-815c-1bfe39120384.png">
- サマリーを確認できる
    - Aurora（PostgreSQL）の場合はこんか感じ
<img width="1195" alt="14.sct-bastion.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/ce51d104-88f7-63a3-bc0b-07d9850b84ba.png">

- **「Step5.Choose a target」**
    - ターゲットDBの接続情報を指定し**Test connection**をクリックし接続確認
    - **Connection successful**となったら**Finish**
<img width="1197" alt="15.sct-bastion.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/6e30b8a5-9bcc-d91d-f212-5f8d9f54a936.png">
- 次の画面になる
    - キャンセルを選択
<img width="1437" alt="16_sct-bastion.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449014/b0a66c90-9a13-565a-980d-17b4fb1ab030.png">


続き→[[RDSへのデータ移行]2.SCT(AWS Schema Conversion Tool)でスキーマ変換](https://qiita.com/ghogho-seki/items/a5e85864aea63175444a)