Prerequisites

Create a resource group for your YugabyteDB deployment

  1. Log in to your Azure portal.
  2. Click Resource groups from the menu of services to access the Resource Groups blade. You will see all the resource groups in your subscription listed in tblade.
  3. Click Add (+) to create a new resource group. The Create Resource Group blade appears.
  4. Provide the needed information for the new resource group.
  5. Click Create. The resource group might take a few seconds to create. Once it is created, you see the resource group on the Azure portal dashboard.

Create an SSH key to get access to deployed YugabyteDB VMs

  1. Open the terminal on your local computer.

  2. Run the following command:

    $ ssh-keygen
    

    The utility prompts you to select a location for the keys. By default, the keys are stored in the ~/.ssh directory with the file names id_rsa for the private key and id_rsa.pub for the public key. Using the default locations allows your SSH client to automatically find your SSH keys when authenticating.

  3. Press ENTER to accept.

    Generating a public/private RSA key pair.
    Enter file in which to save the key (/home/username/.ssh/id_rsa):
    
  4. After you select a location for the key, you are prompted to enter an optional passphrase which encrypts the private key file on disk.

    Created directory '/home/username/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    

You now have a public and private key that you can use to authenticate YugabyteDB VMs.

Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
a9:49:EX:AM:PL:E3:3e:a9:de:4e:77:11:58:b6:90:26 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|     ..o         |
|   E o= .        |
|    o. o         |
|        ..       |
|      ..S        |
|     o o.        |
|   =o.+.         |
|. =++..          |
|o=++.            |
+-----------------+

Deploy using Azure Cloud Shell

  1. Launch Azure Cloud Shell.

  2. Clone the following repository.

    $ git clone https://github.com/yugabyte/azure-resource-manager.git
    
  3. Change the current directory to the cloned GitHub repository directory

      $ cd azure-resource-manager
    
  4. Use the Azure CLI command to create deployments.

     $ az group deployment create --resource-group <Your-Azure-Resource-Group> --template-file yugabyte_deployment.json --parameters ClusterName='<Your-Cluster-Name>'  SshUser='<Your-SSH-USER>' YBVersion='2.0.6.0' SshKeypair='<Your-SSH-USER-PublicKey-File-Contents>'
    
  5. After the deployment creation is complete, you can describe it as shown below.

    $ az group deployment show -g <Your-Azure-Resource-Group> -n <Your-Deployment-Name> --query properties.outputs
    

    The output displays the YugabyteDB Admin URL, JDBC URL, YSQL, YCQL, and YEDIS connection string. You can use the YugabyteDB Admin URL to access the Admin portal.

Deploy using Azure Portal

  1. Clone the following repository locally.

    $ git clone https://github.com/yugabyte/azure-resource-manager.git
    
  2. Create a resource group. To create a new resource group, select Resource groups from the Azure portal.

  3. Under newly created Resource groups, select Add.

  4. In opened marketplace, search for Template deployment (deploy using custom templates) and click Create.

  5. Click Build your own template in the editor.

  6. Click Load file in the Specify template section and upload the yugabyte_deployment.json file from the cloned repository.

  7. Click Save at the bottom of the window.

  8. Provide the required details.

  9. Check the Terms and Condition checkbox and click Purchase.

Once deployments are completed, you can access the YugabyteDB Admin from the URL you get in the deployment output section.