AWS Schema Conversion Tool
ユーザーガイド (Version 1.0)

AWS Schema Conversion Tool 拡張パックの使用

AWS SCT 拡張パックは、ソースデータベースにある関数をエミュレートするアドオンモジュールです。これらの関数は、オブジェクトをターゲットデータベースに変換する際に必要です。AWS SCT 拡張パックをインストールする前に、データベーススキーマを変換する必要があります。

AWS SCT 拡張パックには以下のコンポーネントが含まれています。

  • DB スキーマ – SQL 関数、プロシージャ、テーブルが含まれています。これらにより、一部の OLTP や OLAP オブジェクト (シーケンスなど) またはソースデータベースのサポートされていない組み込み関数をエミュレートします。このスキーマ名の形式は aws_<database engine name>_ext です。

  • カスタム Python ライブラリ (特定の OLAP データベース) – Python 関数のセットが含まれています。これにより、サポートされていない組み込みデータベース関数をエミュレートします。いずれかのサポートされていないデータベースから Amazon Redshift に移行する際に、このライブラリを使用します。

    このライブラリの詳細については、「 AWS SCT 拡張パックのカスタム Python ライブラリの使用」を参照してください。

  • AWS Lambda 関数 (特定の OLTP データベース) – AWS Lambda 関数が含まれています。これらの関数により、ジョブのスケジュール設定や E メールの送信など、複雑なデータベース機能をエミュレートします。

以下のセクションでは、AWS SCT 拡張パックについて説明します。

AWS SCT 拡張パックは 2 つの方法で適用できます。

  • コンテキストメニューの [ApplyToTarget (ターゲットに適用)] を選択してターゲットデータベーススクリプトを適用すると、AWS SCT は自動的に拡張パックを適用し、AWS SCT は、他のすべてのスキーマオブジェクトに適用される前に、拡張パックを適用します。

  • 拡張パックを手動で適用するには、ターゲットデータベースを選択し、コンテキストメニューの [Apply Extension Pack] を選択します。ほとんどの場合、自動適用で十分です。ただし、パックを誤って削除した場合は、これを手動で適用する必要があります。

AWS SCT 拡張パックをターゲットデータストアに適用するたびに、コンポーネントが上書きされます。各コンポーネントにはバージョン番号があります。適用するコンポーネントが現行のコンポーネントバージョンより古い場合は、AWS SCT から警告を受けます。これらの警告の通知は、[Settings] の [Global Settings] セクションの [Notification Settings] で管理できます。

拡張パックスキーマの使用

データベースまたはデータウェアハウスのスキーマを変換すると、AWS SCT によってターゲットデータベースに別のスキーマが追加されます。この別のスキーマは、ソースデータベースの SQL システム関数を実装します。これらの関数により、変換したスキーマがターゲットデータベースに書き込まれます。この別のスキーマは、拡張パックスキーマと呼ばれます。

OLTP データベースの拡張パックスキーマの名前は、ソースデータベースに従って次の形式になります。

  • Microsoft SQL Server: AWS_SQLSERVER_EXT

  • MySQL: AWS_MYSQL_EXT

  • Oracle: AWS_ORACLE_EXT

  • PostgreSQL: AWS_POSTGRESQL_EXT

OLAP データウェアハウスアプリケーションの拡張パックスキーマの名前は、ソースデータストアに従って次の形式になります。

  • Greenplum: AWS_GREENPLUM_EXT

  • Microsoft SQL Server: AWS_SQLSERVER_EXT

  • Netezza: AWS_NETEZZA_EXT

  • Oracle: AWS_ORACLE_EXT

  • Teradata: AWS_TERADATA_EXT

  • Vertica: AWS_VERTICA_EXT

AWS SCT 拡張パックのカスタム Python ライブラリの使用

場合によっては、AWS Schema Conversion Tool はソースデータベース機能を同等の Amazon Redshift 機能に変換できないことがあります。AWS SCT 拡張パックには、Amazon Redshift のソースデータベース機能をエミュレートするカスタム Python ライブラリが含まれています。

トランザクションデータベースを変換する場合は、代わりに「AWS Lambda 拡張パックの AWS SCT 関数の使用」を参照してください。

次の 2 つのケースでは、拡張パックを手動でインストールします。

  • ターゲットデータベースから誤って拡張パックスキーマを削除した場合

  • カスタム Python ライブラリをアップロードしてデータベース機能をエミュレートします。

AWS のサービスを使用してカスタム Python ライブラリをアップロードする

AWS SCT 拡張パックウィザードに従い、カスタム Python ライブラリをインストールします。

拡張パックの適用

以下の手順を使用して、拡張パックを適用します。

拡張パックを適用するには

  1. AWS Schema Conversion Tool のターゲットデータベースのツリーで、コンテキスト (右クリック) メニューを開き、[Apply Extension Pack (拡張パックの適用)] を選択します。

    
                            [Apply Extension Pack (拡張パックの適用)] コンテキストメニュー

    拡張パックウィザードが表示されます。

  2. [Welcome] ページをお読みの上、[Next] を選択します。

  3. [AWS Services Settings] ページで、以下の作業を行います。

    • 拡張パックスキーマのみを再インストールする場合は、[Skip this step for now]、[Next] の順に選択します。

    • Python ライブラリをアップロードした場合は、認証情報を入力して AWS アカウントに接続します。AWS Command Line Interface がインストールされている場合は、AWS CLI (AWS CLI) 認証情報を使用できます。また、グローバルアプリケーション設定で以前プロファイルに保存した認証情報を使用して、プロジェクトと関連付けることもできます。必要に応じて、[Navigate to Project Settings] を選択し、別のプロファイルをプロジェクトに関連付けます。必要に応じて、[Global Settings] を選択して、新しいプロファイルを作成します。詳細については、「AWS Schema Conversion Tool での AWS のサービスプロファイルの使用」を参照してください。

  4. [Python Library Upload] ページで、以下の作業を行います。

    • 拡張パックスキーマのみを再インストールする場合は、[Skip this step for now]、[Next] の順に選択します。

    • Python ライブラリをアップロードした場合は、Amazon S3 パスを指定して [Upload Library to S3 (ライブラリを S3 にアップロード)] を選択します。

    終了したら、[Next ] を選択します。

  5. [Functions Emulation] ページで、[Create Extension Pack] を選択します。拡張パックの操作ステータスとメッセージが表示されます。

    完了したら、[Finish] を選択します。

AWS Lambda 拡張パックの AWS SCT 関数の使用

AWS Schema Conversion Tool 拡張パックには、Lambda プラットフォームでホストされているデータベースに E メール、ジョブのスケジュール、その他の機能を提供する Amazon EC2 関数が含まれます。

AWS Lambda 関数を使用したデータベース機能のエミュレート

場合によって、データベース機能は同等の Amazon RDS 機能に変換できないことがあります。たとえば、Oracle で送信される E メール呼び出しに UTL_SMTP が使用されている場合や、Microsoft SQL Server でジョブスケジューラが使用される場合があります。Amazon EC2 でデータベースをホストして自己管理する場合は、代わりに AWS のサービスを使用して、これらの機能をエミュレートできます。

E メール送信やジョブのスケジュール設定などの機能をエミュレートするために、AWS SCT 関数のインストール、作成、設定を行うには、Lambda 拡張パックのウィザードを使用します。

拡張パックの適用

以下の手順を使用して、拡張パックを適用します。

重要

AWS のサービスのエミュレーション機能は、Amazon EC2 にインストールされて自己管理されるデータベースに対してのみサポートされています。ターゲットデータベースが Amazon RDS DB インスタンス上にある場合は、サービスエミュレーション機能をインストールしないでください。

拡張パックを適用するには

  1. AWS Schema Conversion Tool のターゲットデータベースのツリーで、コンテキスト (右クリック) メニューを開き、[Apply Extension Pack (拡張パックの適用)] を選択します。

    
                            [Apply Extension Pack (拡張パックの適用)] コンテキストメニュー

    拡張パックウィザードが表示されます。

  2. [Welcome] ページをお読みの上、[Next] を選択します。

  3. [AWS Services Settings] ページで、以下の作業を行います。

    • 拡張パックスキーマのみを再インストールする場合は、[Skip this step for now]、[Next] の順に選択します。

    • AWS のサービスをインストールした場合は、認証情報を入力して AWS アカウントに接続します。AWS Command Line Interface がインストールされている場合は、AWS CLI AWS CLI() 認証情報を使用できます。また、グローバルアプリケーション設定で以前プロファイルに保存した認証情報を使用して、プロジェクトと関連付けることもできます。必要に応じて、[Navigate to Project Settings] を選択し、別のプロファイルをプロジェクトに関連付けます。必要に応じて、[Global Settings] を選択して、新しいプロファイルを作成します。詳細については、「AWS Schema Conversion Tool での AWS のサービスプロファイルの使用」を参照してください。

  4. [Email Sending Service] ページで、以下の作業を行います。

    • 拡張パックスキーマのみを再インストールする場合は、[Skip this step for now]、[Next] の順に選択します。

    • AWS のサービスをインストールする場合、既存の Lambda 関数があれば、それを指定できます。それ以外の場合は、ウィザードで自動的に作成されます。終了したら、[Next ] を選択します。

  5. [Job Emulation Service] で、次の作業を行います。

    • 拡張パックスキーマのみを再インストールする場合は、[Skip this step for now]、[Next] の順に選択します。

    • AWS のサービスをインストールする場合、既存の Lambda 関数があれば、それを指定できます。それ以外の場合は、ウィザードで自動的に作成されます。終了したら、[Next ] を選択します。

  6. [Functions Emulation] ページで、[Create Extension Pack] を選択します。拡張パックの操作ステータスとメッセージが表示されます。

    完了したら、[Finish] を選択します。