include compute resources and network dependencies

This commit is contained in:
Dennis Eikelenboom 2021-09-20 15:41:46 -07:00
parent ae58331e4e
commit 2713f07c82
4 changed files with 50 additions and 0 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@ quickstart/101-machine-learning/.terraform.lock.hcl
quickstart/101-machine-learning/.terraform/providers/registry.terraform.io/hashicorp/azurerm/2.76.0/windows_amd64/terraform-provider-azurerm_v2.76.0_x5.exe quickstart/101-machine-learning/.terraform/providers/registry.terraform.io/hashicorp/azurerm/2.76.0/windows_amd64/terraform-provider-azurerm_v2.76.0_x5.exe
quickstart/101-machine-learning/terraform.tfstate quickstart/101-machine-learning/terraform.tfstate
quickstart/101-machine-learning/demo.tfplan quickstart/101-machine-learning/demo.tfplan
quickstart/201-machine-learning-moderately-secure/demo.tfplan

View File

@ -0,0 +1,37 @@
# Generate random string for unique compute instance name
resource "random_string" "ci_prefix" {
length = 8
upper = false
special = false
number = false
}
# Compute instance
resource "azurerm_machine_learning_compute_instance" "compute_instance" {
name = "${random_string.ci_prefix.result}instance"
location = azurerm_resource_group.default.location
machine_learning_workspace_id = azurerm_machine_learning_workspace.default.id
virtual_machine_size = "STANDARD_DS2_V2"
subnet_resource_id = azurerm_subnet.snet-training.id
}
# Compute cluster
resource "azurerm_machine_learning_compute_cluster" "compute" {
name = "cpu-cluster"
location = azurerm_resource_group.default.location
machine_learning_workspace_id = azurerm_machine_learning_workspace.default.id
vm_priority = "Dedicated"
vm_size = "STANDARD_DS2_V2"
subnet_resource_id = azurerm_subnet.snet-training.id
identity {
type = "SystemAssigned"
}
scale_settings {
min_node_count = 0
max_node_count = 3
scale_down_nodes_after_idle_duration = "PT15M" # 15 minutes
}
}

View File

@ -82,6 +82,11 @@ resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkcr" {
resource "azurerm_private_dns_zone" "dnsazureml" { resource "azurerm_private_dns_zone" "dnsazureml" {
name = "privatelink.api.azureml.ms" name = "privatelink.api.azureml.ms"
resource_group_name = azurerm_resource_group.default.name resource_group_name = azurerm_resource_group.default.name
depends_on = [
azurerm_machine_learning_compute_cluster.compute,
azurerm_machine_learning_compute_instance.compute_instance
]
} }
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkml" { resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkml" {
@ -94,6 +99,11 @@ resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinkml" {
resource "azurerm_private_dns_zone" "dnsnotebooks" { resource "azurerm_private_dns_zone" "dnsnotebooks" {
name = "privatelink.notebooks.azure.net" name = "privatelink.notebooks.azure.net"
resource_group_name = azurerm_resource_group.default.name resource_group_name = azurerm_resource_group.default.name
depends_on = [
azurerm_machine_learning_compute_cluster.compute,
azurerm_machine_learning_compute_instance.compute_instance
]
} }
resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinknbs" { resource "azurerm_private_dns_zone_virtual_network_link" "vnetlinknbs" {

View File

@ -43,6 +43,8 @@ This configuration describes the minimal set of resources you require to get sta
## Usage ## Usage
```bash ```bash
terraform init
terraform plan -var name=azureml567 -out demo.tfplan terraform plan -var name=azureml567 -out demo.tfplan
terraform apply "demo.tfplan" terraform apply "demo.tfplan"