מכונה וירטואלית יחידה

ארכיטקטורה

מערך של מכונה וירטואלית אחת יוצר מכונה וירטואלית יחידה עם הגדרת ברירת מחדל חכמה, אבל גם עם אפשרות להתאמה אישית של המכונה הווירטואלית. הוא משתמש ב:

  • מחשוב – מכונות וירטואליות – Compute Engine

בדוגמה הזו מוגדרת מכונה וירטואלית פשוטה אחת, והיא מאפשרת לכם להתחבר אליה באמצעות SSH.


שנתחיל?

כדי להעתיק את קוד המקור ב-Cloud Shell, לוחצים על הקישור הבא. אחרי שמגיעים לשם, פקודה אחת תתחיל הרצה של עותק עובד של האפליקציה בפרויקט.

Cloud Shell-פתיחה ב

צפייה בקוד המקור ב-GitHub


רכיבים של מכונה וירטואלית יחידה

ארכיטקטורת מכונה וירטואלית יחידה משתמשת במוצר מפתח אחד. המוצר הזה מודגש, ומוצג עליו מידע נוסף, כולל קישורים לסרטונים קשורים, למסמכי מוצר ולמדריכים אינטראקטיביים.
וידאו Docs הדרכות מפורטות
Compute Engine ‫Compute Engine היא טכנולוגיה וירטואלית של Google Cloud. בעזרת התכונה הזו תוכלו להגדיר הרבה מכונות וירטואליות שונות בהתאם לצרכים שלכם.

סקריפטים

סקריפט ההתקנה משתמש בקובץ הפעלה שנכתב ב-go ובכלים של Terraform CLI כדי לקחת פרויקט ריק ולהתקין בו את האפליקציה. הפלט צריך להיות אפליקציה פעילה וכתובת URL לכתובת ה-IP של איזון העומסים.

./main.tf

הפעלת שירותים

שירותי Google Cloud מושבתים בפרויקט כברירת מחדל. כדי להשתמש באחד מהפתרונות שמופיעים כאן, צריך להפעיל את האפשרויות הבאות:

  • Compute Engine – מכונות וירטואליות ורשתות
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
}

יצירת מכונה וירטואלית

יוצר מכונה וירטואלית.

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]
    }

סיכום

אחרי ההפעלה, אמורה להיות לכם מכונה וירטואלית אחת. אפשר להתחבר אליו באמצעות SSH ולהגדיר אותו איך שרוצים. בנוסף, צריך שיהיה לכם את כל הקוד לשינוי או להרחבה של הפתרון הזה כך שיתאים לסביבה שלכם.