---
title: "Sitecore blobsをAzure Blob Storageモジュールを有効にしてください"
slug: "enable-the-azure-blob-storage-module-for-sitecore-blobs"
abstract: "Azure Blob Storageモジュールをインストールして、Azure StorageサポートでSitecoreのblobsを使います。"
---
# Sitecore blobsをAzure Blob Storageモジュールを有効にしてください

SitecoreはSQL DatabaseをBLOBやコンテンツのデフォルトストレージとして使用することをサポートしています。しかし、Azure Blob Storageモジュールをインストールすると、SQL Blob StorageのサポートはSQL DatabaseのBlobサポートに代わることもあります。

PaaSインストールの場合はSitecore Azureツールキット、Azure MarketplaceのSitecore、またはオンプレミスインストールでは手動でモジュールをインストールできます。

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

ブロブストレージを始める前に、以下の点を考慮してください:

-   Azure Blob Storage モジュールは、PaaS Sitecoreとオンプレミスの Sitecore インスタンスの両方にインストールできます。Sitecore Azure Toolkit を使って、モジュールを PaaS に追加するプロセスを簡素化しましょう。
-   Azure Marketplace Sitecoreは、新しいSitecoreインスタンスにAzure Blob Storageモジュールをインストールするための使いやすいインターフェースを提供しています。
-   オンプレミスインスタンスでは、Azure Blob Storageのウェブデプロイパッケージ(WDP)をダウンロードし、必要な手順に従って設定することでAzure Blob Storageも活用できます。

## Sitecore PaaSにAzure Blob Storageモジュールをインストールしてください

Sitecore PaaSにAzure Blob Storageモジュールをインストールする方法は2通りです:

1.  Sitecore Azureツールキットの活用:
    -   Sitecore Azure Toolkitで新しいSitecoreインストールを使おう
2.  Azure MarketplaceでSitecoreを使ってください(新規Sitecoreインストールのみ)

### Sitecore Azure Toolkitで新しいSitecoreインストールを使おう

新しいSitecoreインストール時に[Sitecore Azure Toolkitドキュメント](https://doc.sitecore.com/xp/en/developers/sat/30/sitecore-azure-toolkit/en/getting-started-with-the-sitecore-azure-toolkit.html) を使って、Azure Blob Storageモジュールをインストールする:

1.  [Sitecore Azureツールキットをダウンロードしてください](https://dev.sitecore.net/Downloads/Sitecore_Azure_Toolkit.aspx)。
2.  Sitecore用のAzureリソースマネージャー(ARM)テンプレートとWDPを準備してください。
3.  Sitecore用のARMテンプレートパラメータを準備してください。
4.  GitHubから [Azure Blob StorageモジュールのARMテンプレート](https://github.com/Sitecore/Sitecore-Azure-Quickstart-Templates) をダウンロードしてください。
5.  Sitecoreダウンロードページから [Azure Blob StorageモジュールWDP](https://dev.sitecore.net/Downloads.aspx) をダウンロードしてください。
6.  ARMテンプレートやWDPをAzure Storageのような公開された場所にアップロードしたり、希望すればアクセストークン付きのプライベートな場所にアップロードしてください。
7.  Azure Blob Storage モジュールの ARM テンプレートパラメータを準備するには、デプロイメントに必要なパラメータを用意します:
    -   Sitecore ARMテンプレートパラメータの **モジュール** セクションを開きます。
    -   適切なトポロジーを選択し、関連するAzure Blob Storage モジュールのARMテンプレートの readme.md ファイルを解析してください。
8.  SitecoreメインARMテンプレートである統一リソース識別子(URI)とARMテンプレートパラメータでSitecore Azureツールキットの *Deployment cmdlets* を実行します。

### Azure Marketplaceで新しいSitecoreインストールを使いましょう

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

1.  [Microsoft Azure ®ポータル](https://portal.azure.com/#home)にログインし、左バーの「**リソースを作成」**をクリックします。
    
2.  **Search**欄で*Sitecore® Experience Cloud*を入力し、選択してから**「作成**」をクリックします。
    
3.  **サブスクリプション**のドロップダウンメニューで、Sitecoreをインストールしたいサブスクリプションをクリックしてください。
    
4.  **リソースグループで「****新しいを作成**」をクリックし、リソースグループ名を入力してください。
    
    > !注既存の空リソースグループがある場合は、「既存のリソースを使用」をクリックし、ドロップダウンメニューから名前を選択し、確定をクリックします。
    
5.  **Sitecore設定の「****必要設定の設定**」をクリックしてください(これでウィザードが開きます)。
    
6.  **環境**タブのドロップダウンメニューから、Sitecoreバージョン、トポロジー、構成、サイズを選択してください。**追加モジュール**セクションで**Sitecore Azure Blob Storage module**をクリックします。
    
7.  **認証情報**タブで、新しいストレージアカウントを作成してブロブストレージに使う必要な情報を入力してください。
    
    > !注既存のアカウントがある場合は、ブロブストレージとして使うストレージアカウント情報を提供してください。
    
    ![Create a blob storage account.](https://doc.sitecore.com/api/markdown-image/xp/ja/developers/93/sitecore-experience-manager/images/CreateBSAccount.PNG)
    
8.  **リージョン**タブで、設置場所をクリックしてください。
    
9.  **「概要**」タブで、インストール情報がすべて正しいか確認し、**OK**をクリックします。
    
10.  「 **法的用語**」をクリックし、費用と法的条件を確認してから **「作成**」をクリックしてください。
     
11.  Azure Blob StorageモジュールのインストールでSitecoreを開始するには、「 **OK」**をクリックしてください。
     

> !注Azure Blob Storageモジュールは、Azure Marketplaceを通じて既存のPaaS Sitecoreインストールにインストールすることはできません。ただし、手動またはSitecore Azureツールキットを使ってインストールすることは可能です。

## オンプレミスのSitecoreインスタンスにAzure Blob Storageモジュールをインストールしてください

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

1.  Sitecoreダウンロードページから[Azure Blob StorageモジュールWDP](https://dev.sitecore.net/Downloads.aspx)をダウンロードしてください。
    
2.  コマンドプロンプトでWDPをインストールするにはMsDeployを使い、(このコマンドを実行するために使っているサーバーでmsdeploy.exeが利用可能であることを確認してください):
    
    "<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](https://www.nuget.org/packages/Microsoft.Web.Xdt/)にアクセスしてください。そしてMicrosoft.Web.XmlTransform.dllファイルをダウンロードしてください。
    
4.  Sitecore ConnectionString.configファイル内で、Azureストレージ接続文字列を更新するために以下のPowerShellコマンドを実行してください。
    
    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"
    

> !注メディアアイテムを使用するすべての役割やウェブアプリケーションに対して、これらの手順を繰り返してください。

## Azure Blob StorageモジュールをPaaSまたはオンプレミスで手動インストールしてください

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

1.  Sitecoreダウンロードページから[Azure Blob StorageモジュールWDP](https://dev.sitecore.net/Downloads.aspx)をダウンロードしてください。
    
2.  WDPを抽出(解凍)してください。
    
3.  WDPのbinフォルダの内容をSitecoreウェブアプリケーションbinフォルダにコピーします。
    
4.  WDPのApp\_Configフォルダの内容をSitecoreウェブアプリケーションApp\_Configフォルダにコピーします。
    
5.  WDPのApp\_Dataフォルダの内容をSitecoreウェブアプリケーションApp\_Dataフォルダにコピーします。
    
6.  SitecoreウェブアプリケーションのApp\_Config\\ConnectionStrings.configファイルに追加する以下の接続文字列です。
    
    <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)の両方で共有ストレージ](https://doc.sitecore.com/xp/ja/developers/93/sitecore-experience-manager/considerations-for-using-the-azure-blob-storage-module.html "Considerations for using the Azure Blob Storage module")を使用します。
    

> !注メディアアイテムを使用するすべてのロールで手順を繰り返す必要があります。デフォルトでは、ロールはContent Management (CM)とContent Delivery (CD)ですが、ソリューション内で複数のCDロールが存在する場合もあります。

## すべての設置で展開を検証する

あなたのデプロイメントが正しいかどうかを確認するために:

1.  *Content Author*としてSitecoreにログインしてください。
2.  メディアファイルをアップロードして、正しくダウンロードでき、メディアアイテムとして正しく作成されているかを確認しましょう。
3.  新しく作成したメディアアイテムをウェブサイトのページに追加し、ページが正しくレンダリングされるようにしましょう(つまり、メディアリンクが壊れていない状態)。

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

Sitecoreは複数のBlob Storageアカウントを並行して動作させることができます。各Sitecoreデータベースに、Blob Storageアカウントに対応したブロブ提供者のリストを設定できます。SitecoreはBlob IDを使ってBlob Storage内のそれぞれのブロブを特定し、Blob Storageアカウントから取得または削除します。ただし、新しいアップロードにはデフォルトのブロブプロバイダーを設定する必要があります。

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

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

-   App\_Config\\Modules\\Sitecore.AzureBlobStorage\\Sitecore.AzureBlobStorage.configファイルを以下のように更新してください:

<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>

> !重要上記の例はマスターデータベースの設定ファイルの変更のみを示しています。ただし、設定BlobStorageすべてのデータベースについては変更しなければなりません。

## Configure the AzureStorageBlobProvider provider

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

表1.AzureStorageBlobProviderのパラメータ

**パラメータ**

**概要**

connectionStringName

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

usedBlobIdsPagedListProvider

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

pageSize

(任意)ページごとにブロブIDを取得する際のページ上の最大ページアイテム数。ページあたりのアイテムのデフォルト値は以下の通りです: 5000

logger

(任意)エラーをログするプロバイダーメソッド。同じタイプのカスタムクラスを実装するには Sitecore.Framework.Data.Blobs.Abstractions.ILogger。デフォルト値は次の通りです: null

containerName

(任意)Azure Blob Storage内のブロブコンテナの名前。デフォルト値は: blobcontainer。

maxRetryAttempt

(任意)一時的なエラーが発生した場合に許される最大再試行回数。デフォルト値は次の通りです: 5

deltaBackOff

(任意)一時的なエラーが発生した場合、これはリトライ間の秒数(バックオフ時間の長さ)です。デフォルト値は次の通りです: 4

maxExecutionTime

(任意)リクエストを実行するための最大秒数(再トライを含む)です。デフォルト値は以下の通りです: 30

exceptionsAllowedBeforeBreaking

(任意)一時的な誤差が1 maxRetryAttemptを超えた場合に回路ブレーカーが切れるまでに許される例外回数。デフォルト値は以下の通りです: 1

durationOfBreakInMinutes

(任意)デフォルト値は以下の通りです: 1