66 lines
2.0 KiB
Terraform
66 lines
2.0 KiB
Terraform
resource "azurerm_network_interface" "nic" {
|
|
name = "vnic"
|
|
location = var.location
|
|
resource_group_name = var.resource_group_name
|
|
|
|
ip_configuration {
|
|
name = "internal"
|
|
subnet_id = var.subnet_id
|
|
private_ip_address_allocation = "Dynamic"
|
|
public_ip_address_id = azurerm_public_ip.vm_public.id
|
|
}
|
|
}
|
|
|
|
resource "azurerm_network_interface_security_group_association" "example" {
|
|
network_interface_id = azurerm_network_interface.nic.id
|
|
network_security_group_id = azurerm_network_security_group.vm_nsg.id
|
|
}
|
|
|
|
resource "azurerm_public_ip" "vm_public" {
|
|
name = "example-pip"
|
|
location = var.location
|
|
resource_group_name = var.resource_group_name
|
|
allocation_method = "Static"
|
|
}
|
|
|
|
resource "azurerm_network_security_group" "vm_nsg" {
|
|
name = "vm-nsg"
|
|
resource_group_name = var.resource_group_name
|
|
location = var.location
|
|
|
|
security_rule {
|
|
name = "SSH"
|
|
priority = 1001
|
|
direction = "Inbound"
|
|
access = "Allow"
|
|
protocol = "Tcp"
|
|
source_port_range = "*"
|
|
destination_port_range = "22"
|
|
source_address_prefix = "81.78.69.107"
|
|
destination_address_prefix = "*"
|
|
}
|
|
}
|
|
|
|
resource "azurerm_linux_virtual_machine" "vm" {
|
|
name = "example-vm"
|
|
resource_group_name = var.resource_group_name
|
|
location = var.location
|
|
size = var.vm_size
|
|
admin_username = var.admin_username
|
|
network_interface_ids = [azurerm_network_interface.nic.id]
|
|
admin_ssh_key {
|
|
username = var.admin_username
|
|
public_key = var.ssh_public_key
|
|
}
|
|
os_disk {
|
|
caching = "ReadWrite"
|
|
storage_account_type = "Standard_LRS"
|
|
}
|
|
source_image_reference {
|
|
publisher = "Canonical"
|
|
offer = "0001-com-ubuntu-server-jammy"
|
|
sku = "22_04-lts-gen2"
|
|
version = "latest"
|
|
}
|
|
}
|