Sitecore blob に対して Azure Blob Storage モジュールを有効にする

Current version: 10.1

Sitecore は、blob およびコンテンツのデフォルト ストレージとして SQL データベースの使用をサポートしています。ただし、Azure Blob Storage モジュールをインストールすると、Azure Blob Storage のサポートが SQL データベースの blob サポートに置き換わる可能性があります。

モジュールは、PaaS インストールの場合は Sitecore Azure Toolkit を使用して、Azure Marketplace の Sitecore を使用して、またはオンプレミス インストールの場合は手動でインストールできます。

このモジュールは、Azure Storage アカウントの使用をサポートしています。既存のアカウントがない場合、Sitecore はblob ストレージとして使用するための新しい Azure Storage アカウントを作成できます。Azure Marketplace のデプロイと Sitecore Azure Toolkit のデプロイの両方でこのオプションがサポートされています。ただし、オンプレミス デプロイの場合は、Azure Storage アカウントを個別に作成し、Sitecore 環境で使用できるように設定する必要があります。

blob ストレージを開始する前に、次のことを考慮してください。

  • Azure Blob Storage モジュールは、PaaS の Sitecore インスタンスとオンプレミスの Sitecore インスタンスの両方にインストールできます。Sitecore Azure Toolkit を使用すると、モジュールを PaaS に追加するプロセスが簡単になります。

  • Azure Marketplace の Sitecore には、新しい Sitecore インスタンスに Azure Blob Storage モジュールをインストールするための使いやすいインターフェイスが備わっています。

  • オンプレミス インスタンスでは、Azure Blob Storage Web デプロイ パッケージ (WDP) をダウンロードして必要な手順に従って設定することで Azure Blob Storage を利用することもできます。

Azure Blob Storage モジュールを Sitecore PaaS にインストールする

Azure Blob Storage モジュールを Sitecore PaaS にインストールには、次の 2 つの方法があります。

  1. Sitecore Azure Toolkit を使用する:

    • Sitecore Azure Toolkit で新しい Sitecore インストールを使用する

    • Sitecore Azure Toolkit で既存の Sitecore インストールを使用する

  2. Azure Marketplace で Sitecore を使用する (新しい Sitecore インストールの場合のみ)

Sitecore Azure Toolkit で新しい Sitecore インストールを使用する

Sitecore Azure Toolkit のドキュメントを使用して、新しい Sitecore インストールで Azure Blob Storage モジュールをインストールするには:

  1. Sitecore Azure Toolkit をダウンロードします。

  2. Sitecore 用に Azure Resource Manager (ARM) テンプレートと WDP を準備します。

  3. Sitecore 用に ARM テンプレート パラメーターを準備します。

  4. GitHub から Azure Blob Storage モジュールの ARM テンプレートをダウンロードします。

  5. Sitecore のダウンロード ページから Azure Blob Storage モジュールの WDP をダウンロードします。

  6. ARM テンプレートと WDP を、Azure Storage などの公開されている場所、または必要に応じてアクセス トークンのあるプライベートな場所にアップロードします。

  7. デプロイに必要な Azure Blob Storage モジュールの ARM テンプレート パラメーターを準備するには:

    • Sitecore ARM テンプレート パラメーターの [モジュール] セクションを開きます。

    • ソリューションに対して適切なトポロジを選択してから、関連する Azure Blob Storage モジュールの ARM テンプレートの readme.md ファイルを確認します。

  8. Sitecore メイン ARM テンプレートの Uniform Resource Identifier (URI) と ARM テンプレート パラメーターを使用して、Sitecore Azure Toolkit のデプロイ コマンドレットを実行します。

Sitecore Azure Toolkit で既存の Sitecore インストールを使用する

Sitecore Azure Toolkit のドキュメントを使用して、既存の Sitecore インストールで Azure Blob Storage モジュールをインストールするには:

  1. Sitecore Azure Toolkit をダウンロードします。

  2. GitHub から Azure Blob Storage モジュールの ARM テンプレートをダウンロードします。

  3. Sitecore のダウンロード ページから Azure Blob Storage モジュールの WDP をダウンロードします。

  4. ARM テンプレートと WDP を、Azure Storage などの公開されている場所、または必要に応じてアクセス トークンのあるプライベートな場所にアップロードします。

  5. デプロイに必要な Azure Blob Storage モジュールの ARM テンプレート パラメーターを準備するには:

    • Sitecore ARM テンプレート パラメーターの [モジュール] セクションを開きます。

    • ソリューションに対して適切なトポロジを選択してから、関連する Azure Blob Storage モジュールの ARM テンプレートの readme.md ファイルを確認します。

  6. Sitecore Azure Toolkit のデプロイ コマンドレットを実行します。

    • デプロイ ID として既存のリソース グループ名を使用します。

    • Azure Blob Storage モジュール ARM テンプレートの Uniform Resource Identifier (URI) を使用します。

    • Azure Blob Storage モジュールの ARM テンプレート パラメーターを使用します。

Azure Marketplace で新しい Sitecore インストールを使用する

Azure Marketplace で Sitecore の新しいインスタンスを使用して Azure Blob Storage モジュールをインストールするには:

  1. Microsoft Azure® portal にログインし、左側のバーで [リソースの作成] をクリックします。

  2. [検索] フィールドで Sitecore® Experience Cloud を入力し、それを選択して [作成] をクリックします。

  3. [サブスクリプション] ドロップダウン メニューで、Sitecore をインストールするサブスクリプションをクリックします。

  4. [リソース グループ] で [新規作成] をクリックし、リソース グループ名を入力します。

    注記

    既存の空のリソース グループがある場合は [既存を使用] をクリックし、ドロップダウン メニューから名前を選択して [OK] をクリックします。

  5. [Sitecore の設定] の下で [必要な設定] をクリックします (これによりウィザードが開きます)。

  6. [環境] タブで、ドロップダウン メニューから、ソリューションに必要な Sitecore のバージョン、トポロジ、構成、サイズを選択します。[追加のモジュール] セクションで [Sitecore Azure Blob Storage モジュール] をクリックします。

  7. [資格情報] タブで、Blob Storage に使用する新しいストレージ アカウントの作成に必要な情報を入力します。

    注記

    既存のアカウントをお持ちの場合は、blob ストレージとして使用するストレージ アカウント情報を入力してください。

    blob ストレージ アカウントを作成します。
  8. [地域] タブで、インストールの場所をクリックします。

  9. [概要] タブで、インストールに関する情報がすべて正しいことを確認して [OK] をクリックします。

  10. [法的条件] をクリックし、費用と法的条件を確認して [作成] をクリックします。

  11. Azure Blob Storage モジュールのインストールで Sitecore を起動するには、[ OK] をクリックします。

注記

Azure Marketplace を介して既存の PaaS Sitecore インストールに Azure Blob Storage モジュールをインストールすることはできません。ただし、手動または Sitecore Azure Toolkit を使用してインストールすることは可能です。

オンプレミスの Sitecore インスタンスに Azure Blob Storage モジュールをインストールする

オンプレミスの Sitecore インストールに Azure Blob Storage モジュールをインストールするには、

  1. Sitecore のダウンロード ページから Azure Blob Storage モジュールの WDP をダウンロードします。

  2. MsDeploy を使用して、コマンド プロンプトで実行して WDP をインストールするには (このコマンドの実行に使用しているサーバーで msdeploy.exe を使用可能であることを確認してください):

    RequestResponse
    "<FolderPathOfMsDeploy>\msdeploy.exe" -verb:sync -source:package="<FilePathOfWDP>" -dest:auto="<RootUrlOfSitecoreInstance>" -setParam:"IIS Web Application Name"="<IISWebAppName>" -setParam:"AzureStorageConnectionString"="<AzureStorageConnectionString>" -setParam:"AzureStorageContainerName"="<AzureStorageBlobContainerName>" -setParam:"DefaultProvider"="azure" -enableRule:DoNotDeleteRule -verbose

    このコマンドは、Azure Blob Storage モジュールをインストールして設定し、Sitecore ConnectionString.config ファイルの Azure Storage 接続文字列を更新するために必要な XML Document Transform (XDT) ファイルを準備します。

  3. nuget に移動して、Microsoft.Web.XmlTransform.dll ファイルをダウンロードします。

  4. Sitecore の ConnectionString.config ファイルで、次の PowerShell コマンドを実行して Azure Storage 接続文字列を更新します。

    RequestResponse
    function XmlDocTransform($xml, $xdt)
    {
        if (!$xml -or !(Test-Path -path $xml -PathType Leaf)) {
            throw "File not found. $xml";
        }
        if (!$xdt -or !(Test-Path -path $xdt -PathType Leaf)) {
            throw "File not found. $xdt";
        }
    
        $scriptPath = (Get-Variable MyInvocation -Scope 1).Value.InvocationName | split-path -parent
        Add-Type -LiteralPath "$scriptPath\Microsoft.Web.XmlTransform.dll"
    
        $xmldoc = New-Object Microsoft.Web.XmlTransform.XmlTransformableDocument;
        $xmldoc.PreserveWhitespace = $true
        $xmldoc.Load($xml);
    
        $transf = New-Object Microsoft.Web.XmlTransform.XmlTransformation($xdt);
        if ($transf.Apply($xmldoc) -eq $false)
        {
            throw "Transformation failed."
        }
        $xmldoc.Save($xml);
    }
    
    XmlDocTransform -xml "<PhysicalFolderOfSitecoreWebApp>\App_Config\ConnectionStrings.config" -xdt "<PhysicalFolderOfSitecoreWebApp>\App_Data\Transforms\AzureBlobStorageProvider\Xdts\App_Config\ConnectionStrings.config.xdt"
注記

これらの手順をメディア アイテムを使用するすべてのロールまたは Web アプリケーションに対して繰り返す必要があります。

Azure Blob Storage モジュールを PaaS またはオンプレミスに手動でインストールする

任意の Sitecore インストールに Azure Blob Storage モジュールを手動でインストールするには:

  1. Sitecore のダウンロード ページから Azure Blob Storage モジュールの WDP をダウンロードします。

  2. WDPを抽出 (解凍) します。

  3. WDP の bin フォルダーの内容を Sitecore Web アプリケーションの bin フォルダーにコピーします。

  4. WDP の App_Config フォルダーの内容を Sitecore Web アプリケーションの App_Config フォルダーにコピーします。

  5. WDP の App_Data フォルダーの内容を Sitecore Web アプリケーションの App_Data フォルダーにコピーします。

  6. 次の接続文字列を Sitecore Web アプリケーションの App_Config\ConnectionStrings.config ファイルに追加します。

    RequestResponse
    <add name="azureblob" connectionString="<AzureStorageConnectionString>"/>
  7. \App_Config\Modules\Sitecore.AzureBlobStorage\Sitecore.AzureBlobStorage.config ファイルで、<param name="containerName> が正しいコンテナーを指していることを確認してください。Azure Blob Storage モジュールは Content Management (CM) とContent Delivery (CD) の両方の共有ストレージを使用します。

注記

これら手順をメディア アイテムを使用するすべてのロールに対して繰り返す必要があります。デフォルトではロールは Content Management (CM) と Content Delivery (CD) ですが、1 つのソリューションに CD のロールが複数ある場合があります。

すべてのインストールのデプロイを確認する

デプロイが正しいかどうかを確認するには:

  1. コンテンツ作成・責任者として Sitecore にログインします。

  2. いくつかのメディア ファイルをアップロードして、正しくダウンロードできること、およびメディア アイテムとして正しく作成されていることを確認します。

  3. 新しく作成したメディア アイテムを Web サイトのページに追加して、ページが正しくレンダリングされること (メディア リンクが途切れていないこと) を確認します。

デフォルトのプロバイダーを設定する

Sitecore では複数の Blob Storage アカウントを並べて使用できます。サポートが必要な Blob Storage アカウントの blob プロバイダーのリストを使用して、各 Sitecore データベースを設定できます。Sitecore は Blob ID を使用して Blob Storage 内のそれぞれの blob を識別し、Blob Storage アカウントから blob を取得または削除します。ただし、新しいアップロードにはデフォルトの blob プロバイダーを設定する必要があります。

Azure Blob Storage モジュールをインストールすると、事前設定されたデフォルトのプロバイダーは Azure Storage Blob プロバイダーになります。ただし、必要に応じて、デフォルトのプロバイダーを ClassicSqlBlobProvider に戻すことができます。

デフォルトのプロバイダーを ClassicSqlBlobProvider に戻すには:

  • 次のように App_Config\Modules\Sitecore.AzureBlobStorage\Sitecore.AzureBlobStorage.config ファイルを更新します。

RequestResponse
<database id="master" role:require="Standalone or Reporting or Processing or ContentManagement">
  <BlobStorage>
    <providers default="classic">
      <provider name="classic" type="Sitecore.Data.Blobs.ClassicSqlBlobProvider, Sitecore.Kernel">
        <param desc="databaseName">$(id)</param>
      </provider>
      <provider name="azure" type="Sitecore.Framework.Data.Blobs.Azure.AzureStorageBlobProvider, Sitecore.Framework.Data.Blobs.Azure">
        <param name="connectionStringName">azureblob</param>
        <param name="usedBlobIdsPagedListProvider" type="Sitecore.Data.Blobs.UsedBlobIdsPagedListProviderFacade, Sitecore.Kernel">
          <param>$(id)</param>
        </param>
        <param name="logger" type="Sitecore.Data.Blobs.BlobStorageLogger, Sitecore.Kernel"></param>
        <param name="containerName">blobcontainer</param>
      </provider>
    </providers>
  </BlobStorage>
</database>
重要

上記の例は、master データベース設定ファイルへの変更のみを示していますが、BlobStorage が設定されたすべてのデータベースでこれを変更する必要があります。

AzureStorageBlobProvider を設定する

AzureStorageBlobProvider プロバイダーは、ページングしたリスト プロバイダー パターンを使用して Sitecore メディア アイテムが使用する blob ID を取得します。タイムアウトサーキット ブレーカー パターン指数バックオフ パターンを使用して一時的なエラーも処理します。AzureStorageBlobProvider プロバイダーにはこれらのデフォルト設定がありますが、設定とパラメーターを変更して AzureStorageBlobProvider プロバイダーをカスタマイズできます。使用可能なパラメーターについては次の表を参照してください。

表1 AzureStorageBlobProvider のパラメーター

パラメーター

説明

connectionStringName

(必須) App_Config\ConnectionStrings.config ファイルから接続文字列の名前。

usedBlobIdsPagedListProvider

(必須) Sitecore Media アイテムがページごとに使用する blob ID を取得するためのメソッドを提供します。Sitecore.Framework.Data.Blobs.Abstractions.IPagedListProvider を使用して、同じタイプのカスタム クラスを実装できます。

pageSize

(オプション) blob ID をページごとに取得するときのページ上のページ アイテムの最大数。1 ページあたりのアイテムのデフォルト値は 5000 です。

logger

(オプション) エラーをログに記録するプロバイダー メソッド。Sitecore.Framework.Data.Blobs.Abstractions.ILogger を使用して同じタイプのカスタム クラスを実装できます。デフォルト値は null です。

containerName

(オプション) Azure Blob Storage 内の blob コンテナーの名前。デフォルト値は blobcontainer です。

maxRetryAttempt

(オプション) 一時的なエラーが発生した場合に許可される再試行の最大数。デフォルト値は 5 です。

deltaBackOff

(オプション) 一時的なエラーがある場合に再試行される間隔の秒数 (待機時間の長さ) です。デフォルト値は 4 です。

maxExecutionTime

(オプション) 要求を実行する最大秒数 (再試行を含む)。デフォルト値は 30 です。

exceptionsAllowedBeforeBreaking

(オプション) 一時的なエラーが maxRetryAttempt を超えたためにサーキット ブレーカーが遮断する前に許可される例外の数。デフォルト値は 1 です。

durationOfBreakInMinutes

(オプション) デフォルト値は 1 です。



Do you have some feedback for us?

If you have suggestions for improving this article,