暗号化された SQL Server バックアップ ファイルを使用する

Database Migration Service は、暗号化された SQL Server バックアップと完全に互換性があります。暗号鍵を Google Cloud にアップロードすると、Database Migration Service はデータのセキュリティを損なうことなく、データを安全に復号して Cloud SQL for SQL Server の宛先インスタンスに読み込むことができます。

暗号化されたバックアップ ファイルを使用する場合は、移行に含まれる特定のデータベースに使用するすべてのバックアップ ファイル(フル バックアップ、差分バックアップ、トランザクション ログ)を暗号化する必要があります。つまり、フル バックアップ ファイルを暗号化する場合は、差分バックアップ ファイルとそのデータベースに使用するトランザクション ログ ファイルも暗号化する必要があります。すべてのバックアップ ファイルは同じ鍵で暗号化する必要があります。

バックアップの暗号化はデータベースごとに評価されます。たとえば、ソースの SQL Server インスタンスから 2 つのデータベース(my-business-databasemy-other-database)を移行する場合は、my-business-databasemy-other-database、または両方のデータベースに暗号化されたバックアップを個別に使用できます。

移行に暗号化されたバックアップを使用する手順は次のとおりです。

  1. 移行元の SQL Server インスタンスのバックアップを取得し、暗号化機能を使用します。暗号鍵を安全な場所に保存し、後で Cloud Storage にアップロードします。Microsoft のドキュメントの バックアップの暗号化をご覧ください。

  2. 暗号鍵をアップロードします。

  3. Google Cloud CLI のみ: 暗号鍵を移行ジョブに含まれる関連データベースと照合するように、JSON 形式のマッピング ファイルを作成します。マッピング ファイルは、単一のデータベースのマッピングを表すオブジェクトの配列です。構成ファイルの例:

    [
    {
      "database": "db1",
      "encryptionOptions": {
        "certPath": "Path to certificate 1",
        "pvkPath": "Path to certificate private key 1",
        "pvkPassword": "Private key password 1"
      }
    },
    {
      "database": "db2",
      "encryptionOptions": {
        "certPath": "Path to certificate 2",
        "pvkPath": "Path to certificate private key 2",
        "pvkPassword": "Private key password 2"
      }
    }
    ]
    

    ここで

    • database はデータベース ID です。この識別子は、 Cloud Storage 内のデータベース フォルダ名と一致している必要があります。
    • certPathpvkPathpvkPassword は、gs://BUCKET_NAME/OBJECT_NAME 形式の証明書ファイルへの Cloud Storage パスです。例: gs://my-bucket-name/certificate-folder/certificate-key-file1。詳細については、Cloud Storage ドキュメントのオブジェクトの名前空間をご覧ください。
  4. 移行ジョブを作成するときに、暗号鍵の Cloud Storage パスを指定します。

  5. 追加のバックアップ ファイル(差分バックアップ ファイルまたはトランザクション ログ ファイル)を作成する場合は、完全バックアップに使用したのと同じ暗号鍵で暗号化してください。