バックアップ ファイルを Cloud Storage バケットに保存する

Database Migration Service は、Cloud Storage バケットにアップロードした SQL Server のバックアップ ファイルとトランザクション ログファイルからデータを複製します。このページでは、移行手順のためにバケットを準備する方法と、セルフマネージド ソースまたは Amazon RDS ソースから移行するために Database Migration Service がバックアップ ファイルを認識するために必要なフォルダ構造について説明します。

移行用のストレージ バケットを準備する手順は次のとおりです。

  1. バケットを作成します。移行先の Cloud SQL for SQL Server インスタンスを作成するリージョンと同じリージョンを使用してください。

    Database Migration Service は完全にリージョン単位のプロダクトです。つまり、移行に関連するすべてのエンティティ(移行元と移行先の接続プロファイル、移行ジョブ、移行先データベース、バックアップ ファイルのストレージ バケット)を 1 つのリージョンに保存する必要があります。

  2. バックアップ ファイルを格納する フォルダ構造を作成します。

    • Database Migration Service では、バケットのルートレベルにある各フォルダが、移行する 1 つのデータベースを表すフォルダ構造を想定しています。

    • データベース フォルダには、フル バックアップ ファイル用の full フォルダ、増分読み込み段階のために後でアップロードするトランザクション ログ バックアップ ファイルのための log フォルダの 2 つのフォルダが必要です。

    • データベース フォルダには、必要に応じて、差分バックアップ ファイル用の diff フォルダを含めることもできます。

    • ストライプ化されたフル バックアップ ファイルまたは差分バックアップ ファイルを使用する場合は、それぞれの full フォルダまたは diff フォルダに、名前が Unix タイムスタンプ(秒単位)である追加のフォルダが含まれている必要があります。

    たとえば、単一のフル バックアップ ファイルを使用する場合は、full フォルダに直接配置します。差分バックアップ ファイルにも同じルールが適用されます。

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- full_backup_file
    |  |- diff/
    |  |  |- diff_backup_file
    |  |- log/
    |  |  |- transaction_log_file
    |- my-other-database/
    |  |- full/
    |  |  |- full_backup_file
    |  |- diff/
    |  |  |- diff_backup_file
    |  |- log/
    |  |  |- transaction_log_file
    

    ストライプ フル バックアップ ファイルを使用する場合は、full フォルダ内の追加のフォルダを使用します。同じルールが差分バックアップ ファイルにも適用されます。

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- 1712649600/
    |  |  |  |- my_full_backup_file_stripe1
    |  |  |  |- my_full_backup_file_stripe2
    |  |- diff/
    |  |  |- 1706967833/
    |  |  |  |- firstDiffStripe.bak
    |  |  |  |- other_diff_stripe.diff
    |  |- log/
    |  |  |- transaction_log_file
    |- my-other-database/
    |  |- full/
    |  |  |- 1715250742/
    |  |  |  |- my_full_backup_file_stripe1
    |  |  |  |- my_full_backup_file_stripe2
    |  |- diff/
    |  |  |- 1706967833/
    |  |  |  |- firstDiffStripe.bak
    |  |  |  |- other_diff_stripe.diff
    |  |- log/
    |  |  |- transaction_log_file
    

    これらの例では、Database Migration Service は移行先の Cloud SQL インスタンスに my-business-database と my-other-database の 2 つのデータベースを作成します。各データベースには、個別の full、diff、log フォルダから取得されたデータが入力されます。

    フル バックアップ ファイルと差分バックアップ ファイルに、単一ファイルまたはストライプ ファイルの規則を混在させることができます。差分バックアップ ファイルは省略可能です。diff フォルダを空のままにすることもできます。

    Cloud Storage bucket root/
    |- my-business-database/
    |  |- full/
    |  |  |- full_backup_file
    |  |- diff/
    |  |  |- 1706967833/
    |  |  |  |- firstDiffStripe.bak
    |  |  |  |- other_diff_stripe.diff
    |  |- log/
    |  |  |- transaction_log_file
    |- my-other-database/
    |  |- full/
    |  |  |- 1712649600/
    |  |  |  |- my_full_backup_file_stripe1
    |  |  |  |- my_full_backup_file_stripe2
    |  |- diff/
    |  |  |- diff_backup_file
    |  |- log/
    |  |  |- transaction_log_file
    |- third-database/
    |  |- full/
    |  |  |- full_backup_file
    |  |- log/
    |  |  |- transaction_log_file
    

    この例では、third-database は移行に差分バックアップ ファイルを使用しないため、diff フォルダはありません。

  3. それぞれのフォルダにバックアップ ファイルをアップロードします。

    • フル バックアップ ファイルを full フォルダに配置します。
    • 差分バックアップ ファイルを diff フォルダに配置します。
    • トランザクション ログファイルを log フォルダに配置します。

    フル バックアップ、差分、トランザクション ログのファイルが、Database Migration Service で必要な命名規則に従っていることを確認します。 バックアップ ファイルの命名要件をご覧ください。

次のステップ