Sitecore Experience Manager

Configure Sitecore for xDB on Azure

Abstract

Configure an new on-premise Sitecore environment to use with an xDB Cloud deployment.

You can configure an on-premise Sitecore environment 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

You can use xDB in combination with on-premise Sitecore XM installation guide 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.

Before you configure Sitecore for xDB Cloud, you must:

  • Deploy the Content Management (CM), and Content Delivery (CD) roles according to the Sitecore Experience Platform installation guide.

    Important

    For Sitecore 9.0 and earlier, you can use the XM Scaled packages.

  • Create and install a Client Authentication Certificate by following the steps in the Sitecore Experience Platform installation guideProduction Environment SetupSetting up Client Certificates, (SIF does this automatically).

  • Decide on a topology that suits you best, choose either the xDB Single or xDB scaled topology for Azure.

To ensure your Sitecore instance(s) have access to the Client Authentication Certificate:

  1. In the Control panel, Administrative toolsCertificate Manager, open the certificate.

  2. Right-click the certificate file, then click: All TasksManage private keys, and then click Add.

  3. In the pop-up dialog, in the From this location field, select your local computer.

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

  5. On the Security tab, select your group or user name and select the Allow check box for read-access.

To configure the on-premise Sitecore roles, you must set up the connection strings and patch configuration files.

Note

Do not make changes directly to the configuration files. Instead, you must create a patch file that performs the required changes during run time.

The XM Content Management role

  1. Append xDB connections to the ConnectionStrings.config file.

    <add name="xconnect.collection" connectionString="https://XConnectCollectionURL"/>
    <add name="xconnect.collection.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue=CertificateThumbprint" />
    <add name="xdb.referencedata" connectionString="<XdbRefDataDBConnectionString>"/>
    <add name="xdb.referencedata.client" connectionString="https://XConnectRefDataUrl" />
    <add name="xdb.referencedata.client.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue= CertificateThumbprint" />
    <add name="reporting.apikey" connectionString="XdbReportingAPIKey" />
    <add name="reporting" connectionString="<XdbReportingDBConnectionString>" />
    <add name="xdb.marketingautomation.reporting.client" connectionString="https://XConnectAutomationReporting"/>
    <add name="xdb.marketingautomation.reporting.client.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue= CertificateThumbprint" />
    <add name="xdb.marketingautomation.operations.client" connectionString="https://XConnectAutomationOperations" />
    <add name="xdb.marketingautomation.operations.client.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue=CertificateThumbprint " />
    <add name="sitecore.reporting.client" connectionString="https://CortexReporting"/>
    <add name="sitecore.reporting.client.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue= CertificateThumbprint" />
  2. To set up a connection to the Processing and Reporting servers, open the \App_Config\Sitecore\Marketing.xDB\Sitecore.Xdb.Remote.Client.config file, and set the serviceUrl parameter 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 XM Content Delivery role

Append the xDB connections to the ConnectionStrings.config file.

<add name="xconnect.collection" connectionString="https://XConnectCollection" />
<add name="xconnect.collection.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue=CertificateThumbprint" />
<add name="xdb.referencedata.client" connectionString="https://XConnectRefDataUrl" />
<add name="xdb.referencedata.client.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue= CertificateThumbprint" />
<add name="xdb.marketingautomation.reporting.client" connectionString="https://XConnectAutomationReporting"/>
<add name="xdb.marketingautomation.reporting.client.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue= CertificateThumbprint" />
<add name="xdb.marketingautomation.operations.client" connectionString="https://XConnectAutomationOperations" />
<add name="xdb.marketingautomation.operations.client.certificate" connectionString="StoreName=My;StoreLocation=LocalMachine;FindType=FindByThumbprint; FindValue=CertificateThumbprint " />

Note

The Reporting API Key has a unique value, for example, a GUID, that is used 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.

To turn off CMS-only mode for both the CM and CD roles:

  • Open the \App_Config\Sitecore\Marketing.xDB\Sitecore.Xdb.config file, set the Xdb.Enabled and Xdb.Tracking.Enabled settings to true. For example:

          <setting name="Xdb.Enabled" value="true" />
          <setting name="Xdb.Tracking.Enabled" value="true" />