Configure the Microsoft Azure cloud provider
You can configure an Azure cloud provider for YugabyteDB clusters using the Yugabyte Platform console.
Prerequisites
You need to add the following cloud provider credentials via the Yugabyte Platform console:
- Subscription ID
- Tenant ID
- SSH port and user
- Application client ID and secret
- Resource group
Yugabyte Platform uses the credentials to automatically provision and deprovision YugabyteDB instances.
When the configuration is completed, you can see all the resources managed by Yugabyte Platform in your resource group, including virtual machines, network interface, network security groups, public IP addresses, and disks.
Configure Azure
You configure the Microsoft Azure cloud provider by completing the fields of the configuration page shown in the following illustration:
- Provider Name translates to an internal Yugabyte Platform tag used for organizing cloud providers.
- Subscription ID is required for cost management. The virtual machine resources managed by Yugabyte Platform are tagged with this subscription.
- Resource Group represents the group in which YugabyteDB nodes compute and network resources are created. Your Azure Active Directory application (client ID and client secret) needs to have
Network Contributor
andVirtual Machine Contributor
roles assigned for this resource group. - Tenant ID represents the Azure Active Directory tenant ID which belongs to an active subscription. To find your tenant ID, follow instructions provided in Microsoft Azure: Tenant and application ID values for signing in.
- SSH Port allows you to specify the connection port number if you use custom images. The default port is 54422.
- SSH User represents the user name for the SSH Port.
- Client ID represents the ID of an application registered in your Azure Active Directory.
- Client Secret represents the secret of an application registered in your Azure Active Directory.
- Private DNS zone lets you use a custom domain name for the nodes in your universe. For details and instructions, see How to define a private DNS zone.
- Virtual Network Setup allows you to customize your network, including the virtual network.
How to obtain Azure resource IDs
To find an Azure resource's ID, navigate to the resource in question and click JSON View at the top right, as per the following illustration:
Azure resource IDs typically have the following format:
/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>/providers/Microsoft.<service>/path/to/resource
How to define a private DNS zone
You may choose to define a private DNS zone to instruct Yugabyte Platform to register the universe name to all of the IP addresses in the universe within that DNS zone. For more information, see What is a private Azure DNS zone.
You can set a private DNS zone as follows:
-
On the Azure portal, create the Private DNS Zone, as per the following illustration:
-
Navigate to the resource page and click Settings > Virtual Network Links, as per the following illustration:
-
Add a link to the virtual network to which you want it to be connected. For more information, see Create an Azure private DNS zone using the Azure portal.
-
To use the private DNS zone in Yugabyte Platform, add either the resource ID or the name of the DNS zone to the Private DNS Zone field of the Cloud Provider Configuration page in the Yugabyte Platform UI.
If the private DNS zone is defined by an ID, Yugabyte Platform will use it together with the default subscription ID and the resource group. If the private DNS zone is defined by a full URL that contains both the subscription ID and resource group, then these two values will be used instead of default values.
In the setup example shown in the following illustration, the private DNS zone is specified as dns.example.com
, and the resource group is explicitly specified as myRG
:
In the following setup example, a complete resource ID is specified for the private DNS zone:
/subscriptions/SUBSCRIPTION_ID/resourceGroups/different-rg/providers/Microsoft.Network/privateDnsZones/dns.example.com
The preceding setting specifies the resource group as different-rg
and the DNS zone as dns.example.com
. The different-rg
resource group in the resource ID overrides the setting in the Resource Group field, as shown in the following illustration:
Specify region
You can specify a region as follows:
-
Click Add Region.
-
Use the Specify Region Info dialog to select a region and provide a virtual network name from your Azure portal.
-
Optionally, specify the security group, if the database VM is in a different network than the platform.
-
Provide a URN to a marketplace image or a shared gallery image by following instructions provided in How to use a shared image gallery. If you are using custom images, you need to specify the SSH port and user, as described in Configure Azure.
-
Provide a mapping of subnet IDs to use for each availability zone you wish to deploy. This is required for ensuring that Yugabyte Platform can deploy nodes in the correct network isolation that you need in your environment.
-
Click Add Region on the Specify Region Info dialog.
-
Click Save on the Cloud Provider Configuration page.
Typically, it takes a few minutes for the cloud provider to be configured. When the configuration completes, you will be ready to create a YugabyteDB universe on Azure.
How to use a shared image gallery
You can use shared image galleries as an alternative to using marketplace image URNs. A gallery allows you to provide your own custom image to use for creating universe instances. For more information on shared image galleries, refer to Store and share images in an Azure Compute Gallery.
You set up a shared gallery image on Azure as follows:
-
On the Azure portal, create a shared image gallery.
-
Create an image definition.
-
Create a VM of which you want to take a snapshot.
-
Navigate to the VM and click Capture on the top menu.
-
Fill in the information and then choose the gallery and image definition you created in the previous steps, as per the following illustration:
Ensure that the images are replicated to each region in which you are planning to use them. For example, configuration shown in the following illustration would only work for US East: -
To use the image in Yugabyte Platform, enter the image version's resource ID into the Marketplace Image URN / Shared Gallery Image ID field of the Specify Region Info dialog.
The gallery image ID could be defined by a full URL containing a subscription ID, a resource group name, and the resource name itself. If the subscription ID or the resource group is different from the default values, Yugabyte Platform will use them instead.