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

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

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

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

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

  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-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 で必要な命名規則に従っていることを確認してください。 バックアップ ファイルの命名要件をご覧ください。

次のステップ