プロビジョニングされた Amazon Aurora DB インスタンスと Aurora サーバーレス DB インスタンスの間で移行したいと考えています。
簡単な説明
プロビジョニングされたインスタンスからサーバーレス型インスタンスに移行する、またはサーバーレス型インスタンスからプロビジョニングされたインスタンスに移行するには、次のいずれかの方法を使用します。
- スナップショットの復元
- 論理バックアップと復元
- 最新のサーバーレスリーダー (Amazon Aurora PostgreSQL 互換エディションバージョン 13.6 以降)
解決方法
スナップショットの復元
1. Amazon リレーショナルデータベースサービス (Amazon RDS) コンソールを開き、ナビゲーションペインから [データベース] を選択します。
2. プロビジョニングまたはサーバーレスに移行する Aurora クラスターを選択し、[アクション] を選択します。
3. [スナップショットの作成] を選択します。詳細については、「DB クラスタースナップショットの作成」を参照してください。
4. Amazon RDS コンソールの [スナップショット] セクションを開きます。
5. [アクション] を選択し、[スナップショットの復元] を選択します。詳細については、「DB クラスタースナップショットでの復元」を参照してください。
6. 実行したい内容に基づいて、[プロビジョニング済み] または [サーバーレス] を選択します。
**注:**Aurora Serverless は、特定のエンジンバージョンでのみ使用できます。詳細については、「Aurora Serverless v1」および「Aurora Serverless v2」を参照してください。
7. Aurora Serverless v1 の場合: [DB インスタンスの設定] で、[容量タイプ] で [Serverless] を選択します。Serverless v2 の場合: [DB インスタンスクラス] 内にある [インスタンス設定] セクションで、[Serverless] を選択します。
8. [DB クラスター識別子] に、復元されたクラスター名を入力します。
9. その他の設定があれば指定します。詳細については、「Aurora DB クラスターの設定」を参照してください。
10. [DB クラスターの復元] を選択します。
論理バックアップと復元
新規の DB クラスターを作成する
1. Amazon RDS コンソールを開き、ナビゲーションペインから [データベース] を選択します。
2. [データベースの作成] を選択します。
**注:**Aurora は、すべての AWS リージョンで利用できるわけではありません。Aurora を使用できるリージョンのリストについては、「リージョンアベイラビリティ」を参照してください。
3. [エンジンオプション] で [Amazon Aurora] を選択します。
4. [エディション] で、次のいずれかを選択します。
Amazon Aurora と MySQL との互換性
-または-
Amazon Aurora と PostgreSQL との互換性
5. [エンジンバージョン]を選択します。
**注:**Aurora Serverless は、特定のエンジンバージョンでのみ使用できます。詳細については、「Aurora Serverless v1」および「Aurora Serverless v2」を参照してください。
6. その他の設定があれば指定します。詳細については、「DB クラスターの作成」を参照してください。
7. [データベースの作成] を選択します。
論理的なバックアップと復元の作成
1. ソース DB クラスターに接続します。PostgreSQL を使用している場合は、(PostgreSQL ウェブサイトで) pg_dump を実行します。MySQL を使用している場合は、mysqldump を実行します (MySQL ウェブサイト内で)。
2. 新規の DB クラスターに接続します。PostgreSQL を使用している場合は、(PostgreSQL ウェブサイトで) pg_restore を使用してダンプを復元します。MySQL を使用している場合は、mysql コマンドを使用してダンプを復元します (平易な英語で書かれた AWS ウェブサイトで)。
クラスター内で新規のいサーバーレスリーダーを作成する (Aurora Postgresql バージョン 13.6 以降)
以下の手順は、Aurora PostgreSQL 互換バージョン 13.6 以降および Aurora MySQL 互換バージョン 8.0.mysql_aurora.3.02.2 以降に適用されます。
**重要:**マイナーバージョンのうち、Aurora MySQL と Aurora PostgreSQL へのサーバーレスリーダーインスタンスの作成と追加をサポートしているのは Aurora Serverless バージョン 2 のみです。API を使用してインスタンスを追加する前に、serverless-v2-scaling-configuration をサポートするようにDB クラスターを変更します。
1. Amazon RDS コンソールを開きます。
2. サーバーレスリーダーを追加します。インスタンス構成として [サーバーレス] を選択するようにしてください。
**注:**レプリカの追加の詳細については、「DB クラスターへの Aurora レプリカの追加」を参照してください。
3. サーバーレスインスタンスがリーダーとして使用可能な場合は、フェイルオーバーを強制します。これにより、リーダーインスタンスからライターインスタンスに格上げされます。
データ損失を回避する方法
2 つのクラスターのデータ損失を回避するには、新規作成または復元されたクラスターがワークフローを実行したとき、ソースクラスター内のすべての書き込みアクティビティを停止してください。すべての書き込みアクティビティを停止してからスナップショット、mysqldump、pg_dump を作成します。
新規の Aurora クラスターが使用可能になってからクラスターにアプリケーションまたは書き込みオペレーションを指示することにより、書き込みオペレーションが失われないようにします。
たとえば、example-cluster という名前のクラスターがあるとします。古いクラスターの名前を example-cluster-old に変更します。次に、新規のクラスターの名前を example-cluster に変更します。これにより、アプリケーションは同じクラスターのエンドポイントを持つ新規のクラスターに接続することができます。たとえば、ライターでは、 example-cluster.cluster-...rds.amazonaws.com であり、リーダーエンドポイントの場合は、example-cluster.cluster-ro-...rds.amazonaws.com となります。