VM única

Arquitetura

A pilha de VM única cria uma VM individual com um padrão inteligente, mas também a capacidade de personalizar a máquina virtual. Ele usa:

  • Computação: VMs: Compute Engine

O exemplo configura uma única máquina virtual simples e permite que você faça login nela por SSH.


Primeiros passos

Clique no link a seguir para copiar o código-fonte no Cloud Shell. Uma vez lá, um único comando criará uma cópia de trabalho do aplicativo em seu projeto...

Abrir no Cloud Shell

Veja o código-fonte no GitHub


Componentes de VM única

A arquitetura de VM única usa um produto-chave. Os itens a seguir destacam esse produto, além de mais informações, incluindo links para vídeos relacionados, documentação de produto e recursos tutoriais.
Vídeo Documentos Instruções
Compute Engine O Compute Engine é a tecnologia virtual do Google Cloud. Com ele, você pode criar várias configurações diferentes de VM para atender às necessidades de computação.

Scripts

O script de instalação usa um executável escrito em go e ferramentas da CLI do Terraform para instalar um aplicativo em um projeto vazio. A saída deve ser aplicativo em funcionamento e um URL para o endereço IP de balanceamento de carga.

./main.tf

Ativar serviços

Os serviços do Google Cloud ficam desativados por padrão em um projeto. Para usar qualquer uma das soluções aqui, precisamos ativar o seguinte:

  • Compute Engine: máquinas virtuais e redes
variable "gcp_service_list" {
    description = "The list of apis necessary for the project"
    type        = list(string)
    default = [
        "compute.googleapis.com",
    ]
}

resource "google_project_service" "all" {
  for_each                   = toset(var.gcp_service_list)
  project                    = var.project_number
  service                    = each.key
  disable_dependent_services = false
  disable_on_destroy         = false
}

Criar uma máquina virtual

Cria uma VM.

resource "google_compute_instance" "instance" {
    name         = var.instance-name
    machine_type = var.instance-machine-type
    zone         = var.zone
    project      = var.project_id
    tags         = var.instance-tags


    boot_disk {
        auto_delete = true
        device_name = var.instance-name
        initialize_params {
        image = var.instance-image
        size  = var.instance-disksize
        type  = var.instance-disktype
        }
    }

    network_interface {
        network = "default"
        access_config {
        // Ephemeral public IP
        }
    }

    depends_on = [google_project_service.all]
    }

Conclusão

Depois da execução, você terá uma única VM. Você pode se conectar a ela por SSH e configurar como quiser. Além disso, você deve ter todo o código para modificar ou estenda essa solução para se adaptar ao seu ambiente.