Sitecore blobsをAzure Blob Storageモジュールを有効にしてください
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
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通りです:
- Sitecore Azureツールキットの活用:
- Sitecore Azure Toolkitで新しいSitecoreインストールを使おう
- Azure MarketplaceでSitecoreを使ってください(新規Sitecoreインストールのみ)
Sitecore Azure Toolkitで新しいSitecoreインストールを使おう
新しいSitecoreインストール時にSitecore Azure Toolkitドキュメント を使って、Azure Blob Storageモジュールをインストールする:
- Sitecore Azureツールキットをダウンロードしてください。
- Sitecore用のAzureリソースマネージャー(ARM)テンプレートとWDPを準備してください。
- Sitecore用のARMテンプレートパラメータを準備してください。
- GitHubから Azure Blob StorageモジュールのARMテンプレート をダウンロードしてください。
- Sitecoreダウンロードページから Azure Blob StorageモジュールWDP をダウンロードしてください。
- ARMテンプレートやWDPをAzure Storageのような公開された場所にアップロードしたり、希望すればアクセストークン付きのプライベートな場所にアップロードしてください。
- Azure Blob Storage モジュールの ARM テンプレートパラメータを準備するには、デプロイメントに必要なパラメータを用意します:
- Sitecore ARMテンプレートパラメータの モジュール セクションを開きます。
- 適切なトポロジーを選択し、関連するAzure Blob Storage モジュールのARMテンプレートの readme.md ファイルを解析してください。
- SitecoreメインARMテンプレートである統一リソース識別子(URI)とARMテンプレートパラメータでSitecore Azureツールキットの Deployment cmdlets を実行します。
Azure Marketplaceで新しいSitecoreインストールを使いましょう
Azure Marketplaceに新しいSitecoreインスタンスを置いてAzure Blob Storageモジュールをインストールするには:
-
Microsoft Azure ®ポータルにログインし、左バーの「**リソースを作成」**をクリックします。
-
Search欄でSitecore® Experience Cloudを入力し、選択してから**「作成**」をクリックします。
-
サブスクリプションのドロップダウンメニューで、Sitecoreをインストールしたいサブスクリプションをクリックしてください。
-
**リソースグループで「**新しいを作成」をクリックし、リソースグループ名を入力してください。
!注既存の空リソースグループがある場合は、「既存のリソースを使用」をクリックし、ドロップダウンメニューから名前を選択し、確定をクリックします。
-
**Sitecore設定の「**必要設定の設定」をクリックしてください(これでウィザードが開きます)。
-
環境タブのドロップダウンメニューから、Sitecoreバージョン、トポロジー、構成、サイズを選択してください。追加モジュールセクションでSitecore Azure Blob Storage moduleをクリックします。
-
認証情報タブで、新しいストレージアカウントを作成してブロブストレージに使う必要な情報を入力してください。
!注既存のアカウントがある場合は、ブロブストレージとして使うストレージアカウント情報を提供してください。
-
リージョンタブで、設置場所をクリックしてください。
-
「概要」タブで、インストール情報がすべて正しいか確認し、OKをクリックします。
-
「 法的用語」をクリックし、費用と法的条件を確認してから 「作成」をクリックしてください。
-
Azure Blob StorageモジュールのインストールでSitecoreを開始するには、「 **OK」**をクリックしてください。
!注Azure Blob Storageモジュールは、Azure Marketplaceを通じて既存のPaaS Sitecoreインストールにインストールすることはできません。ただし、手動またはSitecore Azureツールキットを使ってインストールすることは可能です。
オンプレミスのSitecoreインスタンスにAzure Blob Storageモジュールをインストールしてください
オンプレミスのSitecoreインストールにAzure Blob Storageモジュールをインストールするには:
-
SitecoreダウンロードページからAzure Blob StorageモジュールWDPをダウンロードしてください。
-
コマンドプロンプトでWDPをインストールするにはMsDeployを使い、(このコマンドを実行するために使っているサーバーでmsdeploy.exeが利用可能であることを確認してください):
"
-source="\msdeploy.exe" -verb " -dest=" " -setParam:"IIS Web Application Name"=" " -setParam:"AzureStorageConnectionString"=" " -setParam:"AzureStorageContainerName"=" " -setParam:"DefaultProvider"="azure" -enableRule -verbose このコマンドはAzure Blob Storageモジュールをインストールし設定し、Sitecore ConnectionString.configファイルのAzure Storage接続文字列を更新するための必要なXML Document Transform(XDT)ファイルを準備します。
-
Nugetにアクセスしてください。そしてMicrosoft.Web.XmlTransform.dllファイルをダウンロードしてください。
-
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 "
\App_Config\ConnectionStrings.config" -xdt " \App_Data\Transforms\AzureBlobStorageProvider\Xdts\App_Config\ConnectionStrings.config.xdt"
!注メディアアイテムを使用するすべての役割やウェブアプリケーションに対して、これらの手順を繰り返してください。
Azure Blob StorageモジュールをPaaSまたはオンプレミスで手動インストールしてください
SitecoreのインストールにAzure Blob Storageモジュールを手動でインストールするには:
-
SitecoreダウンロードページからAzure Blob StorageモジュールWDPをダウンロードしてください。
-
WDPを抽出(解凍)してください。
-
WDPのbinフォルダの内容をSitecoreウェブアプリケーションbinフォルダにコピーします。
-
WDPのApp_Configフォルダの内容をSitecoreウェブアプリケーションApp_Configフォルダにコピーします。
-
WDPのApp_Dataフォルダの内容をSitecoreウェブアプリケーションApp_Dataフォルダにコピーします。
-
SitecoreウェブアプリケーションのApp_Config\ConnectionStrings.configファイルに追加する以下の接続文字列です。
-
\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)ですが、ソリューション内で複数のCDロールが存在する場合もあります。
すべての設置で展開を検証する
あなたのデプロイメントが正しいかどうかを確認するために:
- Content AuthorとしてSitecoreにログインしてください。
- メディアファイルをアップロードして、正しくダウンロードでき、メディアアイテムとして正しく作成されているかを確認しましょう。
- 新しく作成したメディアアイテムをウェブサイトのページに追加し、ページが正しくレンダリングされるようにしましょう(つまり、メディアリンクが壊れていない状態)。
デフォルトのプロバイダーを設定する
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ファイルを以下のように更新してください:
!重要上記の例はマスターデータベースの設定ファイルの変更のみを示しています。ただし、設定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