Deploying Infoblox in the Microsoft Azure cloud and need to use Availability Sets? One challenge that administrators face is that this option is not available when using the Microsoft Azure Marketplace; however, all is not lost.
By way of background, the Azure Marketplace uses a solutions template for setting the configuration when launching an Infoblox appliance. This template has restrictions which require that you either:
- Create a new Resource Group; or
- Select an existing Resource Group which is empty.
This step is necessary to prevent potential conflicts that could cause the deployment of your Infoblox appliance to fail. However, this step also prevents you from placing your Infoblox appliance in an Availability Set since this requires that VM’s in an Availability Set share the same Resource Group.
About Availability Sets
For environments that require a high-level of availability, Microsoft Azure provides a feature called Availability Sets. For the mission critical services that Infoblox provides, it is a best practice to use an Availability Set for any Infoblox appliances deployed within the same Resource Group as this ensures maximum availability of your servers.
In Availability Sets, you will find Update Domains and Fault Domains, with five (5) update domains by default (can be expanded to 20), and depending on the region, from one to three fault domains. As VM’s are added to an availability set, the first VM will be placed in update domain 1 and fault domain 1, the second VM will be placed in update domain 2 and fault domain 2, and so-on.
Update Domains: For planned maintenance activities where system availability may be impacted. Updates and restarts are applied in a manner that minimizes potential interruptions to systems in different update domains from occurring at the same time.
Fault Domains: Each fault domain can be considered a separate data center. VM’s in a single fault domain share common infrastructure, such as power and network resources. Distributing VM’s across multiple fault domains ensures that any interruptions due to a localized hardware issue will affect only the VM’s within the impacted fault domain.
Solution
While Availability Sets cannot be used when launching an Infoblox appliance through the Azure Marketplace, a custom Azure Resource Manager template can provide you with the level of control that you require to do this. These custom templates use JSON (JavaScript Object Notation), a human-readable format that is intended to be easy to understand and write.
Introduction to custom Azure Resource Manager Templates
Custom templates incorporate several elements, including:
- Schema
- Content Version
- Parameters
- Variables
- Functions
- Resources
- Outputs
The following demonstrates the basic structure of these elements in a template:
Note: JSON utilizes white space (indents) in the element structure. Sub-elements are identified with an extra indent and must remain consistent for each corresponding element. Incorrect use of indents is the most common cause of issues with JSON. Here is a simple example that demonstrates the proper structure:
Infoblox Parameters
The template is robust in that it can be used to program specifics unique to each environment where it is being used and apply variables that are being used as part of the launch process. When implementing a custom template, numerous parameters required for the launch configuration of an Infoblox appliance. This includes parameters that set the model type and NIOS version for the Infoblox appliance, define the network interfaces and network configuration the appliance will use, and other settings specific to the environment where the appliance is being deployed. The following table provides explanations for each of these, along with any requirements that a parameter may have.
Tying it all together
This benefits administrators by allowing them to fully customize and automate their Infoblox vNIOS for Azure deployments. So now for the exciting part- how does this all look? Well, these templates are quite lengthy and can’t be captured easily here in their entirety, but here is a short example that demonstrates how the beginning of the template may look:
And for what this blog is all about, here is a snippet that demonstrates how to specify an Availability Set in the custom template:
Be sure to check out the full example template attached to this blog. To make it easier to navigate through this example template, any values used here which should be replaced have been appended with “-123”. Before using this example template, be sure to replace those values and this will help ensure that your journey deploying Infoblox using Availability Sets in Azure is a success.
Infoblox Custom Template Parameters 12 KB
Infoblox Azure Template Availability Set Example 4 KB