AWS Data Pipeline を使用して、Amazon Relational Database Service (Amazon RDS) for PostgreSQL のテーブルを Amazon Redshift のテーブルに、または Amazon RDS for MySQL のテーブルを Amazon RDS for PostgreSQL のテーブルにコピーしたいと思っています。どのようにすればよいですか?

Data Pipeline のデフォルトのテンプレートは、Amazon RDS for MySQL から Amazon Redshift へのテーブルのコピーをサポートしています。詳細については、「Amazon RDS から Amazon Redshift へのコピー用テンプレート」を参照してください。また、デフォルトのテンプレートのスクリプトを修正して、他のタイプのデータベースの間でテーブルをコピーすることもできます。

Data Pipeline を使用して、あるデータベースのテーブルを別のデータベースにコピーするには、これらのスクリプトをダウンロードして使用します。始める前に、サンプルの定義ファイルを、自分のデータベース、EC2 インスタンスの詳細、および Amazon Simple Storage Service (Amazon S3) にホストしているシェルスクリプトへのパスに合わせて修正します。

Amazon RDS for PostgreSQL のテーブルを Data Pipeline を使用して Amazon Redshift のテーブルにコピーする

PostgresqlRdsToRedshift は、Amazon RDS for PostgreSQL のテーブルを Amazon Redshift のテーブルにコピーする際に使用するすべてのアクティビティとパイプラインオブジェクトが示されている、サンプルのパイプライン定義ファイルです。このサンプルファイルは、MySQL のテーブルを Amazon Redshift のテーブルにコピーするために使用される、デフォルトの Data Pipeline テンプレートに基づいており、ShellCommandActivity で使用されているシェルスクリプトには変更が加えられています。パイプライン内のアクティビティのシーケンスは次のとおりです。

1.    RDSToS3CopyActivity - CopyActivity は、RDS テーブルを Amazon S3 ステージングパイプにコピーします。CopyActivity は段階的に、RDS のテーブル全体を、アクティビティを実行している EC2 インスタンスに送ります。RDS テーブル全体を収めるために余分のスペースが必要な場合には、使用している EC2 インスタンスに、より大きな EBS ボリュームを割り当ててください。

2.    RedshiftTableCreateActivity - ShellCommandActivity は、ターゲットの Amazon Redshift テーブルを作成します。このアクティビティは、自分の S3 バケットにホストされている dbconv_psqlRDStoRedshift.sh スクリプトを実行します。

3.    S3ToRedshiftCopyActivity - RedshiftCopyActivity は、Amazon Redshift COPY コマンドを使用して、Amazon S3 CSV ファイルをターゲットの Amazon Redshift テーブルにコピーします。

4.    S3StagingCleanupActivity - ShellCommandActivity は、途中で生成された Amazon S3 CSV ファイルをクリーンアップします。

Amazon RDS for MySQL のテーブルを Data Pipeline を使用して Amazon RDS for PostgreSQL のテーブルにコピーする

mysqlRDS-psqlRDS-copy-using-shell-definition.json は、Amazon RDS for MySQL のテーブルを Amazon RDS for PostgreSQL のテーブルにコピーする際に使用するすべてのアクティビティとパイプラインオブジェクトが示されている、サンプルのパイプライン定義ファイルです。このサンプルファイルは、MySQL のテーブルを Amazon Redshift のテーブルにコピーするために使用される、デフォルトの Data Pipeline テンプレートに基づいており、ShellCommandActivity で使用されているシェルスクリプトには変更が加えられています。パイプライン内のアクティビティのシーケンスは次のとおりです。

1.    RDSToS3CopyActivity - CopyActivity は、RDS テーブルを Amazon S3 ステージングパイプにコピーします。CopyActivity は段階的に、RDS のテーブル全体を、アクティビティを実行している EC2 インスタンスに送ります。RDS テーブル全体を収めるために余分のスペースが必要な場合には、使用している EC2 インスタンスに、より大きな EBS ボリュームを割り当ててください。

2.    SyncS3CsvToEc2 - ShellCommandActivity は、Amazon S3 CSV ファイルを EC2 インスタンスのローカルディレクトリと同期します。PostgreSQL RDS は、Amazon S3 からのコピーはサポートしていません。

3.    JdbcTableCreateActivity - ShellCommandActivity は、Amazon RDS for PostgreSQL テーブル内にターゲットテーブルを作成し、ローカルの EC2 インスタンスと同期したテーブルデータをターゲットの PostgreSQL テーブルに書き込みます。このアクティビティは、自分の S3 バケットにホストされている dbconv_mysqlRDS-to-postgresqlRDS.sh スクリプトを実行します。

4.    S3StagingCleanupActivity - ShellCommandActivity は、途中で生成された Amazon S3 CSV ファイルをクリーンアップします。


このページは役に立ちましたか? はい | いいえ

AWS サポートナリッジセンターに戻る

サポートが必要ですか?AWS サポートセンターをご覧ください。

公開日: 2018 年 1 月 9 日