This repo shows an example for rolling out a complete Azure Machine Learning and Azure Synapse Analytics (optional) enterprise environment via Terraform.
[TBC add diagram]
This includes rollout of the following resources:
- Azure Synapse Analytics Workspace with Private Endpoints
- Azure Synapse Analytics Private Link Hub with Private Endpoint
- Azure Storage Account with Private Endpoints for
blob
anddfs
- Azure Machine Learning Workspace with Private Endpoint
- Azure Key Vault with Private Endpoint
- Azure Container Registry with Private Endpoint
- Application Insights
- Virtual Network
- Jumphost (Windows) with Bastion for easy access to the VNet
Make sure you have the Azure CLI and Terraform installed.
- Copy
terraform.tfvars.example
toterraform.tfvars
- Update
terraform.tfvars
with your desired values - Run Terraform
$ terraform init $ terraform plan $ terraform apply
See notes below for additional info:
- A Synapse workspace is deployed by default, change
enable_syn_ws
value if you wanna disable it. - A public IP is added to Azure Storage Account and Azure Synapse Analytics firewall rules to enable the deployment. That rule could be removed once the deployment is finished, only limiting jumphost access.
- Change
enable_syn_sqlpool
andenable_syn_sparkpool
values if you wanna deploy any of those pools. - Change
enable_aml_computeinstance
value if you wanna deploy a compute instance. - The deployment was tested on wsl (ubuntu).