View a markdown version of this page

Amazon DocumentDB Serverless への移行 - Amazon DocumentDB

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon DocumentDB Serverless への移行

既存の DocumentDB クラスターをサーバーレスに移行する

クラスターのエンジンバージョンのアップグレード

プロビジョニングされたクラスターが、DocumentDB サーバーレスをサポートしていないより低いエンジンバージョンを実行している場合は、まずクラスターをサポートされているエンジンバージョンにアップグレードする必要があります。詳細については、「Amazon DocumentDB のインプレースメジャーバージョンアップグレード」を参照してください。

プロビジョニングされたクラスターを DocumentDB サーバーレスに移行する

プロビジョニングされたクラスターを DocumentDB サーバーレスを使用できるように切り替えるには、以下の手順に従います。

  1. DocumentDB サーバーレスで使用するには、プロビジョニングされたクラスターのエンジンバージョンをアップグレードする必要があるかどうかを確認します。「DocumentDB サーバーレスの要件と制限」を参照してください。

    注記

    プロビジョニングされたクラスターが DocumentDB サーバーレスで使用できないエンジンバージョンを実行している場合、クラスターのエンジンバージョンをアップグレードします。「Amazon DocumentDB のインプレースメジャーバージョンアップグレード」を参照してください。

  2. クラスターのスケーリング設定を設定します。スケーリング設定の選択の詳細については、「DocumentDB サーバーレスクラスターのスケーリング容量範囲の選択」を参照してください。クラスターのスケーリング設定を変更するには、「クラスターのスケーリング容量範囲設定の表示と変更」を参照してください。

  3. DocumentDB サーバーレスの要件と制限 からの DocumentDB サーバーレスの要件と制限を考慮して、他のクラスタープロパティを設定します。

  4. クラスターに 1 つ以上の DocumentDB サーバーレスインスタンスを追加します。「Amazon DocumentDB Serverless インスタンスの追加」の手順に従います。

    注記

    場合によっては、クラスター内に 1 つ以上のプロビジョニングされたリーダーインスタンスが既に存在することがあります。その場合、新しいインスタンスを作成する代わりに、リーダーの 1 つを DocumentDB サーバーレスインスタンスに変換できます。これを行うには、「インスタンスクラスの変更」の手順に従います。

  5. (オプション) フェイルオーバーオペレーションを実行して、DocumentDB サーバーレスインスタンスをクラスターライターにします。「Amazon DocumentDB フェイルオーバー」を参照してください。

  6. (オプション) 残りのプロビジョニングされた Amazon DocumentDB インスタンスを DocumentDB サーバーレスインスタンスに変換するか (「インスタンスクラスの変更」を参照)、クラスターから削除します (「Amazon DocumentDB インスタンスの削除」を参照)。

Using the AWS Management Console

次の AWS Management Console 設定例は、Amazon DocumentDB 5.0.0 を実行している Amazon DocumentDB プロビジョニング済みクラスターを使用した移行プロセスを示しています。このクラスターでは、DocumentDB サーバーレスの使用を開始するためにエンジンバージョンのアップグレードは必要ありません。クラスターは sample という名前で、samplesample2、および sample3 という名前の 3 つのプロビジョニングされたインスタンスで始まります。この例では、これら 3 つのインスタンスは 3 つのサーバーレスインスタンスに置き換えられます。

  1. AWS Management Console にサインインし、Amazon DocumentDB コンソールを開きます。

  2. ナビゲーションペインで クラスター を選択します。

    ヒント

    画面の左側にナビゲーションペインが表示されない場合は、ページの左上隅にあるメニューアイコン (Menu button.) を選択します。

    [クラスター] テーブルが表示されます。

  3. [クラスター] テーブルで、サーバーレスインスタンスを追加するクラスターのチェックボックスを選択します。

  4. [アクション] を選択し、[インスタンスの追加] を選択します。

  5. [インスタンスの追加] ダイアログボックスで、作成する新しいサーバーレスインスタンスごとに [DB インスタンスクラス] セクションで [サーバーレス] を選択します。

  6. [サーバーレス容量設定] では、ダイアログボックスの容量の説明に基づいてスケーリング設定を設定します。

  7. (オプション) 別のインスタンスを追加するには、[インスタンスの追加] を選択します。必要な新しいインスタンス数に達するまで、インスタンスの追加を続行します。

    この例では、3 つの新しいサーバーレスインスタンスが作成されます。

  8. [作成] を選択します。

    インスタンスが作成されるまでに数分かかります。コンソールまたは を使用して AWS CLI 、インスタンスのステータスを表示できます。詳細については、「Amazon DocumentDB クラスターのステータスのモニタリング」を参照してください。

  9. [クラスター] テーブルに戻り、元のプロビジョニング済みインスタンスの 3 つすべてのチェックボックスを選択します。

  10. [アクション][削除] の順に選択します。

削除中、フェイルオーバーが自動的に実行され、残りのインスタンスの 1 つがライターに昇格されます。数分後、削除プロセスが完了します。既存のクラスターに 3 つの DocumentDB サーバーレスインスタンスが含まれるようになりました ([サイズ] 列で定義)。

Using the AWS CLI

次の AWS CLI 設定例は、Amazon DocumentDB 5.0.0 を実行している Amazon DocumentDB プロビジョニング済みクラスターを使用した移行プロセスを示しています。このクラスターでは、DocumentDB サーバーレスの使用を開始するためにエンジンバージョンのアップグレードは必要ありません。クラスターは sample という名前で、samplesample2、および sample3 という名前の 3 つのプロビジョニングされたインスタンスで始まります。この例では、これら 3 つのインスタンスは 3 つのサーバーレスインスタンスに置き換えられます。このクラスターは sample-cluster という名前で、sample-provisioned-instance-1 および sample-provisioned-instance-2 という名前の 2 つのプロビジョニング済みインスタンス、ライターインスタンスとリーダーインスタンスから始まります。

次の例では、各 ユーザー入力プレースホルダー を独自の情報または設定パラメータに置き換えます。

aws docdb describe-db-clusters オペレーションを使用して、クラスターのステータスを確認します。次のコードは、クラスター sample-cluster のステータスを検索し、結果をテーブルに出力します。

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers' \ --output table
-------------------------------------------------------------------------------------------------------- | DescribeDBClusters | +--------------------------------+---------------------------------+------------------+----------------+ | DBClusterParameterGroupStatus | DBInstanceIdentifier | IsClusterWriter | PromotionTier | +--------------------------------+---------------------------------+------------------+----------------+ | in-sync | sample-provisioned-instance-2 | False | 1 | | in-sync | sample-provisioned-instance-1 | True | 1 | +--------------------------------+---------------------------------+------------------+----------------+

クラスターのスケーリング設定を追加します。

aws docdb modify-db-cluster \ --db-cluster-identifier sample-cluster \ --serverless-v2-scaling-configuration MinCapacity=0.5,MaxCapacity=16

サーバーレスインスタンスを追加します。この例では、sample-serverless-instance-1 および sample-serverless-instance-2 という名前の新しいサーバーレスインスタンスが追加されています。

aws docdb create-db-instance \ --db-cluster-identifier sample-cluster \ --db-instance-identifier sample-serverless-instance-1 \ --db-instance-class db.serverless \ --engine docdb aws docdb create-db-instance \ --db-cluster-identifier sample-cluster \ --db-instance-identifier sample-serverless-instance-2 \ --db-instance-class db.serverless \ --engine docdb

次を入力して、サーバーレスインスタンスが使用可能になるまで待機してから次に進みます。

aws docdb wait db-instance-available \ --db-instance-identifier sample-serverless-instance-1 aws docdb wait db-instance-available \ --db-instance-identifier sample-serverless-instance-2

フェイルオーバーを実行して、新しい sample-serverless-instance-1 インスタンスをクラスターのライターにします。

aws docdb failover-db-cluster \ --db-cluster-identifier sample-cluster \ --target-db-instance-identifier sample-serverless-instance-1

フェイルオーバーが完了するまでに数秒かかり、その後 sample-serverless-instance-1 がクラスターのライターになります。これを次の入力で検証します。

aws docdb describe-db-clusters \ --db-cluster-identifier sample-cluster \ --query 'DBClusters[*].DBClusterMembers' \ --output table
-------------------------------------------------------------------------------------------------------- | DescribeDBClusters | +--------------------------------+---------------------------------+------------------+----------------+ | DBClusterParameterGroupStatus | DBInstanceIdentifier | IsClusterWriter | PromotionTier | +--------------------------------+---------------------------------+------------------+----------------+ | in-sync | sample-provisioned-instance-2 | False | 1 | | in-sync | sample-provisioned-instance-1 | False | 1 | | in-sync | sample-serverless-instance-2 | False | 1 | | in-sync | sample-serverless-instance-1 | True | 1 | +--------------------------------+---------------------------------+------------------+----------------+

最後に、元のプロビジョニングされたインスタンスを削除します。

aws docdb delete-db-instance \ --db-instance-identifier sample-provisioned-instance-1 aws docdb delete-db-instance \ --db-instance-identifier sample-provisioned-instance-2

MongoDB から DocumentDB サーバーレスへの移行

プロビジョニングされた Amazon DocumentDB と同様に、MongoDB データベースを DocumentDB サーバーレスに移行できます。詳細については、「Amazon DocumentDB への移行」を参照してください。