Jump to content

Migrating Company Communicator between Azure subscriptions


Recommended Posts

Guest luisdem
Posted

About Company Communicator (CC)

 

 

 

 

Company Communicator is a custom Teams app that enables corporate teams to create and send messages intended for multiple teams or large number of employees over chat allowing organization to reach employees right where they collaborate. Use CC for multiple scenarios, such as new initiative announcements, employee onboarding, modern learning and development, or organization-wide broadcasts.

 

 

 

The app provides an easy interface for designated users to create, preview, collaborate and send messages. It's also a foundation for building custom targeted communication capabilities, such as custom telemetry on how many users acknowledged or interacted with a message.

 

 

 

largevv2px999.png.eef92e47af7f9d1602ce0f367774378d.png

 

 

 

 

 

The official version is available at OfficeDev/microsoft-teams-apps-company-communicator, but in case you want to use extra features like tracking who interacted with your messages (reading, buttons clicked, reactions sent) or using a CSV file to send messages, my suggestion is to use the Cristiano's fork.

 

 

 

You can find more details about the Cristiano's version here.

 

 

 

How to migrate it between subscriptions

 

 

 

 

It is possible to migrate 99% of CC automatically on Azure Portal except by the "Front Door and CDN profiles" one, that requires you do manually create the resource on the destination subscription.

 

 

 

Prerequisites

 

 

 

 

Before starting, make sure that your destination Azure subscription has permission to create the following kinds of resources:

 

 

 

  • App Service
  • App Service Plan
  • Bot Channels Registration
  • Azure Function
  • Azure Storage Account
  • Service Bus
  • Application Insights
  • Azure Key vault
  • Microsoft.CDN enabled on Resource Provider

 

 

 

Steps

 

 

 

 

  1. From the Azure Portal, go to the Company Communicator Resource Group and click on move:

 

 

 

largevv2px999.png.efb840a29ed40741862d99e67901ea84.png

 

 

 

 

 

 

 

  1. In the Source + target, select the target subscription and resource group to which you want to move the resources. Then select Next:

 

 

 

largevv2px999.thumb.png.526dd78ed01651b532414ce374bd8f57.png

 

 

 

 

 

  1. In the Resource to move, click on Add resources:

 

 

 

largevv2px999.png.5a1c94e98e3f3b4548ac426417f59b4f.png

 

 

 

 

 

  1. Select all resources available, except the Front Door and CDN profiles, and click on Select:

 

 

 

largevv2px999.thumb.png.57f0f7f2c268ebab0968490962c1a410.png

 

 

 

 

 

  1. Click on Next to start the validation if it is possible to migrate the items to another subscription:

 

 

 

largevv2px999.png.dc4bc6d3fba66dc8aacea89f7417830c.png

 

 

 

 

 

This step will check whether these resources can be moved, and this might take a few minutes.

 

In case you forgot to remove the
Front Door and CDN profiles
, during the validation, you will receive an error saying that the CDN couldn’t be migrated as it is not supported migrating resource types of 'Microsoft.Network/frontdoors.

 

 

If this is your case, remove the
Front Door and CDN profiles
item from the list. We will manually create it later from scratch in the target subscription. Click on
Next
again to start over the migration validation.

 

 

 

largevv2px999.png.66bf1585b1a3d7e02602bbbbcf5b5eb4.png

 

 

 

  1. Click on next after having all resources validated:

 

 

 

largevv2px999.thumb.png.b8cd0e15ce175b8704a8b9cf3587b6a0.png

 

 

 

 

 

 

 

  1. In the Review, check the I understand that tools and scripts associated with moved resources will not work until I update them to use new resource IDs and click Move to start the migration:

 

 

 

largevv2px999.thumb.png.98717b79045f75d4205b865ad1400818.png

 

 

 

 

 

After a few minutes, it will remain only the
Front Door and CDN profiles
in the original resource group:

 

 

 

largevv2px999.png.019571848c6b62fde509b4a3ce920146.png

 

 

 

 

As next step, we need to manually create the
Front Door and CDN profiles
. Copy all information from your front door and then delete it before proceeding as we want to use the same values.

 

 

  1. In the Azure Portal, click on Create a resource, search for Front Door and CDN profiles and click on Create:

 

 

 

largevv2px999.png.8d215ab1bc1f155f3ad27c23458605b7.png

 

 

 

 

 

 

 

  1. Click on Explore other offerings, select Azure Front Door (classic) and then click on Continue:

 

 

 

largevv2px999.thumb.png.9895bedbc8439551069034cf01b5bbc1.png

 

 

 

 

 

  1. Select the target subscription and the target resource group. Then click on Next: Configuration >:

 

 

 

largevv2px999.thumb.png.15b9ad28bcef0453b66c598fa8aaab49.png

 

 

 

 

 

In case you receive the following error message:

 

 

 

In order to create this CDN profile, please ensure that Microsoft.CDN is listed as a registered Resource Provider in your Azure subscription.

 

 

 

largevv2px999.png.d634322281e6f118a4a818ed026787b5.png

 

 

 

 

 

Switch back to the Azure Portal home, click on
Subscriptions
, select the target subscription, click on
Resource Providers
, search for
Microsoft.CDN
, click on the result item and click on
Register
:

 

 

 

largevv2px999.png.72df2721b485f858c427af91dc26f19d.png

 

 

 

 

 

Once registered, switch back to the step 8 to start over the
Front Door and CDN profiles
creation.

 

 

 

  1. In the first blade, click on the plus sign to add the frontend host. Then provide the same name of the original front door, in my case it is ocag422c, and then click on Add:

 

 

 

largevv2px999.png.6ad1279aa585862db29c8226f04ee291.png

 

 

 

 

 

  1. In the second blade, click on the plus sign to add a backend pool. Name it (I am using the same name as my original one - backendPool1) and click on Add a backend:

 

 

 

largevv2px999.png.985cd712edc34fff1a5d5c3be53bbab4.png

 

 

 

 

 

  1. Select Custom host in the backend host type, provide the URL of the App Service of your CC (in my case it is ocag422c.azurewebsites.net) for the backend host name and host header, and click on Add:

 

 

 

largevv2px999.thumb.png.57fa0e7bf800dc5df368624814b8e9c1.png

 

 

 

 

 

  1. Add the value /health for the path, select GET for the probe method, 255 for the interval and click on Add:

 

 

 

largevv2px999.thumb.png.4831bfe999f8082021bc2e580d4fe5e0.png

 

 

 

 

 

  1. In the Routing rules blade, click on the plus sign to add a rule:

 

 

 

largevv2px999.png.ecc3954992d01d440a5e051327b5bb9e.png

 

 

 

 

 

  1. Name it to routingRule1, change the accepted protocol to HTTPS only and click on Add:

 

 

 

largevv2px999.thumb.png.0c62e3fd8b30175a12a8e894f4fe0cbf.png

 

 

 

 

 

  1. Click again in the Routing rules blade, click on the plus sign to add a second rule.

  • Name it to routingRule2
  • Change the accepted protocol to HTTPS only
  • Change the pattern to match from /* to /api/*
  • Change the route type to Redirect
  • Change the redirect type to Permanent Redirect (308)
  • Select Replace for the destination host and provide the URL of your CC App Service (in my case it is ocag422c.azurewebsites.net)
  • Click on Add

 

 

 

largevv2px999.thumb.png.90671908b9ec52ccfe1cc6b98d326a68.png

 

 

 

 

 

  1. Click on Review + create:

 

 

 

largevv2px999.png.ee37e5605000c7deb3be3291a5926c73.png

 

 

 

 

 

  1. Click on Create to finish.

 

 

 

largevv2px999.thumb.png.c7d65a5a79f0496c88700a12d6b4ac40.png

 

 

 

 

 

Done! I hope it helps you!

 

ヾ(⌐■_■)ノ♪

 

Continue reading...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...