

# Amazon RDS for Db2 の Linux から Linux への移行
<a name="db2-one-time-migration-linux"></a>

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

RDS for Db2 のバックアップと復元は、IBM Db2 によってサポートされているアップグレードパスと制限に従います。詳細については、 IBM Db2 ドキュメントの「[Db2 サーバーについてサポートされているアップグレードパス](https://www.ibm.com/docs/en/db2/11.5?topic=servers-supported-upgrade-paths-db2)」と「[Db2 サーバーのアップグレード制限](https://www.ibm.com/docs/en/db2/11.5?topic=servers-upgrade-restrictions)」を参照してください。

**Topics**
+ [ネイティブ復元の使用に関する制限と推奨事項](#db2-linux-migration-limitations)
+ [データベースを Amazon S3 にバックアップする](#db2-linux-backing-up-database)
+ [デフォルトの自動ストレージグループを作成する](#db2-linux-creating-auto-storage-group)
+ [Db2 データベースの復元](#db2-linux-restoring-db2-database)

## ネイティブ復元の使用に関する制限と推奨事項
<a name="db2-linux-migration-limitations"></a>

ネイティブ復元を使用する場合は、次の制限と推奨事項が適用されます。
+ Amazon RDS は、サポートされている RDS for Db2 バージョンと一致するオンプレミスバージョンの Db2 の移行のみをサポートします。サポートされているバージョンの詳細については、「[Amazon RDS Db2 インスタンスのアップグレード管理](Db2.Concepts.VersionMgmt.Supported.md)」を参照してください。
+ Amazon RDS では、ネイティブ復元にオフラインおよびオンラインのバックアップのみがサポートされています。Amazon RDS は、増分バックアップまたは Delta バックアップをサポートしていません。
+ RDS for Db2 DB インスタンスがあるリージョンとは異なる AWS リージョンのAmazon S3 バケットから復元することはできません。
+ Amazon S3 では、Amazon S3 バケットにアップロードするファイルのサイズが 5 TB に制限されます。データベースバックアップファイルが 5 TB を超える場合は、バックアップファイルを小さいファイルに分割します。
+ Amazon RDS は、非 fenced 外部ルーチン、増分復元、または Delta 復元をサポートしていません。
+ 暗号化したソースデータベースから復元することはできませんが、暗号化された Amazon RDS DB インスタンスには復元できます。

復元プロセスは、設定によって異なります。

`USE_STREAMING_RESTORE` を `TRUE` に設定すると、Amazon RDS は復元中に S3 バケットから直接バックアップをストリーミングします。ストリーミングはストレージ要件を大幅に削減します。バックアップのサイズまたは元のデータベースのサイズのうち、いずれか大きい方のサイズ以上のストレージスペースをプロビジョニングするだけで済みます。

`USE_STREAMING_RESTORE` を `FALSE` に設定すると、Amazon RDS はまず RDS for Db2 DB インスタンスにバックアップをダウンロードし、次にバックアップを抽出します。抽出には追加のストレージスペースが必要です。バックアップのサイズと元のデータベースのサイズの合計以上のストレージスペースをプロビジョニングする必要があります。

復元されたデータベースの最大サイズは、サポートされているデータベースの最大サイズから、復元プロセス中の一時ストレージに必要なスペースを引いた値に等しくなります。

## データベースを Amazon S3 にバックアップする
<a name="db2-linux-backing-up-database"></a>

Amazon S3 でデータベースをバックアップするには、次の AWS コンポーネントが必要です。
+ **バックアップファイルを保存する Amazon S3 バケット: Amazon RDS に移行するバックアップファイルをアップロードします。ダウンタイムに対処できる移行には、オフラインバックアップを使用することをお勧めします。S3 バケットが既にある場合はそのバケットを使用できます。S3 バケットがない場合は、「*Amazon S3 ユーザーガイド*」の「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」を参照してください。
**注記**  
データベースが大きく、S3 バケットへの転送に時間がかかる場合は、 AWS Snow Family デバイスを注文して、AWS にバックアップの実行を依頼できます。ファイルをデバイスにコピーして Snow ファミリーチームに返すと、チームはバックアップしたイメージを S3 バケットに転送します。詳細については、「[AWS Snow Family ドキュメント](https://docs.aws.amazon.com/snowball/)」を参照してください。
+ **S3 バケットにアクセスするための IAM ロール: IAM ロールが既にある場合は、そのロールを使用できます。ロールがない場合は、「[ステップ 2: IAM ロールを作成して IAM ポリシーをアタッチする](db2-s3-integration.md#db2-creating-iam-role)」を参照してください。
+ **IAM ロールにアタッチされた信頼関係とアクセス許可を持つ IAM ポリシー: 詳細については、「[ステップ 1: IAM ポリシーを作成する](db2-s3-integration.md#db2-creating-iam-policy)」を参照してください。
+ **RDS for Db2 DB インスタンスに追加された IAM ロール: 詳細については、「[ステップ 3: RDS for Db2 DB インスタンスに IAM ロールを追加する](db2-s3-integration.md#db2-adding-iam-role)」を参照してください。

## デフォルトの自動ストレージグループを作成する
<a name="db2-linux-creating-auto-storage-group"></a>

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

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

1. ソースデータベースに接続します。次の例では、*source\$1database* をデータベースの名前に置き換えます。

   ```
   db2 connect to source_database 
   ```

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

   ```
   db2 "create stogroup IBMSTOGROUP ON storage_path set as default"
   ```

1. バックエンドプロセスを終了します。

   ```
   db2 terminate
   ```

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

   ```
   db2 deactivate db source_database
   ```

1. データベースをバックアップします。次の例では、*source\$1database* を、ストレージグループを作成したデータベースの名前に置き換えます。*file\$1system\$1path* を、データベースをバックアップする絶対パスに置き換えます。

   ```
   db2 backup database source_database to file_system_path 
   ```

## Db2 データベースの復元
<a name="db2-linux-restoring-db2-database"></a>

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

**Db2 データベースを Amazon S3 バケットから RDS for Db2 DB インスタンスに復元するには**

1. RDS for Db2 DB インスタンスに接続します。詳細については、「[Db2 DB インスタンスへの接続](USER_ConnectToDb2DBInstance.md)」を参照してください。

1. (オプション) データベースが最適な設定で構成されていることを確認するには、[rdsadmin.show\$1configuration](db2-sp-managing-databases.md#db2-sp-show-configuration) を呼び出して次のパラメータの値を確認します。
   + `RESTORE_DATABASE_NUM_BUFFERS`
   + `RESTORE_DATABASE_PARALLELISM`
   + `RESTORE_DATABASE_NUM_MULTI_PATHS`
   + `USE_STREAMING_RESTORE`

   必要に応じて、[rdsadmin.set\$1configuration](db2-sp-managing-databases.md#db2-sp-set-configuration) を使用してこれらの値を変更します。これらのパラメータを適切に設定することで、大量のデータを含むデータベースを復元する際のパフォーマンスが大幅に向上します。ほとんどの移行シナリオでは、ストレージ要件が軽減され、復元速度が向上するため、`USE_STREAMING_RESTORE` を `TRUE` に設定することをお勧めします。

1. `rdsadmin.restore_database` を呼び出してデータベースを復元します。詳細については、「[rdsadmin.restore\$1database](db2-sp-managing-databases.md#db2-sp-restore-database)」を参照してください。