Amazon RDS for Db2 のダウンタイムがほぼゼロの Linux から Linux への移行
この移行アプローチでは、 Linux ベース Db2 データベースを単一のセルフマネージド Db2 データベース (ソース) から Amazon RDS for Db2 に移行します。このアプローチにより、アプリケーションまたはユーザーの停止またはダウンタイムが最小限に抑えられるか、まったく発生しません。このアプローチでは、データベースをバックアップし、ログの再生で復元します。これにより、進行中のオペレーションの中断を防ぎ、データベースの高可用性を実現できます。
RDS for Db2 は、ほぼゼロのダウンタイムでの移行を達成できるように、ログの再生による復元を実装しています。このアプローチでは、セルフマネージド Linux ベース Db2 データベースのバックアップを作成し、RDS for Db2 サーバーに復元します。Amazon RDS ストアドプロシージャでは、後続のトランザクションログを適用してデータベースを最新の状態にします。
ほぼゼロのダウンタイムでの移行の制限と推奨事項
ほぼゼロのダウンタイムでの移行の使用には、次の制限と推奨事項が適用されます。
-
Amazon RDS では、移行のダウンタイムをほぼゼロにするために、オンラインバックアップが必要です。これは、アーカイブされたトランザクションログをアップロードすると、Amazon RDS によってデータベースがロールフォワード保留状態のままになるためです。詳細については、「Db2 データベースの移行」を参照してください。
-
RDS for Db2 DB インスタンスがあるリージョンとは異なる AWS リージョンのAmazon S3 バケットから復元することはできません。
-
RDS for Db2 DB インスタンスにすでにデータベースが含まれている場合、データベースを復元することはできません。
-
Amazon S3 では、S3 バケットにアップロードするファイルのサイズが 5 TB に制限されます。データベースバックアップファイルが 5 TB を超える場合は、バックアップファイルを小さいファイルに分割します。
-
Amazon RDS は、非 fenced 外部ルーチン、増分復元、または Delta 復元をサポートしていません。
-
暗号化したソースデータベースから復元することはできませんが、暗号化された Amazon RDS DB インスタンスには復元できます。
データベースを復元すると、Amazon RDS によってバックアップがコピーされ、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 に移行するバックアップファイルをアップロードします。Amazon RDS では、移行のダウンタイムをほぼゼロにするために、オンラインバックアップが必要です。S3 バケットが既にある場合はそのバケットを使用できます。S3 バケットがない場合は、「Amazon S3 ユーザーガイド」の「バケットの作成」を参照してください。
注記
データベースが大きく、S3 バケットへの転送に時間がかかる場合は、 AWS Snow Family デバイスを注文して、AWS にバックアップの実行を依頼できます。ファイルをデバイスにコピーして Snow ファミリーチームに返すと、チームはバックアップしたイメージを S3 バケットに転送します。詳細については、「AWS Snow Family ドキュメント」を参照してください。
-
S3 バケットにアクセスするための IAM ロール: AWS Identity and Access Management (IAM) ロールが既にある場合は、そのロールを使用できます。ロールがない場合は、「ステップ 2: IAM ロールを作成して IAM ポリシーをアタッチする」を参照してください。
-
IAM ロールにアタッチされた信頼関係とアクセス許可を持つ IAM ポリシー: 詳細については、「ステップ 1: IAM ポリシーを作成する」を参照してください。
-
RDS for Db2 DB インスタンスに追加された IAM ロール: 詳細については、「ステップ 3: RDS for Db2 DB インスタンスに IAM ロールを追加する」を参照してください。
デフォルトの自動ストレージグループを作成する
ソースデータベースにはデフォルトの自動ストレージグループが必要です。データベースにデフォルトの自動ストレージグループがない場合は、作成する必要があります。
デフォルトの自動ストレージグループを作成するには
-
ソースデータベースに接続します。次の例では、
source_database
をデータベースの名前に置き換えます。db2 connect to
source_database
-
自動ストレージグループを作成し、デフォルトとして設定します。次の例では、
storage_path
をストレージグループが配置されている場所への絶対パスに置き換えます。db2 "create stogroup IBMSTOGROUP ON
storage_path
set as default" -
バックエンドプロセスを終了します。
db2 terminate
Db2 データベースの移行
Amazon S3 でデータベースをバックアップし、自動ストレージグループを作成したら、Db2 データベースを RDS for Db2 DB インスタンスに移行できます。
ほぼゼロのダウンタイムでの移行を実行するには
-
ソースデータベースのオンラインバックアップを実行します。詳細については、IBM Db2 ドキュメントの「BACKUP DATABASE command
」をご参照ください。 -
データベースのバックアップを Amazon S3 バケットにコピーします。Amazon S3 の使用の詳細については、「Amazon Simple Storage Service ユーザーガイド」を参照してください。
-
RDS for Db2 DB インスタンスの
master_username
とmaster_password
を使用してrdsadmin
サーバーに接続します。db2 connect to rdsadmin user
master_username
usingmaster_password
-
(オプション) データベースが復元オペレーションに最適な設定になっていることを確認するには、
RESTORE_DATABASE_PARALLELISM
を呼び出して rdsadmin.show_configuration とRESTORE_DATABASE_NUM_BUFFERS
の値をチェックできます。これらの値を必要に応じて変更するには、rdsadmin.set_configuration を呼び出します。これらの値を明示的に設定すると、大量のデータを含むデータベースを復元する際のパフォーマンスを向上させることができます。 -
rdsadmin.restore_database
を呼び出して、RDS for Db2 サーバーでバックアップを復元します。backup_type
をONLINE
に設定します。詳細については、「rdsadmin.restore_database」を参照してください。 -
ソースサーバーから S3 バケットにアーカイブログをコピーします。詳細については、IBM Db2 ドキュメントに記載の「Archive logging
」を参照してください。 -
rdsadmin.rollforward_database
を呼び出して、アーカイブログを必要な回数だけ適用します。データベースをROLL-FORWARD PENDING
状態に保つには、complete_rollforward
をFALSE
に設定します。詳細については、「rdsadmin.rollforward_database」を参照してください。 -
すべてのアーカイブログを適用したら、
rdsadmin.complete_rollforward
を呼び出してデータベースをオンラインにします。詳細については、「rdsadmin.complete_rollforward」を参照してください。 -
データベースのアプリケーションエンドポイントを更新するか、DNS エンドポイントを更新して RDS for Db2 サーバーにトラフィックをリダイレクトして、アプリケーション接続を RDS for Db2 サーバーに切り替えます。RDS for Db2 データベースエンドポイントを使用して、セルフマネージド Db2 データベースで Db2 自動クライアント再ルーティング機能を使用することもできます。詳細については、 IBM Db2 ドキュメントの「Automatic client reroute description and setup
」を参照してください。 -
(オプション) ソースデータベースをシャットダウンします。