Microsoft Azure Virtual Machines

With the availability of virtual machines with Linux-based operating systems, you can now use Microsoft Azure to host Elastic Cloud Enterprise.

The following instructions are for Ubuntu 14.04 LTS virtual machines, but you can use any of the supported operating systems so long as the prerequisites are met.


You must run these commands from the Azure CLI, version 2.0 or later. You can download and run Azure CLI locally, or you can use the Cloud Shell >_ button to open it in the Azure portal. Alternatively, you can use the Azure portal UI to create your virtual machines.

Set Up Azure Resource Group and Networking

If you don’t have an existing resource group, you’ll need to make some and configure the security settings to allow them to connect appropriately.

  1. Create a resource group:

    az group create --name <resourcename> --location <region>
  2. Create your network security group:

    az network nsg create --resource-group <resourcename> --name <securityname> --location <region>
  3. Add several rules for inbound and outbound network traffic.

    These rules make sure that the Cloud UI can be accessed, talk to each other, and that they can reach the internet. You might need to create several rules to enable the full list of ports and their uses.

    The following commands add port 22 to be able to connect over SSH for installation and troubleshooting, port 12443 for HTTPS, port 9243 to access your Elasticsearch clusters and Kibana instances, and port 12400 to access the Cloud UI:

    az network nsg rule create --resource-group <resourcename> --nsg-name <securityname> --name ssh --access Allow --protocol Tcp --direction Inbound --priority 100 --source-address-prefix Internet --source-port-range "*" --destination-address-prefix "*" --destination-port-range 22
    az network nsg rule create --resource-group <resourcename> --nsg-name <securityname> --name https --access Allow --protocol Tcp --direction Inbound --priority 200 --source-address-prefix Internet --source-port-range "*" --destination-address-prefix "*" --destination-port-range 12443
    az network nsg rule create --resource-group <resourcename> --nsg-name <securityname> --name ece-frontend --access Allow --protocol Tcp --direction Inbound --priority 300 --source-address-prefix Internet --source-port-range "*" --destination-address-prefix "*" --destination-port-range 9243
    az network nsg rule create --resource-group <resourcename> --nsg-name <securityname> --name admin-ui --access Allow --protocol Tcp --direction Inbound --priority 400 --source-address-prefix Internet --source-port-range "*" --destination-address-prefix "*" --destination-port-range 12400
  4. Create a virtual network:

    az network vnet create --resource-group <resourcename> --name <vnetname> --address-prefix --subnet-name <default>
  5. Associate the virtual network subnet with your network security group.

    az network vnet subnet update --resource-group <resourcename> --vnet-name <vnetname> --name default --network-security-group <securityname>

Create Your Hosts

These steps guide you through creating three Ubuntu 14.04 LTS virtual machines on the Standard DS11 V2 instance types with 16 GB RAM.

  1. Create your first virtual machine. This is the first machine that you install Elastic Cloud Enterprise on and it includes a 128 GB attached data disk. This command sets a status public IP address and generates your SSH keys.

    az vm create --resource-group <resourcename> --name ece-node-01 --image Canonical:UbuntuServer:14.04.4-LTS:latest --size Standard_D11_v2 --data-disk-sizes-gb 128 --public-ip-address-allocation static --vnet-name <vnetname> --subnet default --nsg <securityname> --generate-ssh-keys

    If you are using machines without permanent storage, back up your keys to a safe location.

  2. Create two more virtual machines with unique node names.
  3. Complete the other environment preparations for each virtual machine.

Next steps: When your Microsoft Azure virtual machines are up and running, you can connect to them and install Elastic Cloud Enterprise for simple installs or review the playbook for production.