Amazon RDS for Db2 の Linux から Linux への移行 - Amazon Relational Database Service

Amazon RDS for Db2 の Linux から Linux への移行

この移行アプローチでは、セルフマネージド Db2 データベースを Amazon S3 バケットにバックアップします。次に、Amazon RDS ストアドプロシージャを使用して、Db2 データベースを Amazon RDS for Db2 DB インスタンスに復元します。Amazon S3 の使用の詳細については、「Amazon RDS for Db2 DB インスタンスと Amazon S3 の統合」を参照してください。

RDS for Db2 のバックアップと復元は、IBM Db2 によってサポートされているアップグレードパスと制限に従います。詳細については、 IBM Db2 ドキュメントの「Db2 サーバーについてサポートされているアップグレードパス」と「Db2 サーバーのアップグレード制限」を参照してください。

ネイティブ復元の使用に関する制限と推奨事項

ネイティブ復元を使用する場合は、次の制限と推奨事項が適用されます。

  • Amazon RDS は、サポートされている RDS for Db2 バージョンと一致するオンプレミスバージョンの Db2 の移行のみをサポートします。サポートされているバージョンの詳細については、「Amazon RDS でサポートされている Db2 のマイナーバージョン」を参照してください。

  • Amazon RDS では、ネイティブ復元にオフラインおよびオンラインのバックアップのみがサポートされています。Amazon RDS は、増分バックアップまたは Delta バックアップをサポートしていません。

  • RDS for Db2 DB インスタンスがあるリージョンとは異なる AWS リージョンのAmazon S3 バケットから復元することはできません。

  • RDS for Db2 DB インスタンスにすでにデータベースが含まれている場合、データベースを復元することはできません。

  • Amazon S3 では、Amazon S3 バケットにアップロードするファイルのサイズが 5 TB に制限されます。データベースバックアップファイルが 5 TB を超える場合は、バックアップファイルを小さいファイルに分割します。

  • Amazon RDS は、非 fenced 外部ルーチン、増分復元、または Delta 復元をサポートしていません。

  • 暗号化したソースデータベースから復元することはできませんが、暗号化された Amazon RDS DB インスタンスには復元できます。

データベースを復元すると、バックアップがコピーされ、RDS for Db2 インスタンスで抽出されます。バックアップサイズとディスク上の元のデータベースサイズの合計以上のストレージ領域を RDS for Db2 インスタンス用にプロビジョニングすることをお勧めします。

復元されたデータベースの最大サイズは、サポートされているデータベース最大サイズからバックアップのサイズを引いたものです。例えば、サポートされている最大データベースサイズが 64 TiB で、バックアップのサイズが 30 TiB の場合、復元されたデータベースの最大サイズは 34 TiB です。

64 TiB - 30 TiB = 34 TiB

データベースを Amazon S3 にバックアップする

Amazon S3 でデータベースをバックアップするには、次の AWS コンポーネントが必要です。

  • バックアップファイルを保存する Amazon S3 バケット: Amazon RDS に移行するバックアップファイルをアップロードします。ダウンタイムに対処できる移行には、オフラインバックアップを使用することをお勧めします。S3 バケットが既にある場合はそのバケットを使用できます。S3 バケットがない場合は、「Amazon S3 ユーザーガイド」の「バケットの作成」を参照してください。

    注記

    データベースが大きく、S3 バケットへの転送に時間がかかる場合は、 AWS Snow Family デバイスを注文して、AWS にバックアップの実行を依頼できます。ファイルをデバイスにコピーして Snow ファミリーチームに返すと、チームはバックアップしたイメージを S3 バケットに転送します。詳細については、「AWS Snow Family ドキュメント」を参照してください。

  • S3 バケットにアクセスするための IAM ロール: IAM ロールが既にある場合は、そのロールを使用できます。ロールがない場合は、「ステップ 2: IAM ロールを作成して IAM ポリシーをアタッチする」を参照してください。

  • IAM ロールにアタッチされた信頼関係とアクセス許可を持つ IAM ポリシー: 詳細については、「ステップ 1: IAM ポリシーを作成する」を参照してください。

  • RDS for Db2 DB インスタンスに追加された IAM ロール: 詳細については、「ステップ 3: RDS for Db2 DB インスタンスに IAM ロールを追加する」を参照してください。

デフォルトの自動ストレージグループを作成する

ソースデータベースにはデフォルトの自動ストレージグループが必要です。データベースにデフォルトの自動ストレージグループがない場合は、作成する必要があります。

デフォルトの自動ストレージグループを作成するには
  1. ソースデータベースに接続します。次の例では、source_database をデータベースの名前に置き換えます。

    db2 connect to source_database
  2. 自動ストレージグループを作成し、デフォルトとして設定します。次の例では、storage_path をストレージグループが配置されている場所への絶対パスに置き換えます。

    db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
  3. バックエンドプロセスを終了します。

    db2 terminate
  4. データベースを非アクティブ化し、すべてのデータベースサービスを停止します。次の例では、source_database を、ストレージグループを作成したデータベースの名前に置き換えます。

    db2 deactivate db source_database
  5. データベースをバックアップします。次の例では、source_database を、ストレージグループを作成したデータベースの名前に置き換えます。file_system_path を、データベースをバックアップする絶対パスに置き換えます。

    db2 backup database source_database to file_system_path

Db2 データベースの復元

Amazon S3 でデータベースをバックアップし、自動ストレージグループを作成したら、Db2 データベースを RDS for Db2 DB インスタンスに復元できます。

Db2 データベースを RDS for Db2 DB インスタンスに復元するには
  1. RDS for Db2 DB インスタンスに接続します。詳細については、「Amazon RDS for Db2 DB インスタンスに接続する」を参照してください。

  2. (オプション) データベースが復元オペレーションに最適な設定になっていることを確認するには、rdsadmin.show_configuration を呼び出して RESTORE_DATABASE_PARALLELISMRESTORE_DATABASE_NUM_BUFFERS の値をチェックできます。これらの値を必要に応じて変更するには、rdsadmin.set_configuration を呼び出します。これらの値を明示的に設定すると、大量のデータを含むデータベースを復元する際のパフォーマンスを向上させることができます。

  3. rdsadmin.restore_database を呼び出してデータベースを復元します。詳細については、「rdsadmin.restore_database」を参照してください。