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

Version: 10.1
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

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

モジュールは、PaaSインストール用のSitecore Azureツールキットを使用するか、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インストールとSitecore Azure Toolkitを併用する

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

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

新しいSitecoreインストールでSitecore Azure Toolkitドキュメント を使用して、Azure Blob Storageモジュールをインストールします。

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

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

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

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

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

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

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

    • Sitecore ARMテンプレート パラメーターのmodulesセクションを開きます。

    • ソリューションに適したトポロジを選択し、関連付けられているAzure Blob StorageモジュールARMテンプレートのreadme.mdファイルを処理します。

  8. SitecoreメインARMテンプレートのUniform Resource Identifier (URI)、およびARMテンプレート パラメーターを使用して、Sitecore Azure ToolkitのDeployment cmdletsを実行します。

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

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

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

  2. SearchフィールドにSitecore® Experience Cloudと入力し、選択してCreateをクリックします。

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

  4. Resource Groupで、Create newをクリックし、リソース グループ名を入力します。

    メモ

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

  5. Sitecore Settings」で、「 Configure required settings 」をクリックします(ウィザードが開きます)。

  6. Environmentタブで、ドロップダウン メニューから、ソリューションに必要なSitecoreのバージョン、トポロジ、設定、サイズを選択します。 Additional Modulesセクションで、「 Sitecore Azure Blob Storage module」をクリックします。

  7. Credentialsタブで、BLOBストレージに使用する新しいストレージ アカウントを作成するために必要な情報を入力します。

    手記

    既存のアカウントがある場合は、BLOBストレージとして使用するストレージ アカウント情報を指定します。

    Create a blob storage account.
  8. Regionタブで、インストールの場所をクリックします。

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

  10. Legal Terms」をクリックし、コストと法的条件を確認してから、「 Create」をクリックします。

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

手記

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

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

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

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

  2. MsDeployを使用して、コマンド プロンプトでWDPを実行してWDPをインストールします (このコマンドの実行に使用しているサーバーで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ドキュメント変換 (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またはオンプレミスに手動でインストールする

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

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

  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モジュールは、コンテンツ管理 (CM) とコンテンツ配信 (CD) の両方に共有ストレージを使用します。

手記

メディア項目を使用するすべての役割に対して、この手順を繰り返す必要があります。既定では、ロールはコンテンツ管理 (CM) とコンテンツ配信 (CD) ですが、ソリューションに複数のCDロールがある場合があります。

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

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

  1. SitecoreにContent Authorとしてログインします。

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

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

デフォルトプロバイダーを構成する

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

Azure Blob Storageモジュールをインストールすると、事前構成済みの既定のプロバイダーはAzure Storage Blob Providerです。ただし、必要に応じて、デフォルトのプロバイダーを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を取得します。また、TimeoutCircuit breaker pattern、およびExponential retry patternを使用して一時的なエラーを処理します。AzureStorageBlobProviderプロバイダーにはこれらのデフォルト設定がありますが、構成の設定とパラメーターを変更することで、AzureStorageBlobProviderプロバイダーをカスタマイズできます。使用可能なパラメータについては、次の表を参照してください。

テーブル 1.AzureStorageBlobProvider のパラメーター

Parameter

Description

connectionStringName

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

usedBlobIdsPagedListProvider

(必須項目)Sitecore Mediaアイテムが使用するBLOB IDをページごとに取得する方法を提供します。同じ型のカスタムクラスを実装するには、Sitecore.Framework.Data.Blobs.Abstractions.IPagedListProvider

pageSize

(オプション)ページごとにBLOB IDを取得する場合のページ上のページ項目の最大数。ページあたりのアイテムのデフォルト値は次のとおりです。 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



何かフィードバックはありますか?

この記事を改善するための提案がある場合は、