Перейти к содержимому

Виртуальная машина

C помощью Terraform вы можете создавать виртуальные машины (ВМ) любой конфигурации.

Чтобы создать ВМ, добавьте в конфигурацию следующий блок кода:

hcl
data "mws_compute_image" "image" {
image = "mws-ubuntu-2204-lts-v20250529"
project = "mws-ubuntu"
}
resource "mws_compute_disk" "disk" {
disk = "<имя диска>""
disk_type = "diskTypes/nbs-pl2"
iops = 1000
size = "10GB"
source = {
image = data.mws_compute_image.image.metadata.id
}
}
resource "mws_compute_disk" "data_disk" {
disk = "<имя диска>"
disk_type = "diskTypes/nbs-pl2"
iops = 1000
size = "20GB"
}
resource "mws_compute_virtual_machine" "vm" {
virtual_machine = var.vm_name
vm_type = "vmTypes/gen-2-8"
metadata = {
attributes = {
user-data = <атрибуты пользовательских метаданных>
}
}
hardware = {
power = "ON"
graceful_shutdown_timeout = "1m 30s"
}
storage = {
disks = [
{
name = "boot"
boot = true
disk = {
ref = mws_compute_disk.disk.metadata.id
}
},
{
name = "data"
boot = false
disk = {
ref = mws_compute_disk.data_disk.metadata.id
}
}
]
}
network = {
network_interfaces = [
{
name = "<имя ВМ>-network-interface-primary"
primary = true
addresses = [
{
address = {
ref = mws_vpc_address.vm_primary_network_interface_address.metadata.id
}
}
]
}
]
}
}

Здесь:

  • основные параметры (секция vm):

    • virtual_machine — уникальное имя ВМ;
    • vm_typeтип ВМ;
  • метаданные ВМ (секция metadata):

  • аппаратные характеристики ВМ (секция hardware)

    • power — указывает, нужно ли включить ВМ после создания (ON — включить, OFF — не включать);
    • graceful_shutdown_timeout — время для безопасного завершения работы (graceful shutdown);
  • диски(секция disks):

    • name — отображаемое имя диска;
    • boot — указывает, является ли диск загрузочным (true — является, false — не является);
    • disk — ссылка на диск.
  • сеть (секция network_interfaces):

    • name — отображаемое имя сетевого интерфейса;
    • primary — указывает, является ли сетевой интерфейс основным (true — является, false — не является);
    • address — ссылка на внутренний IP-адрес сетевого интерфейса.