יצירת אזור שותפות

בדף הזה מוסבר איך ליצור אזור קישור בין רשתות שכנות (peering). מידע מפורט על הרקע זמין במאמר בנושא Peering zones.

צריך להיכנס למסוף Google Cloud כחבר ב-Identity and Access Management (IAM) עם תפקיד DNS Peer ‏ (roles/dns.peer) בפרויקט שמכיל את רשת ה-VPC של הספק.

כדי ליצור אזור חדש של קישור בין רשתות שכנות (peering) פרטי מנוהל כשצריך שרשת VPC אחת (רשת הצרכן) תבצע שאילתה לגבי סדר תרגום השם (name resolution) של רשת VPC אחרת (רשת הספק), פועלים לפי השלבים הבאים.

המסוף

  1. במסוף Google Cloud , עוברים לדף יצירת תחום DNS.

    מעבר אל יצירת תחום DNS

  2. בשדה Zone type (סוג האזור), בוחרים באפשרות Private (פרטי).

  3. מזינים שם אזור, למשל my-new-zone.

  4. מזינים סיומת של שם DNS לאזור הפרטי. כל הרשומות באזור חולקות את הסיומת הזו, לדוגמה: example.private.

  5. אופציונלי: מוסיפים תיאור.

  6. בקטע אפשרויות, בוחרים באפשרות קישור DNS בין רשתות שכנות (peering).

  7. בוחרים את הרשתות שבהן האזור הפרטי צריך להיות גלוי.

  8. בפרויקט עמית, בוחרים פרויקט עמית.

  9. בקטע רשת עמיתים, בוחרים רשת עמיתים.

  10. לוחצים על יצירה.

gcloud

  1. בפרויקט שמכיל את רשת ה-VPC של הצרכן, מאתרים או יוצרים חשבון שירות.

  2. מקצים לחשבון השירות (מהשלב הקודם) את התפקיד DNS Peer בפרויקט שמכיל את רשת ה-VPC של ספק השירות.

    gcloud projects add-iam-policy-binding PRODUCER_PROJECT_ID \
       --member=SERVICE_ACCOUNT \
       --role=roles/dns.peer
    

    מחליפים את מה שכתוב בשדות הבאים:

    • PRODUCER_PROJECT_ID: מזהה הפרויקט שמכיל את רשת ה-VPC של הספק
    • SERVICE_ACCOUNT: חשבון השירות בפרויקט שמכיל את רשת ה-VPC של הצרכן שזוהתה או נוצרה בשלב 1
  3. בפרויקט שמכיל את רשת ה-VPC של הצרכן, מעניקים לחשבון השירות את תפקיד האדמין של DNS ויוצרים אזור חדש של קישור בין רשתות שכנות (peering) פרטי מנוהל על ידי הפעלת הפקודה dns managed-zones create:

    gcloud dns managed-zones create NAME \
      --description=DESCRIPTION \
      --dns-name=DNS_SUFFIX \
      --networks=CONSUMER_VPC_NETWORK \
      --account=SERVICE_ACCOUNT \
      --target-network=PRODUCER_VPC_NETWORK \
      --target-project=PRODUCER_PROJECT_ID \
      --visibility=private
    

    מחליפים את מה שכתוב בשדות הבאים:

    • NAME: שם לאזור
    • DESCRIPTION: תיאור של האזור
    • DNS_SUFFIX: סיומת ה-DNS של האזור, למשל example.com
    • CONSUMER_VPC_NETWORK: השם של רשת ה-VPC של הצרכן
    • SERVICE_ACCOUNT: חשבון השירות בפרויקט שמכיל את רשת ה-VPC של הלקוח, כפי שמצוין בשלב 1.
    • PRODUCER_VPC_NETWORK: השם של רשת ה-VPC של הספק
    • PRODUCER_PROJECT_ID: מזהה הפרויקט שמכיל את רשת ה-VPC של הספק

Terraform

resource "random_id" "zone_suffix" {
  byte_length = 8
}

resource "google_dns_managed_zone" "peering_zone" {
  name        = "peering-zone-${random_id.zone_suffix.hex}"
  dns_name    = "peering.example.com."
  description = "Example private DNS peering zone"

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_source.id
    }
  }

  peering_config {
    target_network {
      network_url = google_compute_network.network_target.id
    }
  }
}

resource "google_compute_network" "network_source" {
  name                    = "network-source"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_target" {
  name                    = "network-target"
  auto_create_subnetworks = false
}

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