Configure Sitecore for xDB on Azure
You can configure an on-premise Sitecore 9.1 environment (or later), for use with a self-managed Experience Database (xDB) Azure deployment; that is, an Azure-based, self-supported xDB server. According to the Sitecore xDB topology, you can deploy the following roles to the Cloud:
-
Processing
-
Reporting
-
XConnect Collection
-
XConnect Collection Search
-
XConnect Reference Data
-
Marketing Automation Operations
-
Marketing Automation Reporting
-
Sitecore Cortex Processing
-
Sitecore Cortex Reporting
You can use xDB in combination with on-premise Sitecore Content Management (CM) and Content Delivery (CD) roles to provide the Experience Database features in the Cloud. Refer to the Sitecore Experience Platform installation guide and the Sitecore Azure deployment guide for the correct connection strings between environments, and to prepare the correct client certificate configuration.
Prepare to configure Sitecore for xDB on Azure
Prepare to configure Sitecore for xDB on Azure
Before you configure Sitecore for xDB Cloud, you must:
-
Create and install a Client Authentication Certificate by following the steps in the Sitecore Experience Platform installation guide, Production Environment Setup, Setting up Client Certificates, (SIF does this automatically).
-
Select a topology that suits you best, choose either the xDB Single or xDB scaled topology for Azure, and create a new instance.
-
Install the full XP, then to remove all other roles, follow the instructions in Clean up roles.
-
Provide access for Azure SQL from your on-premise environment by configuring firewall rules.
To ensure your Sitecore instance(s) have access to the Client Authentication Certificate:
-
On the Control panel, in Administrative tools, Certificate Manager, open the certificate.
-
Right-click the certificate file, then go to: All Tasks, Manage private keys, and click Add.
-
In the pop-up dialog, go to the From this location field, and select your local computer.
-
Enter the type object names in the following format:
-
If you are running Sitecore as an App Pool:
IIS AppPool\<Instance name>. -
If you are running Sitecore as a Network Service: provide read access to
Network Service.
-
-
On the Security tab, select your group or user name, then select the Allow check box for read-access.
If you have connection issues with xDB, check that the certificate location is set to LocalMachine, and that the private keys of the certificate were generated for your App Pools.
Configure on-premise Sitecore roles
Configure on-premise Sitecore roles
To configure the on-premise Sitecore roles, you must set up connection strings and patch configuration files.
Do not make changes directly to the configuration files, instead use a patch file to customize the Sitecore configuration. You must create a patch file that can perform the required changes during run time.
The XM Content Management role
-
Refer to the following example to append xDB connections to the
ConnectionStrings.configfile.NoteWhen you installed the CM role using the XP Scaled packages, the xDB connection strings were included and are therefore already present. This means you must only ensure that the values are correct.
-
To set up a connection to the Processing and Reporting servers, open the
\App_Config\Sitecore\Marketing.xDB\Sitecore.Xdb.Remote.Client.configfile, and set theserviceUrlparameter for the Reporting and Processing nodes to point to the URLs of the Reporting and Processing services that are deployed as a part of xDB respectively.
The Reporting API Key uses a unique value, such as a GUID, for authentication when communicating from the CM role to the Reporting Web App. This is called a Certificate Thumbprint value. You must use the same value for xDB deployment and the CM connection string.
The XM Content Delivery role
Append the xDB connections to the ConnectionStrings.config file.
When you installed the CD role using the XP Scaled packages, the xDB connection strings were included and are therefore already present. This means you must only ensure that the values are correct.
Clean up roles
Clean up roles
To clean up roles that are not CD, CM, or Identity Server,
-
Stop and remove the following IIS websites:
-
collection
-
ma
-
mareporting
-
prc
-
processingEngine
-
refdata
-
rep
-
reporting
-
search
-
-
Remove the following SQL databases:
-
MarketingAutomation
-
Processing.Pools
-
Processing.Tasks
-
ProcessingEngineStorage
-
ProcessingEngineTasks
-
ReferenceData
-
Reporting
-
Xdb.Collection.Shard0
-
Xdb.Collection.Shard1
-
Xdb.Collection.ShardMapManager
-
-
Configure the Core, Master, and Security databases:
-
xDB on Azure deploys the Core and Master databases in Azure SQL for the Processing and Reporting roles. An on-premise installation also deploys the Core and Master databases for content management and content delivery.
-
Decide where you will store the Core and Master databases, edit the connection strings of the CM/CD or Reporting/Processing servers, and remove any duplicated databases.
-
Depending on where you host your Core database, edit the security connection string for the appropriate server: Identity, CM, or CD.
-
Align your search providers
Align your search providers
xDB Cloud uses Azure Cognitive Search as the default Search provider, and Solr as the default for an on-premise setup. There are two ways to align this setup:
In both scenarios, you must configure one Search provider instance for both environments and rebuild the Search indexes after switching.