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

Database Migration Service は、Cloud Storage バケットにアップロードした SQL Server バックアップ ファイルとトランザクション ログ ファイルからデータを複製します。このページでは、移行手順に備えてバケットを準備する方法と、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 タイムスタンプ(秒単位)の追加フォルダを含める必要があります。

    たとえば、1 つの完全バックアップ ファイルを使用する場合は、そのファイルを 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-databasemy-other-database の 2 つのデータベースを作成します。各データベースには、個々の fulldifflog フォルダから取得されたデータが格納されます。

    完全バックアップ ファイルと差分バックアップ ファイルに、単一ファイルまたはストライプ化されたファイルの規則を組み合わせることができます。差分バックアップ ファイルはオプションであるため、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 で必要な命名規則に従っていることを確認します。 バックアップ ファイルの命名要件をご覧ください。

次のステップ