翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ログ配信を使用して Db2 for LUW を Amazon EC2 に移行することで、システム停止時間を短縮する
Amazon Web Services、Feng Cai、Ambarish Satarkar、Saurabh Sharma
概要
IBM Db2 for LUW (Linux、UNIX、Windows) のワークロードを Amazon Web Services (AWS) に移行する場合は、Amazon Elastic Compute Cloud (Amazon EC2) と Bring Your Own License (BYOL) モデルを使用すると最も迅速に行うことができます。しかし、膨大なデータをオンプレミスの Db2 から AWS に移行することは容易ではありません。特に、停止期間が限られている場合はなおさらです。多くのお客様は、停止時間を 30 分未満に設定しようとしています。これにより、データベース自体に費やす時間が少なくなります。
このパターンでは、トランザクションログ配信を使用して、停止時間を短くして Db2 の移行を実現する方法を扱っています。このアプローチは、リトルエンディアン Linux プラットフォームで実行される Db2 にも運用できます。
前提条件と制限事項
前提条件
アクティブな AWS アカウント
オンプレミスファイルシステムのレイアウトと一致する EC2 インスタンス上で実行される Db2 インスタンス
EC2 インスタンスにアクセス可能な Amazon Simple Storage Service (Amazon S3) バケット
Amazon S3 をプログラムで呼び出すための AWS Identity and Access Management (IAM) ポリシーとロール
Amazon EC2 とオンプレミスサーバーのタイムゾーンとシステムクロックの同期
AWS Site-to-Site VPN
または AWS Direct Connect を介して AWS に接続されたオンプレミスのネットワーク
制限事項
Db2 オンプレミスインスタンスと Amazon EC2 は同じプラットフォームファミリー
に配置する必要があります。 Db2 のオンプレミスワークロードをログ記録する必要があります。ログに記録されていないトランザクションをブロックするには、データベース設定で
blocknonlogged=yesを設定します。
製品バージョン
Db2 for LUW バージョン 11.5.9 以降
アーキテクチャ
ソーステクノロジースタック
Db2 on Linux x86_64
ターゲットテクノロジースタック
Amazon EBS
Amazon EC2
AWS Identity and Access Management (IAM)
Amazon S3
AWS Site-to-Site VPN または Direct Connect
ターゲットアーキテクチャ
次の図は、Db2 on Amazon EC2 への仮想プライベートネットワーク (VPN) 接続を介してオンプレミスで実行されている Db2 インスタンスの例を示しています。点線は、データセンターと AWS クラウド間の VPN トンネルを表しています。

ツール
AWS サービス
「AWS コマンドラインインターフェイス (AWS CLI)」は、オープンソースのツールであり、コマンドラインシェルのコマンドを使用して AWS サービスとやり取りすることができます。
AWS Direct Connect は、標準のイーサネット光ファイバーケーブルを介して内部ネットワークを Direct Connect の場所にリンクします。この接続を使用すると、Amazon S3 などのパブリックサービス、または Amazon VPC に対する仮想インターフェイスを直接作成できるため、ネットワークパスのインターネットサービスプロバイダーを回避できます。
Amazon Elastic Block Store (Amazon EBS) は、 Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで使用するブロックレベルストレージのボリュームを提供します。
「Amazon Elastic Compute Cloud (Amazon EC2)」は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。仮想サーバーを必要な数だけ起動して、迅速にスケールアップまたはスケールダウンができます。
「AWS Identity and Access Management (IAM)」は、AWS リソースへのアクセスを安全に管理し、誰が認証され、使用する権限があるかを制御するのに役立ちます。
Amazon Simple Storage Service (Amazon S3) は、あらゆる量のデータを保存、保護、取得できるクラウドベースのオブジェクトストレージサービスです。
AWS Site-to-Site VPN は、AWS で起動するインスタンスと独自のリモートネットワーク間でトラフィックを渡すのに役立ちます。
その他のツール
db2cli
は、 Db2 のインタラクティブ CLI コマンドです。
ベストプラクティス
ターゲットデータベースで、Amazon S3 のゲートウェイエンドポイントを使用して、Amazon S3 のデータベースバックアップイメージとログファイルにアクセスします。
ソースデータベースで、AWS PrivateLink for Amazon S3 を使用して、データベースのバックアップイメージとログファイルを Amazon S3 に送信します。
エピック
| タスク | 説明 | 必要なスキル |
|---|---|---|
環境変数を設定する。 | このパターンは、次の名前を使用しています。
環境に合わせて変更することができます。 | DBA |
| タスク | 説明 | 必要なスキル |
|---|---|---|
AWS CLI をセットアップします。 | 最新バージョンの AWS CLI をダウンロードしてインストールするには、次のコマンドを実行します。
| Linux 管理者 |
Db2 アーカイブログのローカル送信先を設定します。 | Amazon EC2 上のターゲットデータベースをオンプレミスのソースデータベースと同期させるには、ソースデータベースから最新のトランザクションログを取得する必要があります。 このセットアップでは、
| DBA |
オンラインデータベースのバックアップを実行します。 | オンラインデータベースのバックアップを実行し、ローカルのバックアップファイルシステムに保存します。
| DBA |
| タスク | 説明 | 必要なスキル |
|---|---|---|
S3 バケットを作成する。 | オンプレミスサーバー用の S3 バケットを作成して、バックアップ Db2 イメージとログファイルを AWS に送信します。 Amazon EC2 もこのバケットにアクセスします。
| AWS システム管理者 |
IAM ポリシーを作成します。 | この
次の AWS CLI コマンドを使用して、ポリシーを作成します。
JSON 出力には、ポリシーの Amazon リソースネーム (ARN) が表示されます。ここで、
| AWS 管理者、AWS システム管理者 |
EC2 インスタンスが使用する IAM ロールに IAM ポリシーをアタッチします。 | ほとんどの AWS 環境では、システム管理者によって、実行中の EC2 インスタンスに IAM ロールが設定されています。IAM ロールが設定されていない場合は、ロールを作成し、EC2 コンソールで [IAM ロールの変更] を選択して、Db2 データベースをホストする EC2 インスタンスにロールを関連付けてください。ポリシー ARN を使用して、IAM ポリシーを IAM ロールにアタッチします。
ポリシーがアタッチされると、IAM ロールに関連付けられた EC2 インスタンスは S3 バケットにアクセスできるようになります。 | AWS 管理者、AWS システム管理者 |
| タスク | 説明 | 必要なスキル |
|---|---|---|
オンプレミスの Db2 サーバーで AWS CLI を設定します。 | 前の手順で生成した
| AWS 管理者、AWS システム管理者 |
Amazon S3 にバックアップイメージを送信します。 | 以前は、オンラインデータベースのバックアップが
| AWS 管理者、移行エンジニア |
Amazon S3 に Db2 アーカイブログを送信します。 | オンプレミスの Db2 アーカイブログを、Amazon EC2 上のターゲット Db2 インスタンスがアクセスできる S3 バケットと同期します。
cron または他のスケジューリングツールを使用して、このコマンドを定期的に実行します。この頻度は、ソースデータベースがトランザクションログファイルをアーカイブする頻度に応じて異なります。 | AWS 管理者、移行エンジニア |
| タスク | 説明 | 必要なスキル |
|---|---|---|
PKCS12 キーストアを作成します。 | Db2 は、公開鍵暗号規格 (PKCS) 暗号化キーストアを使用して AWS アクセスキーをセキュアに保護します。キーストアを作成し、ソース Db2 インスタンスがそれを使用するように設定します。
| DBA |
Db2 ストレージアクセスエイリアスを作成します。 | ストレージアクセスエイリアス
例えば、スクリプトは次のようになります。
| DBA |
ステージング領域を設定します。 | デフォルトでは、Db2 は Amazon S3 でファイルをアップロードおよびダウンロードするためのステージング領域として また、
| DBA |
バックアップイメージからデータベースを復元します。 | S3 バケットのバックアップイメージから Amazon EC2 上のターゲットデータベースを復元します。
| DBA |
データベースをロールフォワードします。 | 復元が完了すると、ターゲットデータベースはロールフォワード保留状態になります。Db2 がトランザクションログファイルを取得する場所を認識できるように、
データベースのロールフォワードを開始します。
このコマンドは S3 バケットに転送されたすべてのログファイルを処理します。 | DBA |
| タスク | 説明 | 必要なスキル |
|---|---|---|
ターゲットデータベースをオンラインにします。 | カットオーバー期間中、以下のいずれかの操作を行います。
最後のトランザクションログを Amazon S3 と同期したら、最後に
ターゲットデータベースをオンラインにし、アプリケーション接続を Db2 on Amazon EC2 にポイントします。 | DBA |
トラブルシューティング
| 問題 | ソリューション |
|---|---|
複数のデータベースが異なるホスト (DEV、QA、PROD) で同じインスタンス名とデータベース名を持つ場合、バックアップとログは同じサブディレクトリに移動することがあります。 | DEV、QA、PROD には異なる S3 バケットを使用し、混乱を避けるためにホスト名をサブディレクトリのプレフィックスとして追加してください。 |
同じ場所に複数のバックアップイメージがある場合、復元時に次のエラーが表示されます。
|
|