blob 移行ツールを使用する

Current version: 10.1

blob 移行ツールを使用すると、SQL データベースから Azure Storage への blob の移行が容易になります。移行プロセス中にダウンタイムはありません。blob が SQL データベースから自動的に削除されることはありません。ただし、移行を開始する前に現在のデータをバックアップすることをお勧めします。

前提条件

Sitecore インスタンスに Blob 移行ツールを使用する前に、次のことを行う必要があります。

  • Sitecore 9.3 以降をインストールする

次の PowerShell スクリプトがあることを確認してください。Azure Blob Storage モジュールは、これらを使用して SQL データベースから Azure Storage への blob の移行を支援します。スクリプトは、AppData/Migrationフォルダーの Content Management (CM) および Content Delivery (CD) の Web アプリケーションにあります。

  • Invoke-Migration.ps1 - このスクリプトを使用して、blob を SQL データベースから Azure Storage に移行します。このスクリプトを使用するときは、次の例とパラメーターの表を参照してください。

    RequestResponse
    .\Invoke-Migration.ps1 -SqlDBConnectionNames @("master", "web") -AzureBlobConnectionName "azureblob" -BlobContainerName "blobcontainer" -Force *>&1 | Tee-Object -FilePath Invoke-Migration.log
    表2 Invoke-Migration.ps1

    パラメーター

    説明

    SqlDBConnectionNames

    blob を SQL データベースから Azure Blob Storage に移行する Sitecore SQL データベース接続文字列の名前。

    AzureBlobConnectionName

    Azure Blob Storage 接続文字列の名前。

    BlobContainerName

    Azure Storage に存在しなければならない宛先 blob コンテナーの名前。

    ConnectionStringsConfigFileRelativePath

    (オプション) Sitecore 接続文字列の設定ファイルからの相対パス。デフォルト値は次のとおりです。

    ..\..\App_Config\ConnectionStrings.Config



  • Revert-Migration.ps1 - このスクリプトを使用して、SQL データベースから Azure Storage への blob の移行を元に戻します。このスクリプトを使用するときは、次の例とパラメーターの表を参照してください。

    RequestResponse
    .\Revert-Migration.ps1 -SqlDBConnectionNames @("master", "web") -AzureBlobConnectionName "azureblob" -BlobContainerName "blobcontainer" -Force *>&1 | Tee-Object -FilePath Revert-Migration.log
    表3 Revert-Migration.ps1

    パラメーター

    説明

    SqlDBConnectionNames

    blob を SQL データベースから Azure Blob Storage に移行する Sitecore SQL データベース接続文字列の名前。

    AzureBlobConnectionName

    Azure Blob Storage 接続文字列の名前。

    BlobContainerName

    Azure Storage に存在しなければならない宛先 blob コンテナーの名前。

    ConnectionStringsConfigFileRelativePath

    (オプション) Sitecore 接続文字列の設定ファイルからの相対パス。デフォルト値は次のとおりです。

    ..\..\App_Config\ConnectionStrings.Config



blob を移行する

移行を開始する前に、データベースのクリーンアップ ウィザードを実行して未使用の blob を削除します (これにより、時間と移行プロセス中のリソースが節約できます)。大量の blob を移行するのにかかる時間を見積もるには、「移行スクリプトのパフォーマンスの表」を参照してください。

注記

移行スクリプトが SQL データベースから blob を削除することはありません。blob は Azure Storage にコピーされるだけです。

移行を開始するには:

  1. Microsoft Azure Storage Blob プロバイダーが既定のプロバイダーとして設定されていることを確認します。

  2. CM AppData/Migration フォルダーに移動します。

  3. Invoke-Migration.ps1 スクリプトを実行します (何らかの障害が発生した場合はスクリプトを再実行します)。

  4. スクリプトが正常に完了したら、Azure Blob Storage コンテナーをチェックして blob の数とコンテナーのサイズが正しいことを確認します。

  5. Sitecore CM アプリケーションおよび CD アプリケーションを実行し、SQL Blob を使用したときと同じようにすべて機能することを確認します。特に以下を確認してください。

    • コンテンツが正しく表示される。

    • 内容を引き続き編集できる。

    • コンテンツをダウンロードできる。

  6. 移行完了後にメモリ内のメディア アイテムが正しい blob ストレージ アカウントを確実に指すようにするには:

    • 移行スクリプトの実行後、/sitecore/admin/cache.aspx ページを使用して Sitecore キャッシュをクリアします。

  7. 移行が成功したら、すべてのデータが Azure Storage に正しくコピーされ、コンテンツが正しくレンダリングされることを確認します。

  8. SQL データベース から blob をクリーンアップします。管理者ロールで、データベースのクリーンアップ管理ウィザードを実行します。

移行を元に戻す

移行が想定通りに実行されなかった場合、または SQL データベースを再度使用する場合は、移行を元に戻すことができます。

移行を元に戻すには:

  1. デフォルトのプロバイダーを従来の SQL Blob プロバイダー (クラシック) に設定します。

  2. CM AppData/Migration フォルダーに移動します。

  3. Revert-Migration.ps1 スクリプトを実行します。

  4. 移行を元に戻した後にメモリ内のメディア アイテムが正しい blob ストレージ アカウントを確実に指すようにするには:

    • 移行を元に戻すスクリプトの実行後、/sitecore/admin/cache.aspx ページを使用して Sitecore キャッシュをクリアします。

注記

移行プロセス中に新しい blob が作成される場合があります。移行を元に戻すと、Azure Storage で作成されたすべての新しい blob がコピーされます。

移行の柔軟性

blob を SQL データベースから Azure Storage に移行するオプションとプロセスは非常に柔軟です。

  • 何らかの理由で移行中に移行スクリプトが失敗した場合は、スクリプトを再実行して移行を続行できます。スクリプトは、把握している最後の状態から実行を再開します。

  • blob が Azure Storage にアップロードされているときに一時的なエラーが発生すると、移行スクリプトは自動的に再試行します。

  • 移行スクリプトは、さまざまな場所から実行できます。

Do you have some feedback for us?

If you have suggestions for improving this article,