Setup an Azure (ARM) Cloud Profile

The ScaleGrid Bring Your Own Cloud model supports the ability to host your MongoDB, Redis™*, MySQL, and PostgreSQL database in your own Azure account. This gives you the best of both worlds – you can leverage ScaleGrid expertise to manage your databases and still keep all the machines in your own cloud account. Here are some other advantages of using your own cloud account:

  • Databases can be deployed in your own Virtual Networks (VNET) and subnets.
  • Leverage Network Security Groups (NSG) for access control.
  • Custom pricing. If you have a discounted rate from Azure, you can leverage it for your database machines. For example, if you're a startup with free credits from Azure, you can leverage your credits to pay for your database machines.

Create an Azure (ARM) Cloud Profile

Follow these steps to create an Azure Cloud Profile on your ScaleGrid account.

To create an Azure Cloud Profile, visit the Cloud Profile page in the console side menu, or by clicking the green New Cloud Profile button under Bring Your Own Cloud on the console Getting Started page.

Step 1: Enter Your Name and Subscription ID

Before you can start creating an Azure Cloud Profile, you'll need a Subscription ID that will host your database machines.

📘

To find your Azure Subscription ID, please follow the steps on this link.

We also support two Azure Government regions:

  • US Gov Virginia
  • US Gov Iowa

📘

For more information on Azure Government clouds and regions, check out this link.

When "Use Availability Zones if available" option is selected, database nodes will be created in Availability Zones. ScaleGrid will try to ensure cluster nodes are provisioned in different Availability Zones. Not all Azure regions support Availability Zones. If "Use Availability Zones" option is not selected then cluster nodes will use Availability Set instead.

921

Step 1: Enter your Azure Subscription ID

Step 2: VNET

In this step, you'll be required to enter the following information:

  • VNET Name: This has to be in the same region selected as your Azure Cloud Profile.
  • VNET Resource Group Name: The Resource Group name in which the VNET is present.
  • Subnet Name: Name of the subnet to use for the database machines.
  • Network Security Group (NSG) Name: The NSG will be attached to all the machines you create using the Cloud Profile. Your NSG needs to be in the same Resource Group as the VNET.

📘

For more information on creating a Virtual Network with multiple subnets, check out this link.

918

Step 2: Enter your VNET information

Step 3: Enable Public IP

ScaleGrid provides the option of allocating a static public IP. For more information on creating public IPs on Azure, check out this link.

📘

Select "Allocate public static IP" only if you want your machines to face the internet or if you're deploying across regions. If you're deploying inside a VNET and subnet, you should not need a public static IP. If you wish to enable and use a public IP, ensure that the selected NSG has the necessary ports open for the selected database.

📘

About "Use single tenant Service principal" checkbox:
By default, Azure uses a multi-tenant service principal which can work seamlessly across multiple tenants/subscriptions. If you only plan to use a single subscription with ScaleGrid, then it's simpler and more secure to use a single tenant service principal.

911

Step 3: Enable public IP

Step 4: Run the script

Download and run either the PowerShell/CLI script to grant ScaleGrid the required permissions. This script creates a new ScaleGrid Resource Group and grants ScaleGrid permissions to it. The Azure user to run this script requires account admin and global AD admin permissions.

🚧

Make sure you run the script and then click 'Next' in the Create cloud profile wizard to continue the CloudProfile creation. The name of the script will be:

  • ScaleGrid--configure.ps1 for PowerShell
  • ScaleGrid--configure.sh for bash. You can run the bash script using bash <name of .sh>
915

Step 4: Run script

What permissions do I need to run the Powershell/Azure CLI script?

  1. Users needs to be Active directory global administrator
    Azure Active Directory > All users > Select the user > Directory role > ‘Global Administrator’
1223

Azure Global Administrator

  1. User needs to be subscription admin
    Subscriptions > Select the user > Acces Control (IAM) > Owner role
1548

Azure Access Control Owner Role

Step 5: Confirm

Before the Cloud Profile can be created, make sure that the configuration script has been executed and check the box to confirm. The "Application ID" and "Application Key" can be found from the output of the PowerShell/CLI script.

922

Step 5: Confirm

Other notes

The Azure PowerShell script creates a Resource Group with name Scalegrid- and gives the ScaleGrid application permission to deploy and manage machines in this Resource Group. It also enables the ScaleGrid application permission to join the newly created machines to the VNET, subnet, and NSG that was supplied earlier in the wizard. The ScaleGrid application does not have permissions on any other machines or entities running in your subscription.

  • Download and install Azure Cmdlets from Azure Downloads page.
  • Open an Azure Cmdlets PowerShell window and set execution policy (if needed).
  • The script is unsigned. So, you might need to update the execution policy on your machine. For example, set Execution-Policy UnRestricted.
  • Run the script .<scriptname>
  • Select RunOnce (R) to run the script.

The script will prompt you to login to your Azure account. The script writes output to the Console. Verify that the script does not run into any errors, and if you see any errors, please save the entire screen output and share with the ScaleGrid support team. You can file a ticket in our Console or email us at [email protected].

And that's it. Congratulations on creating an Azure Cloud Profile with ScaleGrid. You are now ready to use this Cloud Profile to create your first MongoDB, Redis™, MySQL or PostgreSQL cluster at ScaleGrid.

* Redis is a trademark of Redis Labs Ltd. Any rights therein are reserved to Redis Labs Ltd. Any use by ScaleGrid is for referential purposes only and does not indicate any sponsorship, endorsement or affiliation between Redis and ScaleGrid.