מדריך: הגדרת דומיין באמצעות Cloud DNS


המדריך הזה מספק הוראות מפורטות לתהליך רישום הדומיין, להגדרת שרת אינטרנט לדוגמה ולהפניית כתובת ה-URL של הדומיין לשרת באמצעות Cloud DNS.

אם אתם משתמשים חדשים ב-Terraform ל- Google Cloud, כדאי לעיין במאמר תחילת העבודה עם Terraform.

מטרות

במדריך הזה תלמדו איך לבצע את הפעולות הבאות:

  • רישום שם דומיין באמצעות Cloud Domains
  • יצירת מכונה וירטואלית (VM) ב-Compute Engine
  • הפעלת שרת אינטרנט בסיסי של Apache
  • הגדרת הדומיין באמצעות Cloud DNS
  • עדכון שרתי השמות
  • אימות ההגדרה

עלויות

רישום שם דומיין כרוך בעלות. למידע על התמחור של Cloud Domains, ראו תמחור של Cloud Domains.

לפני שמתחילים

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. מפעילים את Compute Engine API.

    הפעלת ה-API

רישום שם דומיין

אם כבר יש לכם דומיין רשום, אתם יכולים לדלג על הקטע הזה.

אתם יכולים להשתמש ב-Cloud Domains כדי לרשום דומיין. ב-Cloud Domains אפשר להשתמש באותו חשבון לחיוב של הדומיין שיצרתם בקטע לפני שמתחילים. הוראות לרישום דומיין באמצעות Cloud Domains מפורטות במאמר רישום דומיין.

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

המסוף

כדי ליצור מכונה וירטואלית (VM) של Linux ב-Compute Engine:

  1. In the Google Cloud console, go to the Create an instance page.

    Go to Create an instance

  2. In the Boot disk section, click Change to begin configuring your boot disk.
  3. בכרטיסייה Public images בוחרים את הערך Debian GNU/Linux.
  4. לוחצים על Select.
  5. בקטע Firewall בוחרים את הערכים Allow HTTP traffic.
  6. כדי ליצור את המכונה הווירטואלית (VM), לוחצים על האפשרות Create.

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

התחברות למכונה

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.

    SSH button next to instance name.

עכשיו יש לכם חלון מסוף ליצירת אינטראקציה עם המכונה של Linux.

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

הפעלת שרת אינטרנט בסיסי של Apache

בקטע הזה תלמדו להפעיל ולבדוק שרת אינטרנט של Apache.

  1. בחלון ה-SSH, משתמשים במנהל החבילות של Debian כדי להתקין את החבילה apache2.

     sudo apt-get update && sudo apt-get install apache2 -y
     

    אחרי התקנת Apache, מערכת ההפעלה מפעילה את שרת Apache באופן אוטומטי.

  2. מחליפים את דף האינטרנט שמוגדר כברירת מחדל בשרת האינטרנט של Apache באמצעות הפקודה הבאה:

     echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" 
    | sudo tee /var/www/html/index.html

בדיקת השרת

בודקים שהמכונה מקבלת תנועה מכתובת ה-IP החיצונית שלה.

המסוף

  1. נכנסים לדף VM instances במסוף Google Cloud .

    לדף VM instances

  2. בעמודה External IP מעתיקים את כתובת ה-IP החיצונית של המכונה.
  3. בדפדפן, עוברים אל http://[EXTERNAL_IP]. אין להשתמש ב-https כדי להתחבר, כי השרת יחזיר שגיאה מסוג Connection Refused.

עכשיו אמור להופיע הדף Hello World!.

פרטים נוספים זמינים במאמר הפעלת שרת אינטרנט בסיסי של Apache.

הגדרת הדומיין באמצעות Cloud DNS

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

המסוף

  1. במסוף Google Cloud , עוברים לדף Create a DNS zone.

    כניסה לדף Create a DNS zone

  2. בשדה Zone type, בוחרים באפשרות Public.

  3. בשדה שם תחום, מזינים my-new-zone.

  4. בשדה שם ה-DNS, מזינים סיומת של שם DNS לתחום באמצעות שם דומיין שרשמתם (לדוגמה, example.com).

  5. עבור DNSSEC, מוודאים שההגדרה Off מסומנת.

  6. לוחצים על Create כדי ליצור תחום שמאוכלס ברשומות ה-NS ו-SOA.

  7. כדי להפנות את שם הדומיין הרשום לכתובת ה-IP של שרת האירוח, צריך להוסיף רשומת A לתחום:

    1. בדף Zone details, לוחצים על Add Standard.
    2. בתפריט Resource Record Type בוחרים באפשרות A.
    3. בשדה IPv4 Address, מזינים את כתובת ה-IP החיצונית של המכונה.
    4. לוחצים על Create כדי ליצור את רשומת ה-A של האזור.
  8. אופציונלי: מוסיפים רשומת CNAME כדי להביא בחשבון קידומת של שם הדומיין (לדוגמה, www.):

    1. לוחצים על הוספת תקן.
    2. בשדה DNS Name, מוסיפים את הקידומת www לדומיין.
    3. בשדה Resource Record Type, בוחרים באפשרות CNAME.
    4. בשדה שם קנוני, מזינים את שם הדומיין ואחריו נקודה (לדוגמה, example.com.).
    5. לוחצים על יצירה.

עדכון שרתי השמות

כדי לעדכן את שרתי השמות ב-Cloud Domains:

  1. נכנסים לדף Cloud Domains Google Cloud במסוף.

    כניסה אל Cloud Domains

  2. לוחצים על שם הדומיין שרוצים לערוך. אפשר גם ללחוץ על עוד לצד שם הדומיין כדי להציג את תפריט העריכה.

  3. כדי לערוך את פרטי ה-DNS, לוחצים על Edit DNS details.

  4. בוחרים באפשרות Use Cloud DNS (Recommended).

  5. ברשימה Cloud DNS zone בוחרים באפשרות my-new-zone.

  6. לוחצים על שמירה.

Terraform

אתם יכולים להשתמש ב משאבי Terraform כדי ליצור מכונה וירטואלית (VM), להפעיל שרת אינטרנט של Apache, להגדיר את הדומיין באמצעות Cloud DNS ולעדכן את שרתי השמות.

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

# to setup a web-server

resource "random_id" "rnd" {
  byte_length = 4
}

resource "google_compute_instance" "default" {
  name         = "dns-compute-instance"
  machine_type = "g1-small"
  zone         = "us-central1-b"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    network = "default"
    access_config {
      // Ephemeral public IP
    }
  }
  metadata_startup_script = <<-EOF
  sudo apt-get update && \
  sudo apt-get install apache2 -y && \
  echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" > /var/www/html/index.html
  EOF
}

# to allow http traffic
resource "google_compute_firewall" "default" {
  name    = "allow-http-traffic"
  network = "default"
  allow {
    ports    = ["80"]
    protocol = "tcp"
  }
  source_ranges = ["0.0.0.0/0"]
}

# to create a DNS zone
resource "google_dns_managed_zone" "default" {
  name          = "example-zone-googlecloudexample"
  dns_name      = "example-${random_id.rnd.hex}.com."
  description   = "Example DNS zone"
  force_destroy = "true"
}

# to register web-server's ip address in DNS
resource "google_dns_record_set" "default" {
  name         = google_dns_managed_zone.default.dns_name
  managed_zone = google_dns_managed_zone.default.name
  type         = "A"
  ttl          = 300
  rrdatas = [
    google_compute_instance.default.network_interface[0].access_config[0].nat_ip
  ]
}

אימות ההגדרה

כדי לוודא שההגדרה פועלת, אחרי העדכון של שרתי השמות, עוברים לשם הדומיין (לדוגמה, example.com). הדומיין אמור לפתור לכתובת ה-IP שלכם ולהפנות למכונה הווירטואלית של Compute Engine שבה מוצג הדף Hello World! שיצרתם במאמר הפעלת שרת אינטרנט בסיסי של Apache.

כדי לוודא שההגדרה נכונה, אפשר גם להריץ את הפקודה dig +trace example.com בחלון מסוף. מחליפים את example.com בשם הדומיין הרשום.

dig +trace example.com

בסוף הפלט אמור להופיע הטקסט הבא. IP_ADDRESS היא כתובת ה-IP של שרת האינטרנט.

example.com.    300 IN  A   IP_ADDRESS
;; Received 62 bytes from 216.239.34.109#53(ns-cloud-d2.googledomains.com) in 62 ms

כדי לוודא שהשינויים בוצעו, מריצים את הפקודה הבאה:

example.com IN NS <your Cloud DNS name servers>

אחרי שממתינים עד שההפצה של ה-DNS תושלם, אפשר גם להריץ את הפקודה nslookup כדי לאמת את ההגדרה:

nslookup example.com

הפלט אמור לכלול את הפרטים הבאים. IP_ADDRESS היא כתובת ה-IP של שרת האינטרנט.

Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   example.com
Address: IP_ADDRESS

הסרת המשאבים

המסוף

  1. נכנסים לדף Cloud DNS zones במסוף Google Cloud .

    כניסה לדפים של תחומים ב-Cloud DNS

  2. לוחצים על שם תחום (לדוגמה, my-new-zone) כדי לעבור לדף פרטי תחום.

  3. בוחרים את רשומות ה-A ו-CNAME שיצרתם.

  4. לוחצים על מחיקת קבוצות רשומות.

  5. כדי למחוק את הדומיין, לוחצים על Delete zone ליד שם הדומיין my-new-zone.

  6. נכנסים לדף VM instances.

    כניסה לדף VM instances

  7. בוחרים את המכונה שרוצים למחוק.

  8. בתפריט More בשורה של המכונה, לוחצים על Delete.

המאמרים הבאים