- Pure Cloud Block Store on Azure - Quick Launch
Pure Cloud Block Store on Azure - Quick Launch
In previous posts I have covered use cases on how to utilize Pure Cloud Block Store (CBS), but if we look back I haven’t explained how it can be deployed. This blog will cover how to quickly launch the pre-requisites and get your Pure Cloud Block Store deployed in Azure.
Introduction
If you are not familiar with the Pure Cloud Block Store, it is a purpose built block storage system that currently sits in Azure and AWS. There are many benefits and use cases you can find out here. While we do have an Azure ARM Template that deploys all the components of Pure Cloud Block Store, the underlying pre-requisites still have to be deployed prior.
Changelog
Date | Change |
---|---|
9/2/21 | Removed Duplicate Network Security Group Creation. GitHub PR |
Video Demonstration
What is the Pure Cloud Block Store on Azure Quick Launch?
The Azure Quick Launch is a HashiCorp Terraform Manifest I created that deploys a base configuration of resources within Microsoft Azure that need to exist before we can deploy Pure Cloud Block Store. To understand the pre-requisites we should review the Cloud Block Store Deployment and Configuration Guide for Azure. This guide covers all the prequisites needed. Many customers either have existing Virtual Networks, Security Groups or Subnets defined. However, many customers who POC or Deploy CBS want to setup new resources for this. The Quick Launch will automatically setup the required resources using Terraform and deploy CBS into the subscription.
The required resources that the Azure Quick Launch will create are the following:
- New Azure Key Vault
- New VNET Peering Between TF and CBS Subnet
- Azure Resource Group
- Azure Virtual Network
- Azure Subnets for System, Management, Replication and iSCSI
- Azure Network Security Groups with required Inbound and Outbound ports
- Azure NAT Gateway and Public IP
- Azure Linux VM that can be used for troubleshooting or testing connecitivty to CBS
- Deploy CBS using the above created resources
Get the Pure Cloud Block Store on Azure Quick Launch
As of version 0.6.0 the cbs_array_azure resource has additional components and requirements. The updated requirements are that now when deploying with terraform, the machine running apply must have access to the management subnet of Cloud Block Store. The Quick Launch will now setup VNET Peering so this connectivity is in place as long as your TF machine is also in Azure. Azure Key Vault is also used now to securely store credentials for pureuser so that automatic decommision and future credential management can be handled. Additional information on these changes is available in the documentation.
All the required Terraform files are located on GitHub.
To deploy you will also need a Pure Cloud Block Store license. This can be purchased directly through the Azure Marketplace or through Pure Storage as a PaaS subscription. A license can also be generated by your Pure Storage account team for a free trial or POC.
1git clone https://github.com/PureStorage-OpenConnect/cbs-quicklaunch.git
Deploy the Pure Cloud Block Store on Azure Quick Launch
The Azure Quick Launch has been easily variablized and made dynamic so only minor information is needed for a full end to end deployment.
Azure Variables
Variable | Description |
---|---|
azure_resourcegroup | Prefix to be used for all resources |
azure_location | Azure Region to Deploy to |
azure_client_id | Required for Authentication if not using az login |
azure_client_secret | Required for Authentication if not using az login |
azure_subscription_id | Required for Authentication if not using az login |
azure_tenant_id | Required for Authentication if not using az login |
azure_network_interface_ip_allocation | Dynamic or Static |
azure_vm_size | Instance Size for Test VM |
azure_vm_username | Username for Test VM |
azure_vm_password | Password for Test VM |
New azure_virtualnetwork_peer_name | VNET Name to Peer CBS VNET with |
New azure_virtualnetwork_peer_rg | Resource Group the VNET Peer VNET is in |
Cloud Block Store Variables
Variable | Description |
---|---|
license_key | Pure Cloud Block Store License Key |
log_sender_domain | Domain to be used for CBS |
alert_recipients | Email Address to be used for CBS Alerts |
array_model | CBS Model (V10MUR1 or V20MUR1) |
zone | Zone in Region to deploy (1,2 or 3) |
groups | Azure AD Group for JIT Approval |
plan_name | The CBS Marketplace Plan Name |
New plan_product | The CBS Marketplace Plan Product |
New plan_publisher | The CBS Marketplace Plan Publisher |
New plan_version | The CBS Marketplace Plan Version |
New key_file_path | Private Key File Path for pureuser |
Once you do your terraform init, terraform plan and terraform apply in ~15 minutes all your resources including CBS will be fully deployed!
Destroy the Pure Cloud Block Store on Azure Quick Launch
Updated Destroy Steps for CBS on Azure as of Terraform Provider Version 0.6.0!
The CBS provider 0.6.0 now includes updates that allow for automatic decommission of CBS when the destroy operation is issued. This means if deploying and destroying with Terraform no manual/additional steps are needed.
You can review the latest Terraform Provider documentation which covers the updated requirements.
What’s Next?
This blog covered how to automate the deployment of CBS in Azure. Now take a look and see what else you can do with Pure Cloud Block Store. Will you run Production? Will you do Test/Dev? Will you do DR? It’s up to you. I have already discussed how you can cover some of these use cases so try them out and let us know what you think!
Conclusion
I love the idea of bringing enterprise storage features to the public cloud. This ease of deployment makes it even easier to consume Pure Cloud Block Store in Azure.
If you have any additional questions or comments, please leave them below!
comments powered by DisqusSee Also
- Using the Pure Storage Cloud Block Store Terraform Provider for Azure
- Cloud Block Store Use Cases for Microsoft Azure - Terraform Edition
- Deploying a Windows Azure VM with Hashicorp Terraform to Microsoft Azure
- Using the Pure Storage Cloud Block Store Terraform Provider for AWS
- Deploying a Linux EC2 Instance with Hashicorp Terraform and Vault to AWS and Connect to Pure Cloud Block Store