DxH in the Azure (IaaS) Cloud

By Udai Ramachandran

This document explains how you can securely deploy DxH in Azure (IaaS) while your CMS site is hosted in a Cloud service using the Azure PaaS environment.

IMPORTANT:  If you are using Ektron 8.6.0.x with SQL database (a.k.a. SQL Azure), you must manually navigate to install the directory database folder, then open Schema.sql and replace newsequentialid() with  newid().  You need to re-run all 3 scripts manually pointing to SQL credentials.

Architecture:

The following diagram shows the DxH and CMS Cloud Service with SQL Database.

  • DxH hosted in Azure Persisted VM (Azure IaaS). 
  • CMS hosted as an Azure Cloud service (Azure PaaS). 
  • You can use your own SQL Server or SQL Database.  

 DxH Azure hybrid cloud deployment

Setting up the DxH:

To setup the Cloud Service and DxH follow the steps below:

  1. Create an affinity group using any Azure datacenter location.
  2. Create a Virtual network and a subnet of A, B, or C class IPs.
  3. Create a virtual machine (VM) using the gallery option while creating the VM; use the Virtual network that you created Step 2.
  4. If you have not already done so, you need to install .NET 4.0 and Port sharing service before you install DxH.  Note this step can be performed independently later in the process.  
  5. You also need to open the firewall rule and add DxH port (default port is 808) to allow an incoming connection.  
  6. Install DxH in the VM.  
  7. Create the Cloud service using the affinity group as the location.
  8. Create a storage account using the affinity group as the location.
  9. Create a package manually, or use the deployment wizard to build and deploy the Cloud Service Package.

If you had completed the DxH installation, you should be able to communicate between your DxH and CMS.  You may need to open additional ports (ex., 808 for DxH) using the VM endpoints through the portal.  If you do not want to open public end points, use the following procedure. 

Securing DxH Communication:

  1. Delete your deployment from the cloud service.
  2. From your On-Premise system Nagivate to:

~/Sync/azure/{guid}/{your service name}/package/serviceconfiguration.cloud.cscfg

  1. Add the following element before the </serviceconfiguration>  tag.  Make sure to replace all the values to match your cloud service, virtual network and subnet.

<NetworkConfiguration>

    <VirtualNetworkSite name="YourVirtualNetworkName" />

    <AddressAssignments>

      <InstanceAddress roleName="YourWebRoleName">

        <Subnets>

          <Subnet name="YourVirtualNetworkSubnetName" />

        </Subnets>

      </InstanceAddress>

      <InstanceAddress roleName="YourWorkerRoleName">

        <Subnets>

          <Subnet name="YourVirtualNetworkSubnetName" />

        </Subnets>

      </InstanceAddress>

    </AddressAssignments>

  </NetworkConfiguration>

 

  1. Create a production deployment using the new updated ServiceConfiguration.cloud.cscfg for configuration.  Use from Storage option for Package.  After you click on the storage option, navigate to your storage account and then the ektrondeployment container then select the package (.pkg) file.  Refer to the following diagram.
serviceconfiguration.cscfg

Your CMS cloud service can now communicate to DxH service securely.

comments powered by Disqus

What Do You Think of our New Design?

    

Have more to say? We’d love to hear it!