Skip to content

Commit 3cb80ce

Browse files
committed
update docs
1 parent 14b6c7c commit 3cb80ce

File tree

4 files changed

+178
-90
lines changed

4 files changed

+178
-90
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# Azure Machine Learning workspace
2+
3+
This deployment template specifies an [Azure Machine Learning workspace](https://docs.microsoft.com/en-us/azure/machine-learning/concept-workspace),
4+
and its associated resources including Azure Key Vault, Azure Storage, Azure Application Insights and Azure Container Registry.
5+
6+
This template describes the minimal set of resources you require to get started with Azure Machine Learning.
7+
8+
## Resources
9+
10+
| Terraform Resource Type | Description |
11+
| - | - |
12+
| `azurerm_resource_group` | The resource group all resources get deployed into |
13+
| `azurerm_application_insights` | An Azure Application Insights instance associated to the Azure Machine Learning workspace |
14+
| `azurerm_key_vault` | An Azure Key Vault instance associated to the Azure Machine Learning workspace |
15+
| `azurerm_storage_account` | An Azure Storage instance associated to the Azure Machine Learning workspace |
16+
| `azurerm_container_registry` | An Azure Container Registry instance associated to the Azure Machine Learning workspace |
17+
| `azurerm_machine_learning_workspace` | An Azure Machine Learning workspace instance |
18+
19+
## Variables
20+
21+
| Name | Description |
22+
|-|-|
23+
| name | Name of the deployment |
24+
| environment | The deployment environment name (used for pre- and postfixing resource names) |
25+
| location | The Azure region used for deployments |
26+
27+
## Usage
28+
29+
```bash
30+
terraform plan \
31+
-var 'name=azureml999' \
32+
-var 'environment=dev' \
33+
-var 'location=East US' \
34+
-out demo.tfplan
35+
36+
terraform apply demo.tfplan
37+
```
38+
39+
\* Example shown with [Bash](https://www.gnu.org/software/bash/). For [Powershell](https://docs.microsoft.com/en-us/powershell/) replace backslashes with backticks.

quickstart/201-machine-learning-private/main.tf

Lines changed: 0 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -9,93 +9,3 @@ resource "azurerm_resource_group" "default" {
99
name = "${var.name}-${var.environment}-rgp"
1010
location = "${var.location}"
1111
}
12-
13-
# Virtual network
14-
resource "azurerm_virtual_network" "default" {
15-
name = "${var.name}-${var.environment}-vnet"
16-
address_space = ["10.0.0.0/16"]
17-
location = azurerm_resource_group.default.location
18-
resource_group_name = azurerm_resource_group.default.name
19-
}
20-
21-
resource "azurerm_subnet" "mlsubnet" {
22-
name = "mlsubnet"
23-
resource_group_name = azurerm_resource_group.default.name
24-
virtual_network_name = azurerm_virtual_network.default.name
25-
address_prefixes = ["10.0.1.0/24"]
26-
enforce_private_link_endpoint_network_policies = true
27-
}
28-
29-
# DNS zones
30-
resource "azurerm_private_dns_zone" "dnsvault" {
31-
name = "privatelink.vaultcore.azure.net"
32-
resource_group_name = azurerm_resource_group.default.name
33-
}
34-
35-
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkvault" {
36-
name = "dnsvaultlink"
37-
resource_group_name = azurerm_resource_group.default.name
38-
private_dns_zone_name = azurerm_private_dns_zone.dnsvault.name
39-
virtual_network_id = azurerm_virtual_network.default.id
40-
}
41-
42-
resource "azurerm_private_dns_zone" "dnsstorageblob" {
43-
name = "privatelink.blob.core.windows.net"
44-
resource_group_name = azurerm_resource_group.default.name
45-
}
46-
47-
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkblob" {
48-
name = "dnsblobstoragelink"
49-
resource_group_name = azurerm_resource_group.default.name
50-
private_dns_zone_name = azurerm_private_dns_zone.dnsstorageblob.name
51-
virtual_network_id = azurerm_virtual_network.default.id
52-
}
53-
54-
55-
resource "azurerm_private_dns_zone" "dnsstoragefile" {
56-
name = "privatelink.file.core.windows.net"
57-
resource_group_name = azurerm_resource_group.default.name
58-
}
59-
60-
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkfile" {
61-
name = "dnsfilestoragelink"
62-
resource_group_name = azurerm_resource_group.default.name
63-
private_dns_zone_name = azurerm_private_dns_zone.dnsstoragefile.name
64-
virtual_network_id = azurerm_virtual_network.default.id
65-
}
66-
67-
resource "azurerm_private_dns_zone" "dnscontainerregistry" {
68-
name = "privatelink.azurecr.io"
69-
resource_group_name = azurerm_resource_group.default.name
70-
}
71-
72-
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkcr" {
73-
name = "dnscrlink"
74-
resource_group_name = azurerm_resource_group.default.name
75-
private_dns_zone_name = azurerm_private_dns_zone.dnscontainerregistry.name
76-
virtual_network_id = azurerm_virtual_network.default.id
77-
}
78-
79-
resource "azurerm_private_dns_zone" "dnsazureml" {
80-
name = "privatelink.api.azureml.ms"
81-
resource_group_name = azurerm_resource_group.default.name
82-
}
83-
84-
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkml" {
85-
name = "dnsazuremllink"
86-
resource_group_name = azurerm_resource_group.default.name
87-
private_dns_zone_name = azurerm_private_dns_zone.dnsazureml.name
88-
virtual_network_id = azurerm_virtual_network.default.id
89-
}
90-
91-
resource "azurerm_private_dns_zone" "dnsnotebooks" {
92-
name = "privatelink.azureml.notebooks.net"
93-
resource_group_name = azurerm_resource_group.default.name
94-
}
95-
96-
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinknbs" {
97-
name = "dnsnotebookslink"
98-
resource_group_name = azurerm_resource_group.default.name
99-
private_dns_zone_name = azurerm_private_dns_zone.dnsnotebooks.name
100-
virtual_network_id = azurerm_virtual_network.default.id
101-
}
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# Virtual Network resources
2+
resource "azurerm_virtual_network" "default" {
3+
name = "${var.name}-${var.environment}-vnet"
4+
address_space = ["10.0.0.0/16"]
5+
location = azurerm_resource_group.default.location
6+
resource_group_name = azurerm_resource_group.default.name
7+
}
8+
9+
resource "azurerm_subnet" "mlsubnet" {
10+
name = "mlsubnet"
11+
resource_group_name = azurerm_resource_group.default.name
12+
virtual_network_name = azurerm_virtual_network.default.name
13+
address_prefixes = ["10.0.1.0/24"]
14+
enforce_private_link_endpoint_network_policies = true
15+
}
16+
17+
# DNS zones
18+
resource "azurerm_private_dns_zone" "dnsvault" {
19+
name = "privatelink.vaultcore.azure.net"
20+
resource_group_name = azurerm_resource_group.default.name
21+
}
22+
23+
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkvault" {
24+
name = "dnsvaultlink"
25+
resource_group_name = azurerm_resource_group.default.name
26+
private_dns_zone_name = azurerm_private_dns_zone.dnsvault.name
27+
virtual_network_id = azurerm_virtual_network.default.id
28+
}
29+
30+
resource "azurerm_private_dns_zone" "dnsstorageblob" {
31+
name = "privatelink.blob.core.windows.net"
32+
resource_group_name = azurerm_resource_group.default.name
33+
}
34+
35+
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkblob" {
36+
name = "dnsblobstoragelink"
37+
resource_group_name = azurerm_resource_group.default.name
38+
private_dns_zone_name = azurerm_private_dns_zone.dnsstorageblob.name
39+
virtual_network_id = azurerm_virtual_network.default.id
40+
}
41+
42+
43+
resource "azurerm_private_dns_zone" "dnsstoragefile" {
44+
name = "privatelink.file.core.windows.net"
45+
resource_group_name = azurerm_resource_group.default.name
46+
}
47+
48+
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkfile" {
49+
name = "dnsfilestoragelink"
50+
resource_group_name = azurerm_resource_group.default.name
51+
private_dns_zone_name = azurerm_private_dns_zone.dnsstoragefile.name
52+
virtual_network_id = azurerm_virtual_network.default.id
53+
}
54+
55+
resource "azurerm_private_dns_zone" "dnscontainerregistry" {
56+
name = "privatelink.azurecr.io"
57+
resource_group_name = azurerm_resource_group.default.name
58+
}
59+
60+
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkcr" {
61+
name = "dnscrlink"
62+
resource_group_name = azurerm_resource_group.default.name
63+
private_dns_zone_name = azurerm_private_dns_zone.dnscontainerregistry.name
64+
virtual_network_id = azurerm_virtual_network.default.id
65+
}
66+
67+
resource "azurerm_private_dns_zone" "dnsazureml" {
68+
name = "privatelink.api.azureml.ms"
69+
resource_group_name = azurerm_resource_group.default.name
70+
}
71+
72+
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkml" {
73+
name = "dnsazuremllink"
74+
resource_group_name = azurerm_resource_group.default.name
75+
private_dns_zone_name = azurerm_private_dns_zone.dnsazureml.name
76+
virtual_network_id = azurerm_virtual_network.default.id
77+
}
78+
79+
resource "azurerm_private_dns_zone" "dnsnotebooks" {
80+
name = "privatelink.azureml.notebooks.net"
81+
resource_group_name = azurerm_resource_group.default.name
82+
}
83+
84+
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinknbs" {
85+
name = "dnsnotebookslink"
86+
resource_group_name = azurerm_resource_group.default.name
87+
private_dns_zone_name = azurerm_private_dns_zone.dnsnotebooks.name
88+
virtual_network_id = azurerm_virtual_network.default.id
89+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Azure Machine Learning workspace using Azure Private Link
2+
3+
This deployment template specifies an [Azure Machine Learning workspace](https://docs.microsoft.com/en-us/azure/machine-learning/concept-workspace),
4+
and its associated resources including Azure Key Vault, Azure Storage, Azure Application Insights and Azure Container Registry.
5+
6+
In addition to these core services, this template deploys any networking components that are required to set up Azure Machine Learning
7+
for private network connectivity using [Azure Private Link](https://docs.microsoft.com/en-us/azure/private-link/).
8+
9+
This template describes the minimal set of resources you require to get started with Azure Machine Learning in a network-isolated set-up.
10+
11+
To learn more about security configurations in Azure Machine Learning, see [Enterprise security and governance for Azure Machine Learning](https://docs.microsoft.com/en-us/azure/machine-learning/concept-enterprise-security).
12+
13+
## Resources
14+
15+
| Terraform Resource Type | Description |
16+
| - | - |
17+
| `azurerm_resource_group` | The resource group all resources get deployed into |
18+
| `azurerm_application_insights` | An Azure Application Insights instance associated to the Azure Machine Learning workspace |
19+
| `azurerm_key_vault` | An Azure Key Vault instance associated to the Azure Machine Learning workspace |
20+
| `azurerm_storage_account` | An Azure Storage instance associated to the Azure Machine Learning workspace |
21+
| `azurerm_container_registry` | An Azure Container Registry instance associated to the Azure Machine Learning workspace |
22+
| `azurerm_machine_learning_workspace` | An Azure Machine Learning workspace instance |
23+
| `azurerm_virtual_network` | An Azure Machine Learning workspace instance |
24+
| `azurerm_subnet` | An Azure Machine Learning workspace instance |
25+
| `azurerm_private_dns_zone` | Private DNS Zones for FQDNs required for Azure Machine Learning and associated resources |
26+
| `azurerm_private_dns_zone_virtual_network_link` | Virtual network links of the Private DNS Zones to the virtual network resource |
27+
| `azurerm_private_endpoint` | Private Endpoints for the Azure Machine Learning workspace and associated resources |
28+
29+
## Variables
30+
31+
| Name | Description |
32+
|-|-|
33+
| name | Name of the deployment |
34+
| environment | The deployment environment name (used for pre- and postfixing resource names) |
35+
| location | The Azure region used for deployments |
36+
37+
38+
## Usage
39+
40+
```bash
41+
terraform plan \
42+
-var 'name=azureml999' \
43+
-var 'environment=dev' \
44+
-var 'location=East US' \
45+
-out demo.tfplan
46+
47+
terraform apply demo.tfplan
48+
```
49+
50+
\* Example shown with [Bash](https://www.gnu.org/software/bash/). For [Powershell](https://docs.microsoft.com/en-us/powershell/) replace backslashes with backticks.

0 commit comments

Comments
 (0)