Terraform resource: google compute instance
Jump to navigation
Jump to search
Examples[edit]
resource "google_compute_instance" "ubuntu_instance" {
name = "ubuntu-instance"
machine_type = "e2-micro" #Included in always free tier service
zone = "us-west1-a"
boot_disk {
initialize_params {
image = "ubuntu-os-cloud/ubuntu-2204-lts"
}
}
network_interface {
network = "default"
access_config {
// Ephemeral public IP
}
}
}
Official example[edit]
resource "google_service_account" "default" { account_id = "my-custom-sa" display_name = "Custom SA for VM Instance" } resource "google_compute_instance" "default" { name = "my-instance" machine_type = "n2-standard-2" zone = "us-central1-a" tags = ["foo", "bar"] boot_disk { initialize_params { image = "debian-cloud/debian-11" labels = { my_label = "value" } } } // Local SSD disk scratch_disk { interface = "NVME" } network_interface { network = "default" access_config { // Ephemeral public IP } } metadata = { foo = "bar" } metadata_startup_script = "echo hi > /test.txt" service_account { # Google recommends custom service accounts that have cloud-platform scope and permissions granted via IAM Roles. email = google_service_account.default.email scopes = ["cloud-platform"] } }
Related[edit]
- lifecycle
terraform-google-modules/vm/google- compute_instance GCP submodule
- gcloud compute instances (CLI)
See also[edit]
- Terraform resource:
google_compute_instance, compute.googleapis.com, google_project_service,google_compute_disk_resource_policy_attachment, GCP machine families:e2-micro,shielded_instance_config - Terraform VM,
google_compute_instance, aws_instance, azurerm_virtual_machine google_service_account, google_service_account_iam_member
Advertising: