VM unique

Architecture

La pile de VM unique crée une VM individuelle avec une valeur par défaut intelligente, mais aussi la possibilité de la personnaliser. Elle utilise :

  • Calcul - VM - Compute Engine

L'exemple configure une seule machine virtuelle simple et vous permet de vous y connecter en SSH.


Premiers pas

Cliquez sur le lien suivant pour obtenir une copie du code source dans Cloud Shell. Une seule commande permet de démarrer une copie fonctionnelle de l'application dans votre projet.

Ouvrir dans Cloud Shell

Afficher le code source sur GitHub


Composants de VM unique

L'architecture à VM unique utilise un produit clé. Le produit est mis en avant, avec des informations supplémentaires, y compris des liens vers des vidéos, des documentations sur le produit et des tutoriels interactifs associés.
Vidéo Docs Tutoriels
Compute Engine Compute Engine est la technologie virtuelle de Google Cloud. Vous pouvez ainsi créer de nombreuses configurations de VM différentes pour répondre à vos besoins de calcul.

Scripts

Le script d'installation utilise un exécutable écrit dans go et les outils de la CLI Terraform pour prendre un projet vide et y installer l'application. La sortie doit être une application fonctionnelle et une URL pour l'adresse IP d'équilibrage de charge.

./main.tf

Activer les services

Les services Google Cloud sont désactivés par défaut dans un projet. Pour utiliser l'une des solutions ci-dessous, nous devons activer les éléments suivants :

  • Compute Engine : machines virtuelles et mise en réseau
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
}

Créer une machine virtuelle

Crée une 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]
    }

Conclusion

Une fois l'exécution terminée, vous devriez avoir une seule VM. Vous pouvez vous y connecter via SSH et le configurer comme vous le souhaitez. De plus, vous devez disposer de tout le code nécessaire pour modifier ou étendre cette solution en fonction de votre environnement.