העברה של יציאות DNS של FQDN ב-Cloud DNS

1. מבוא

ef2d068c413a15bd.png

בשיעור הזה תלמדו איך להגדיר אזורי העברה יוצאת של Cloud DNS באמצעות שם דומיין שמוגדר במלואו (FQDN) כיעד להעברה. התכונה הזו מאפשרת לכם לנתב תעבורת DNS לכתובות IP שפוענחו משם DNS, במקום להצפין כתובות IP בהגדרות של אזור ההעברה. האפשרות הזו שימושית במיוחד כשכתובות ה-IP של מפענח ה-DNS של העורף משתנות, כי אפשר לעדכן את רשומת ה-DNS של ה-FQDN, ו-Cloud DNS יזהה את השינויים באופן אוטומטי.

בסיום שיעור ה-codelab הזה, תוכלו להגדיר אזורי העברה של Cloud DNS שמשתמשים ב:

  • יעד FQDN שתואם לאזור פרטי עם רשומות A/AAAA.
  • יעד FQDN שמגובה על ידי מדיניות ניתוב של Cloud DNS (מיקום גאוגרפי או סדר סיבובי משוקלל) לזיקה אזורית או לפילוח התנועה.

סקירה כללית של העברת FQDN

העברת Cloud DNS מאפשרת לכם לפתור שמות DNS פרטיים שמתארחים מחוץ ל-Google Cloud Platform (לדוגמה, בשרת מקומי או בענן אחר) ממשאבים של Google Cloud Platform. באופן מסורתי, הייתה תמיכה בהעברה לרשימה של כתובות IP של יעדים. העברת FQDN מרחיבה את האפשרות הזו בכך שהיא מאפשרת לכם לציין FQDN כיעד להעברה באזור העברה.

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

מה תפַתחו

הפניה אוטומטית של FQDN אזורי עם אזור פרטי חדש

תבנו הגדרה שתשיג זיקה אזורית לתנועת DNS. התהליך כולל יצירה של תחום DNS פרטי והגדרה של מדיניות ניתוב לפי מיקום גיאוגרפי בתוכו, ולאחר מכן קישור של אזור העברה ליעד FQDN הזה. כך מובטח שהתנועה מאזור ספציפי (לדוגמה, us-east1) תועבר לשרת DNS אזורי תואם.

העברת FQDN עם אזור פרטי קיים

תלמדו איך ליצור אזור העברה שמכוון ל-FQDN שמגובה ברשומת A/רשומת AAAA בשרת DNS פרטי קיים. הדוגמה הזו ממחישה העברת שאילתות לכתובות IP שמוגדרות באופן סטטי, שפוענחו באמצעות יעד העברה של FQDN.

מה תלמדו

המושג של העברת FQDN

ההעברה של FQDN היא הרחבה של העברת DNS, כי היא מאפשרת לציין יעד להעברת FQDN במקום רק כתובות IP כיעדים להעברה של שאילתות יוצאות.

היתרונות של העברה של FQDN

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

שילוב עם מדיניות ניתוב של Cloud DNS

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

תחביר הפקודות של Google Cloud CLI

תלמדו על הפקודה gcloud dns managed-zones create והדגלים הרלוונטיים שלה (--forwarding-targets, ‏--private-forwarding-targets) להגדרת אזורי העברה של FQDN.

דרישות מוקדמות

כדי להשלים את ה-codelab הזה, אתם צריכים:

2. תהליך ההגדרה

הסבר על תרחישים של העברה של FQDN

העברת FQDN ב-Cloud DNS תומכת בכמה תרחישי שימוש:

  • אזור פרטי עם רשומת A/AAAA: אם ה-FQDN תואם לרשומת A/AAAA באזור פרטי, כתובות ה-IP שפוענחו מתווספות לרשימת ההעברה, וההתנהגות זהה להעברה לכתובות IP של יעד ישירות.
  • אזור פרטי עם מדיניות מיקום גיאוגרפי: מדיניות מיקום גיאוגרפי מאפשרת לכם לציין מיקום גיאוגרפי של מקור ולספק תשובות תואמות, כדי לאמת את חלוקת התנועה על סמך מיקום גיאוגרפי. זהו שלב חשוב בהעברת DNS אזורית ובשיוך אזורי.
  • אזור פרטי עם מדיניות WRR (Weighted Round Robin): מדיניות WRR מאפשרת לציין משקלים שונים לכל כתובת IP עבור שם DNS, כדי לוודא שתעבורת הנתונים מפוזרת בהתאם למשקלים שהוגדרו.
  • אזור ציבורי עם רשומת A/AAAA: אם שם הדומיין המלא לא תואם לשם פרטי שגלוי באותה רשת, Cloud DNS מנסה לפתור אותו באמצעות האינטרנט הציבורי.

הסבר על הפקודה של Google Cloud CLI להעברת FQDN

כדי ליצור אזור העברה עם יעד העברה של FQDN באמצעות פקודות של ה-CLI של gcloud, משתמשים בפקודה gcloud dns managed-zones create. הדגלים העיקריים לציון יעד FQDN הם --forwarding-targets או --private-forwarding-targets. פרטים על שיטות ניתוב רגילות ופרטיות מופיעים במסמך.

  • --forwarding-targets: רשימה של כתובות IPv4/IPv6 או שם דומיין אחד של שרת השמות של היעד שאליו האזור יעביר שאילתות. ההגדרה הזו לא משפיעה על הגדרת הגישה הגלויה לכולם. כתובות שהן לא RFC1918 יועברו ליעד דרך האינטרנט. כתובות RFC1918 יועברו דרך ה-VPC.
  • --private-forwarding-targets: רשימה של כתובות IPv4/IPv6 או שם דומיין אחד של שרת השמות של היעד שאליו האזור יעביר שאילתות. ההגדרה הזו לא משפיעה על הגדרת הגישה הגלויה לכולם. כל הכתובות שצוינו בפרמטר הזה יגיעו דרך ה-VPC.

תחביר לדוגמה:

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --networks=VPC_NETWORK_LIST \
    --forwarding-targets=DEFAULT_FQDN_TARGET \
    --visibility=private

הערה: אפשר לציין --private-forwarding-targets במקום --forwarding-targets.

הגדרת הפרויקט ב-Google Cloud Platform

מתחברים ל-CLI של gcloud.

gcloud auth login

יוצרים פרויקט.

gcloud projects create my-codelab-project

מפעילים את Cloud DNS API. יכול להיות שיעברו כמה דקות עד שהשינוי ייכנס לתוקף.

gcloud services enable dns.googleapis.com

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

3. הגדרה של העברת FQDN אזורי (עם אזור פרטי חדש)

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

יצירת שרת DNS פרטי

קודם כל, יוצרים תחום DNS פרטי (לדוגמה, foo.com) שיארח את ה-FQDN ואת מדיניות הניתוב לפי מיקום גאוגרפי שמשויכת אליו. האזור הזה צריך להיות גלוי לרשת ברירת המחדל שלכם.

gcloud dns managed-zones create my-zone \
    --description="Private Zone for FQDN outbound DNS forwarding." \
    --dns-name=foo.com. \
    --networks=default \
    --visibility=private

יצירת קבוצת רשומות של מדיניות ניתוב לפי מיקום גיאוגרפי באזור הפרטי

לאחר מכן יוצרים קבוצת רשומות (לדוגמה, geo.foo.com.) בתוך my-zone ומחילים מדיניות ניתוב לפי מיקום גיאוגרפי. בדוגמה הזו מוגדרות כתובות IP ל-asia-east1 ול-asia-west1.

gcloud dns record-sets create geo.foo.com. \
    --ttl="30" \
    --type="A" \
    --zone="my-zone" \
    --routing-policy-type="GEO" \
    --routing-policy-data="asia-east1=192.168.0.1;us-central1=192.168.0.2"

הערה: אם הגידור הגיאוגרפי מושבת (ברירת המחדל המומלצת), השאילתות יופנו לאזור הקרוב ביותר שפועל בצורה תקינה, אם היעד באזור המקורי לא פועל בצורה תקינה.

יצירת אזור העברה עם יעד FQDN

יוצרים אזור העברה (geo.test.com.) שגלוי באותה רשת ברירת מחדל, ומגדירים את geo.foo.com. (ה-FQDN עם מדיניות הניתוב לפי מיקום גיאוגרפי) כיעד ההעברה שלו.

gcloud dns managed-zones create my-geo-fwd-zone \
    --description="Forwarding zone for FQDN outbound DNS forwarding for routing policy." \
    --dns-name=geo.test.com. \
    --networks=default \
    --private-forwarding-targets=geo.foo.com. \
    --visibility=private

כל שאילתת DNS שתואמת ל-geo.test.com מועברת עכשיו לכתובת ה-IP שפוענחה (לדוגמה, 192.168.0.1 או 192.168.0.2) של geo.foo.com, על סמך אזור המקור של השאילתה.

4. הגדרה של העברת FQDN (עם אזור פרטי קיים)

יש לכם תחום DNS פרטי קיים

נניח שכבר יש לכם תחום DNS פרטי בשם my-zone (foo.com.) שגלוי לרשת default.

יצירת רשומת משאב DNS בתוך האזור הפרטי הזה

יוצרים רשומה מסוג A בשביל a.foo.com בתוך my-zone הקיים.

gcloud dns record-sets create a.foo.com. \
    --ttl="30" \
    --type="A" \
    --zone="my-zone" \
    --rrdatas=1.2.3.4

יצירת אזור העברה וציון יעד FQDN

בדומה לתרחיש של FQDN אזורי, יוצרים אזור העברה ומציינים את a.foo.com. כיעד ההעברה.

gcloud dns managed-zones create my-a-fwd-zone \
    --description="Forwarding zone for FQDN outbound DNS forwarding for A record." \
    --dns-name=a.test.com. \
    --networks=default \
    --private-forwarding-targets=a.foo.com. \
    --visibility=private

כל שאילתת DNS שתואמת ל-a.test.com. תועבר לכתובות ה-IP שפוענחו 1.2.3.4 של a.foo.com.

5. הסרת המשאבים

לפני שמחליטים למחוק אזור פרטי, צריך קודם למחוק את כל ResourceRecordSets בתוך האזור הפרטי (למעט רשומות NS ו-SOA, שנוצרות באופן אוטומטי ותמיד צריכות להיות באזור הפרטי).

מחיקת מדיניות הניתוב לפי מיקום גיאוגרפי באזור הפרטי.

gcloud dns record-sets delete "geo.foo.com." --type="A" --zone="my-zone"

מוחקים את רשומת ה-A באזור הפרטי.

gcloud dns record-sets delete "a.foo.com." --type="A" --zone="my-zone"

מחיקת האזור הפרטי.

gcloud dns managed-zones delete "my-zone"

מוחקים את אזור ההעברה של מדיניות הניתוב לפי מיקום גיאוגרפי.

gcloud dns managed-zones delete "my-geo-fwd-zone"

מוחקים את אזור ההעברה לרשומת A.

gcloud dns managed-zones delete "my-a-fwd-zone"

6. מזל טוב

כל הכבוד, למדת איך להשתמש בהעברת DNS יוצאת של FQDN.

קריאה נוספת

מסמכי עזר