בדף הזה מוסבר איך להגדיר כללי מדיניות לניתוב DNS ולהפעיל בדיקות תקינות באמצעות Cloud DNS. לפני שמשתמשים בדף הזה, כדאי לקרוא על מדיניות ניתוב DNS ובדיקות תקינות.
לפני שמתחילים
כדי להגדיר מדיניות ניתוב DNS, יוצרים קבוצה של רשומות משאבים ובוחרים אחת מהאפשרויות הבאות של מדיניות ניתוב DNS להחלה על קבוצת רשומות המשאבים.
מדיניות הניתוב של DNS תומכת במספר כתובות IP לכל מיקום גיאוגרפי במדיניות הניתוב לפי מיקום גיאוגרפי. כשמציינים כמה כתובות IP למיקום גיאוגרפי, Cloud DNS מחזיר את כל כתובות ה-IP שצוינו למיקום הזה. אי אפשר לשלב מדיניות ניתוב לפי מיקום גיאוגרפי עם מדיניות WRR מותאמת אישית עם משקלים.
אפשר להחיל רק סוג אחד של מדיניות ניתוב על קבוצת רשומות משאבים בכל פעם. אי אפשר לשלב בין מדיניות ניתוב, אלא אם מגדירים מדיניות ניתוב למעבר לגיבוי במקרה של כשל. במקרה כזה, אפשר להגדיר מדיניות ניתוב לפי מיקום גיאוגרפי כגיבוי.
חשוב לוודא שהפעלתם גישה גלובלית למאזני עומסים אזוריים.
לפני שמגדירים מדיניות ניתוב DNS לאזורים ציבוריים, צריך להשבית את
constraints/compute.disableInternetNetworkEndpointGroupהאילוץ של מדיניות הארגון. מידע נוסף זמין במאמר בנושא אילוצים של מדיניות הארגון.חשוב לוודא שיש לכם את ההרשאות הנדרשות כדי להגדיר מדיניות ניתוב DNS.
יצירת כללי מדיניות לניתוב DNS לתחומים פרטיים
לפני שיוצרים מדיניות ניתוב DNS לאזורים פרטיים, צריך לבצע את השלבים הבאים.
- יצירת אזור פרטי
- מגדירים אחד ממאזני העומסים הפנימיים הבאים:
- יוצרים כללי העברה למאזן העומסים הפנימי.
- הגדרת בדיקות תקינות למאזן העומסים הפנימי.
כדי ליצור מדיניות ניתוב DNS לתחומים פרטיים, פועלים לפי השלבים הבאים.
המסוף
התחלת ההגדרה
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על השם של האזור המנוהל שרוצים להוסיף אליו את הרשומה.
בדף פרטי האזור, לוחצים על הוספה עם מדיניות ניתוב.
נתוני בסיס
אופציונלי: בדף יצירת קבוצת רשומות עם מדיניות ניתוב, בשדה שם DNS, מזינים תת-דומיין של שם ה-DNS – לדוגמה,
mail. הנקודה בסוף מתווספת אוטומטית.בוחרים אפשרות בשדה Resource record type.
בשדה TTL, מזינים ערך מספרי לאורך החיים (TTL) של רשומת המשאבים, כלומר משך הזמן שבו אפשר לשמור אותה במטמון. הערך חייב להיות מספר שלם חיובי.
אופציונלי: ביחידת TTL, בוחרים את יחידת הזמן – לדוגמה,
minutes. ערך ברירת המחדל הואminutes.לוחצים על הבא.
סוג מדיניות הניתוב
- בקטע מדיניות ניתוב, בוחרים באפשרות Weighted round robin (סדר סיבובי משוקלל), Geolocation (מיקום גאוגרפי) או Failover (יתירות כשל).
- לוחצים על הבא.
נתונים של מדיניות ניתוב
WRR
בקטע משקל, מזינים את המשקל שמתאים לקטע המשנה הזה בנתוני רשומת המשאב (RR).
המשקל הזה חייב להיות מספר לא שלילי בין 0.0 ל-1000.0. היחס בין נפח התנועה שמופנה ליעד מחושב על סמך היחס בין המשקל האישי לבין המשקל הכולל של כל המשקלים. לדוגמה, אם ליעד א' יש משקל של 25 וליעד ב' יש משקל של 75, והמשקל הכולל הוא 100, מערכת Cloud DNS תנתב 25/100 = 0.25 (25 אחוז) מהתנועה הכוללת ליעד א', ו-75/100= 0.75 (75 אחוז) ליעד ב'.
בקטע IPv4 health checked targets:
- בקטע Project (פרויקט), בוחרים את הפרויקט שבו קיים כלל ההעברה.
בקטע כלל העברה, בוחרים כלל העברה.
כלל ההעברה מציין כתובת IP פנימית, יציאה ואחד מהיעדים הבאים:
- שירות לקצה עורפי אזורי
- שרת proxy ל-HTTPS עם יעד גלובלי או אזורי
- שרת proxy ל-TCP ביעד ברמה אזורית
לוחצים על סיום.
אופציונלי: כדי להוסיף עוד יעד שנבדק, לוחצים על הוספת יעד.
אופציונלי: כדי לאפשר כתובות IPv4 ללא בדיקת תקינות, מבצעים את הפעולות הבאות:
- בוחרים באפשרות Allow IPv4 addresses without health checking (אישור כתובות IPv4 ללא בדיקת תקינות).
- בשדה IPv4 Address, מזינים כתובת IPv4.
אופציונלי: כדי להוסיף עוד נתוני ניתוב של מדיניות WRR, לוחצים על הוספת נתוני ניתוב.
לוחצים על הבא.
מיקום גיאוגרפי
בקטע גידור גיאוגרפי, בוחרים באפשרות מושבת או מופעל.
הפעלת גדר וירטואלית מגבילה את התנועה למיקום גיאוגרפי ספציפי, גם אם כל נקודות הקצה במיקום הגיאוגרפי הזה לא תקינות.
בשדה אזור מקור, בוחרים אזור מקור תקין Google Cloud.
בקטע IPv4 health checked targets:
- בקטע Project (פרויקט), בוחרים את הפרויקט שבו קיים כלל ההעברה.
בקטע כלל העברה, בוחרים כלל העברה.
כלל ההעברה מציין כתובת IP פנימית, יציאה ואחד מהיעדים הבאים:
- שירות לקצה עורפי אזורי
- שרת proxy ל-HTTPS עם יעד גלובלי או אזורי
- שרת proxy ל-TCP ביעד ברמה אזורית
לוחצים על סיום.
אופציונלי: כדי להוסיף עוד יעד שנבדק, לוחצים על הוספת יעד.
אופציונלי: כדי לאפשר כתובות IPv4 ללא בדיקת תקינות, מבצעים את הפעולות הבאות:
- בוחרים באפשרות Allow IPv4 addresses without health checking (אישור כתובות IPv4 ללא בדיקת תקינות).
- בשדה IPv4 Address, מזינים כתובת IPv4.
אופציונלי: כדי להוסיף עוד נתוני ניתוב של מדיניות מיקום גיאוגרפי, לוחצים על הוספת נתוני ניתוב.
לוחצים על הבא.
מעבר לגיבוי (Failover)
בקטע Primary health checked targets:
- בקטע Project (פרויקט), בוחרים את הפרויקט שבו קיים כלל ההעברה.
בקטע כלל העברה, בוחרים כלל העברה.
כלל ההעברה מציין כתובת IP פנימית, יציאה ואחד מהיעדים הבאים:
- שירות לקצה עורפי אזורי
- שרת proxy ל-HTTPS עם יעד גלובלי או אזורי
- שרת proxy ל-TCP ביעד ברמה אזורית
בקטע Backup geolocation policy:
- בקטע גידור גיאוגרפי, בוחרים באפשרות מושבת או מופעל. הפעלת גיאופנסינג מגבילה את התנועה למיקום גיאוגרפי ספציפי, גם אם כל נקודות הקצה במיקום הגיאוגרפי הזה לא תקינות.
- בשדה אזור מקור, בוחרים אזור מקור תקין Google Cloud.
בקטע IPv4 health checked targets:
- בקטע Project (פרויקט), בוחרים את הפרויקט שבו קיים כלל ההעברה.
בקטע כלל העברה, בוחרים כלל העברה.
כלל ההעברה מציין אחת מהאפשרויות הבאות:
- כתובת IP פנימית, יציאה ושירות לקצה עורפי אזורי
- שרת proxy ל-HTTP(S)
- שרת proxy ל-TCP
אם כל כתובות ה-IP הראשיות לא תקינות, המערכת מטפלת בתנועה באופן אוטומטי בהתאם למדיניות הגיבוי של המיקום הגיאוגרפי.
לוחצים על סיום.
אופציונלי: כדי להוסיף עוד יעד שנבדק, לוחצים על הוספת יעד.
אופציונלי: כדי לאפשר כתובות IPv4 ללא בדיקת תקינות, מבצעים את הפעולות הבאות:
- בוחרים באפשרות Allow IPv4 addresses without health checking (אישור כתובות IPv4 ללא בדיקת תקינות).
- בשדה IPv4 Address, מזינים כתובת IPv4.
אופציונלי: כדי להוסיף עוד נתוני ניתוב של מדיניות גיבוי למיקום גיאוגרפי, לוחצים על הוספת נתוני ניתוב.
בשדה Trickle traffic (%), מזינים את אחוז פיזור תעבורת הנתונים שנשלחת ליעדי הגיבוי, ללא קשר לסטטוס בדיקת התקינות של היעדים העיקריים.
לוחצים על הבא.
בדיקה ויצירה
- לוחצים על בדיקה.
- בודקים את קבוצת רשומות ה-DNS ב-Cloud DNS עם הגדרת מדיניות הניתוב.
- לוחצים על יצירה.
gcloud
כשמגדירים קבוצה של רשומות משאבים, צריך להגדיר מדיניות ניתוב (routingPolicy) או נתוני DNS (rrdatas), ולא את שניהם. כדי לעבור בין מדיניות ניתוב לבין נתוני DNS, צריך לעדכן את קבוצת רשומות המשאב. לדוגמה, כדי לשנות קבוצה של רשומות משאבים שמכילה נתוני DNS (rrdatas) כך שבמקום זאת היא תכיל מדיניות ניתוב (routingPolicy), מוחקים את rrdatas ומוסיפים את routingPolicy לאותה קבוצה של רשומות משאבים.
כדי ליצור מדיניות ניתוב DNS לתחומים פרטיים, פועלים לפי השלבים הבאים.
מריצים את הפקודה gcloud dns record-sets create:
WRR
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=WRR \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-health-checking
מחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. רשימה של סוגי הרשומות הנתמכים זמינה במאמר סוגי רשומות נתמכים למדיניות ניתוב DNS. -
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך לכלול את שם ה-DNS של האזור המנוהל כסיומת. -
ROUTING_POLICY_DATA: מזינים רשימה של ערכים מופרדים באמצעות נקודה-פסיק בפורמט${weight_percent}:${rrdatas}, למשל.8=203.0.113.1;.2=198.51.100.1. מגדירים את המשקל כמספר עשרוני לא שלילי. יחס התנועה שמופנית ליעד מחושב על סמך היחס בין המשקל האישי לבין המשקל הכולל של כל המשקלים. שמות של כללי העברה הם ערכים קבילים, והם מובילים לבדיקת תקינות. -
--enable-health-checking: הדגל להפעלת בדיקת התקינות. כשמשתמשים בדגל הזה, צריך לציין את שם כלל ההעברה במקום את כתובת ה-IP בשדה--routing-policy-data.
מיקום גיאוגרפי
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-health-checking
מחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. רשימה של סוגי הרשומות הנתמכים זמינה במאמר סוגי רשומות נתמכים למדיניות ניתוב DNS. -
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך לכלול את שם ה-DNS של האזור המנוהל כסיומת. -
ROUTING_POLICY_DATA: מזינים רשימה של ערכים מופרדים באמצעות נקודה-פסיק בפורמט${region}=${IP_address}, למשלasia-east1=198.51.100.1;us-central1=203.0.113.1. כדי לציין כמה כתובות IP לאזור אחד, מוסיפים את כתובות ה-IP מופרדות בפסיקים. שמות של כללי העברה הם ערכים קבילים, והם מובילים לבדיקת תקינות. -
--enable-health-checking: הדגל להפעלת בדיקת התקינות. כשמשתמשים בדגל הזה, צריך לציין את שם כלל ההעברה במקום את כתובת ה-IP בשדה--routing-policy-data.
מיקום גיאוגרפי עם גבול וירטואלי
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-geo-fencing \ --enable-health-checking
מחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. רשימה של סוגי הרשומות הנתמכים זמינה במאמר סוגי רשומות נתמכים למדיניות ניתוב DNS. -
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך לכלול את שם ה-DNS של האזור המנוהל כסיומת. -
ROUTING_POLICY_DATA: מזינים רשימה של ערכים מופרדים באמצעות נקודה-פסיק בפורמט${region}=${IP_address}, למשלasia-east1=198.51.100.1;us-central1=203.0.113.1. כדי לציין כמה כתובות IP לאזור אחד, מוסיפים את כתובות ה-IP מופרדות בפסיקים. שמות של כללי העברה הם ערכים קבילים, והם מובילים לבדיקת תקינות. -
--enable-geo-fencing: במדיניות ניתוב שלGEO, ההגדרה הזו קובעת אם תהיה העברה אוטומטית של התנועה בין אזורים אם כל נקודות הקצה באזור מסוים לא תקינות. אם ההגדרה הזו מופעלת, Cloud DNS תמיד מפנה שאילתות לאזור הקרוב ביותר, גם אם כל נקודות הקצה באזור הזה לא תקינות. כדי להשבית את הגידור הגיאוגרפי, משתמשים ב---no-enable-geo-fencing. אם לא מגדירים את האפשרות הזו, Cloud DNS מפנה שאילתות לאזור הקרוב הבא אם כל נקודות הקצה באזור מסוים לא תקינות. ברירת המחדל היאfalse. -
--enable-health-checking: הדגל להפעלת בדיקת התקינות. כשמשתמשים בדגל הזה, צריך לציין את שם כלל ההעברה במקום את כתובת ה-IP בשדה--routing-policy-data.
מעבר לגיבוי (Failover)
gcloud dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=FAILOVER \ --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \ --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \ --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \ --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \ --enable-geo-fencing \ --enable-health-checking
מחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. רשימה של סוגי הרשומות הנתמכים זמינה במאמר סוגי רשומות נתמכים למדיניות ניתוב DNS. -
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך לכלול את שם ה-DNS של האזור המנוהל כסיומת. -
ROUTING_POLICY_PRIMARY_DATA: היעד הראשי לשימוש במדיניות הניתוב שלFAILOVER. היעד הזה צריך להיות הפניה לכלל העברה אחד או יותר, כמוforwarding-rule-1. כל עוד לפחות אחד מכללי ההעברה האלה תקין, כתובות ה-IP של כל כללי ההעברה התקינים משמשות למענה על שאילתות לגבי השם הזה. -
ROUTING_POLICY_BACKUP_DATA_TYPE: במדיניות ניתובFAILOVER, סוג מדיניות הניתוב שנתוני הגיבוי משתמשים בה. הערך חייב להיותGEO. -
ROUTING_POLICY_BACKUP_DATA: יעד הגיבוי שבו יש להשתמש עבור מדיניות הניתובFAILOVER. יעדי ההעברה האלה משמשים כשהמצב של כל כללי ההעברה שצוינו ב---routing-policy-primary-dataהוא לא תקין. Cloud DNS תומך רק ביעדי גיבוי שמבוססים על מיקום גיאוגרפי. הפורמט של השדה הזה זהה לפורמט של--routing-policy-dataכאשר--routing-policy-type = 'GEO', למשלasia-east1=forwarding-rule-2. -
BACKUP_DATA_TRICKLE_RATIO: היחס בין התנועה שתישלח ליעדי הגיבוי, גם כשהיעדים הראשיים תקינים. היחס צריך להיות בין 0 ל-1, למשל0.1. ערך ברירת המחדל הוא0. -
--enable-geo-fencing: במדיניות ניתוב שלGEO, ההגדרה הזו קובעת אם תהיה העברה אוטומטית של התנועה בין אזורים אם כל נקודות הקצה באזור מסוים לא תקינות. אם ההגדרה הזו מופעלת, Cloud DNS תמיד מפנה שאילתות לאזור הקרוב ביותר, גם אם כל נקודות הקצה באזור הזה לא תקינות. כדי להשבית את הגידור הגיאוגרפי, משתמשים ב---no-enable-geo-fencing. אם לא מגדירים את האפשרות הזו, Cloud DNS מפנה שאילתות לאזור הקרוב הבא אם כל נקודות הקצה באזור מסוים לא תקינות. ברירת המחדל היאfalse. -
--enable-health-checking: הדגל להפעלת בדיקת התקינות. כשמשתמשים בדגל הזה, צריך לציין את שם כלל ההעברה במקום את כתובת ה-IP בשדה--routing-policy-data.
API
משתמשים בשיטה
resourceRecordSets.create.
WRR
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
"type": "RRSET_TYPE",
"ttl": TTL,
"routingPolicy": {
"wrr": {
"items": [
{
"weight": WEIGHT,
"healthCheckedTargets": {
"internalLoadBalancers": [
{
"loadBalancerType": "LOAD_BALANCER_TYPE"
"ipAddress": "IP_ADDRESS"
"port": "PORT_NUMBER"
"ipProtocol": "IP_PROTOCOL"
"networkUrl": "NETWORK_URL"
"project": "PROJECT_ID"
"region": "REGION"
}
]
}
},
{
"weight": WEIGHT,
"healthCheckedTargets": {
"internalLoadBalancers": [
{
"loadBalancerType": "LOAD_BALANCER_TYPE"
"ipAddress": "IP_ADDRESS"
"port": "PORT_NUMBER"
"ipProtocol": "IP_PROTOCOL"
"networkUrl": "NETWORK_URL"
"project": "PROJECT_ID"
"region": "REGION"
}
]
}
}
]
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, למשלservice.example.com -
RRSET_TYPE: סוג רשומת המשאבים שלResourceRecordSet, למשלA -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30 -
WEIGHT: במדיניותWRR, רשימה מופרדת באמצעות נקודה-פסיק בפורמט${weight_percent}=${rrdatas}, כמו.8=10.128.1.1;.2=10.130.1.1. צריך לציין את המשקל כמספר עשרוני לא שלילי. הערה: צריך לציין את המשקל כמספר לא שלילי. יחס התנועה שמופנית ליעד מחושב על סמך היחס בין המשקל האישי לבין המשקל הכולל של כל המשקלים. -
LOAD_BALANCER_TYPE: סוג מאזן העומסים, למשלregionalL4ilb,globalL7ilbאוregionalL7ilb. ההגדרה הזו היא אופציונלית. -
IP_ADDRESS: כתובת ה-IP שהכלל להעברת תעבורה משרת PORT_NUMBER: זהו מספר היציאה-
IP_PROTOCOL: מגדיר את הפרוטוקול שמשמש לבדיקת תקינות. האפשרויות התקינות הןtcpו-udp. -
NETWORK_URL: כתובת ה-URL ברשת שאליה חל כלל ההעברה הזה -
REGION: האזור שבו יצרתם את כלל ההעברה
מיקום גיאוגרפי
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
"type": "RRSET_TYPE",
"ttl": TTL,
"routingPolicy": {
"geo": {
"items": [
{
"location": "LOCATION",
"healthCheckedTargets": {
"internalLoadBalancers": [
{
"loadBalancerType": "LOAD_BALANCER_TYPE"
"ipAddress": "IP_ADDRESS"
"port": "PORT_NUMBER"
"ipProtocol": "IP_PROTOCOL"
"networkUrl": "NETWORK_URL"
"project": "PROJECT_ID"
"region": "REGION"
}
]
}
},
{
"location": "LOCATION",
"healthCheckedTargets": {
"internalLoadBalancers": [
{
"loadBalancerType": "LOAD_BALANCER_TYPE"
"ipAddress": "IP_ADDRESS"
"port": "PORT_NUMBER"
"ipProtocol": "IP_PROTOCOL"
"networkUrl": "NETWORK_URL"
"project": "PROJECT_ID"
"region": "REGION"
}
]
}
}
]
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, למשלservice.example.com -
RRSET_TYPE: סוג רשומת המשאבים שלResourceRecordSet, למשלA -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30 -
LOCATION: במדיניותGEO, המיקום הגיאוגרפי שעבורו צריך ליצור את המדיניות, למשלasia-east1 -
LOAD_BALANCER_TYPE: סוג מאזן העומסים, למשלregionalL4ilb,globalL7ilbאוregionalL7ilb. ההגדרה הזו היא אופציונלית. -
IP_ADDRESS: כתובת ה-IP שהכלל להעברת תעבורה משרת PORT_NUMBER: מספר היציאה של מאזן העומסים הפנימי-
IP_PROTOCOL: מגדיר את הפרוטוקול שמשמש לבדיקת תקינות. האפשרויות התקינות הןtcpו-udp. -
NETWORK_URL: כתובת ה-URL ברשת שאליה חל כלל ההעברה הזה -
REGION: האזור שבו יצרתם את כלל ההעברה
מעבר לגיבוי (Failover)
באפשרות הגיבוי, Cloud DNS תומך רק במדיניות GEO.
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
"name": "RRSET_NAME",
"type": "RRSET_TYPE",
"ttl": TTL,
"routingPolicy": {
"primaryBackup": {
"trickleTraffic": TRICKLE_TRAFFIC,
"primaryTargets": {
"internalLoadBalancers": [
{
"ipAddress": "IP_ADDRESS"
"ipProtocol": "IP_PROTOCOL"
"loadBalancerType": "LOAD_BALANCER_TYPE"
"networkUrl": "NETWORK_URL"
"port": "PORT_NUMBER"
"project": "PROJECT_ID"
"region": "REGION"
}
]
},
"backupGeoTargets": {
"enableFencing": ENABLE_FENCING,
"items": [
{
"location": "LOCATION",
"rrdatas": [
"RRDATA"
]
},
{
"location": "LOCATION",
"rrdatas": [
"RRDATA"
]
}
]
}
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, למשלservice.example.com -
RRSET_TYPE: סוג רשומת המשאבים שלResourceRecordSet, למשלA -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30 -
TRICKLE_TRAFFIC: היחס של התנועה שתישלח ליעדי הגיבוי גם כשהיעדים הראשיים תקינים. היחס חייב להיות בין 0 ל-1, למשל0.1 -
IP_ADDRESS: כתובת ה-IP שהכלל להעברת תעבורה משרת PORT_NUMBER: זהו מספר היציאה-
IP_PROTOCOL: מגדיר את הפרוטוקול שמשמש לבדיקת תקינות. האפשרויות התקינות הןtcpו-udp. -
NETWORK_URL: כתובת ה-URL ברשת שאליה חל כלל ההעברה הזה PORT_NUMBER: מספר היציאה של מאזן העומסים הפנימי-
REGION: האזור שבו יצרתם את כלל ההעברה -
ENABLE_FENCING: במדיניות הניתובGEO, ההגדרה הזו קובעת אם התנועה תעבור אוטומטית לאזור אחר אם כל נקודות הקצה באזור מסוים לא תקינות. כשההגדרה הזו מופעלת, Cloud DNS תמיד מפנה שאילתות לאזור הקרוב ביותר, גם אם כל נקודות הקצה באזור הזה לא תקינות. אם לא מגדירים את האפשרות הזו, Cloud DNS מפנה שאילתות לאזור הקרוב הבא אם כל נקודות הקצה באזור מסוים לא תקינות. ברירת המחדל היאfalse. -
LOCATION: במדיניותGEO, המיקום הגיאוגרפי שעבורו צריך ליצור את המדיניות, למשלasia-east1 -
WEIGHT: עבור מדיניותWRR, רשימה מופרדת באמצעות נקודה-פסיק בפורמט${weight_percent}=${rrdatas}, כמו.8=10.128.1.1;.2=10.130.1.1. צריך לציין את המשקל כמספר עשרוני לא שלילי. -
RRDATA: ערך שרירותי שמשויך לקבוצת רשומות המשאב, כמו198.51.100.5. אפשר גם להזין כמה ערכים, כמוrrdata1rrdata2rrdata3, למשל198.51.100.1203.0.113.1...
יצירת מדיניות ניתוב DNS לתחומים ציבוריים
כדי ליצור מדיניות ניתוב DNS לאזורים ציבוריים, מבצעים את השלבים הבאים.
המסוף
התחלת ההגדרה
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על השם של האזור המנוהל שרוצים להוסיף אליו את הרשומה.
בדף פרטי האזור, לוחצים על הוספה עם מדיניות ניתוב.
נתוני בסיס
אופציונלי: בדף Create record set with routing policy (יצירת קבוצת רשומות עם מדיניות ניתוב), בשדה DNS name (שם DNS), מזינים תת-דומיין של שם ה-DNS שמולא מראש – לדוגמה,
mail. הנקודה בסוף מתווספת אוטומטית.בוחרים אפשרות בשדה Resource record type.
בשדה TTL, מזינים ערך מספרי לאורך החיים (TTL) של רשומת המשאב, כלומר משך הזמן שבו אפשר לשמור אותה במטמון. הערך הזה חייב להיות מספר שלם חיובי.
אופציונלי: ביחידת TTL, בוחרים את יחידת הזמן – לדוגמה,
minutes. ערך ברירת המחדל הואminutes.לוחצים על הבא.
סוג מדיניות הניתוב
- בקטע מדיניות ניתוב, בוחרים באפשרות Weighted round robin (סדר סיבובי משוקלל), Geolocation (מיקום גאוגרפי) או Failover (יתירות כשל).
- לוחצים על הבא.
נתונים של מדיניות ניתוב
WRR
בקטע משקל, מזינים את המשקל שמתאים לקטע המשנה הזה בנתוני רשומת המשאב (RR).
המשקל הזה חייב להיות מספר לא שלילי בין 0.0 ל-1000.0. היחס בין נפח התנועה שמופנה ליעד מחושב על סמך היחס בין המשקל האישי לבין המשקל הכולל של כל המשקלים. לדוגמה, אם ליעד א' יש משקל של 25 וליעד ב' יש משקל של 75, והמשקל הכולל הוא 100, מערכת Cloud DNS תנתב 25/100 = 0.25 (25 אחוז) מהתנועה הכוללת ליעד א', ו-75/100= 0.75 (75 אחוז) ליעד ב'.
בקטע External IP addresses: בצע את הפעולות הבאות:
- בשדה כתובת IP , מזינים כתובת IP חיצונית.
- אופציונלי: כדי לבחור כתובת IP חיצונית של משאב בפרויקט הנוכחי, לוחצים על Select. Google Cloud
- כדי להפעיל את בדיקת התקינות, בוחרים באפשרות Health checking 1.
- אופציונלי: כדי להוסיף עוד כתובת IP חיצונית, לוחצים על הוספת כתובת IP.
- לוחצים על סיום.
אם הפעלתם בדיקת תקינות בשלב הקודם, ברשימה בדיקת תקינות בוחרים בדיקת תקינות או יוצרים בדיקה חדשה לפי השלבים הבאים.
- לוחצים על יצירת בדיקת תקינות חדשה.
- בשדה Name, מזינים שם לבדיקת תקינות.
- אופציונלי: בשדה Description, מזינים תיאור לבדיקת תקינות.
- בשדה Source regions, בוחרים שלושה Google Cloudאזורים שמהם רוצים לשלוח בדיקות תקינות.
- אופציונלי: בוחרים פרוטוקול מהרשימה Protocol.
בשדה יציאה, מזינים מספר יציאה.
הפרוטוקול ומספר היציאה קובעים איך Cloud DNS שולח את בדיקות התקינות.
אופציונלי: כדי להגדיר בדיקת תקינות מבוססת-תוכן, בשדה תגובה, מציינים מחרוזת תגובה צפויה, כל אחת באורך של עד 1,024 תווי ASCII (בייט יחיד).
אופציונלי: כדי להפעיל את היומנים של בדיקת התקינות, בוחרים באפשרות On בקטע Logs.
בקטע מרווח הבדיקה, מזינים את מרווח הזמן בשניות בין בדיקות תקינות. מרווח הבדיקה הוא משך הזמן שחל מהתחלת בקשה לבדיקת תקינות (probe) אחת שהונפקה על ידי בודק אחד ועד לתחילת בקשה לבדיקת תקינות (probe) הבאה שהונפקה על ידי אותו בודק.
בקטע Timeout, מזינים את משך הזמן בשניות שרוצים ש-Google Cloud ימתין לתגובה לבדיקה.
בקטע Healthy threshold (סף תקין), מזינים את מספר התוצאות הרצופות של בדיקת תקינות שצריך לקבל מקצה עורפי כדי שהוא ייחשב כתקין.
בשדה Unhealthy threshold (סף לא תקין), מזינים את מספר התוצאות הרצופות של בדיקת תקינות שנכשלה, שבעקבותיהן הקצה העורפי ייחשב כלא תקין.
לוחצים על יצירה.
לחצו על Next.
מיקום גיאוגרפי
- בקטע גידור גיאוגרפי, בוחרים באפשרות מושבת או מופעל. הפעלת גיאופנסינג מגבילה את התנועה למיקום גיאוגרפי ספציפי, גם אם כל נקודות הקצה במיקום הגיאוגרפי הזה לא תקינות.
- בשדה אזור מקור, בוחרים אזור מקור תקין Google Cloud.
- בקטע External IP addresses (כתובות IP חיצוניות), מבצעים את הפעולות הבאות:
- בשדה כתובת IP , מזינים כתובת IP חיצונית.
- אופציונלי: כדי לבחור כתובת IP חיצונית של משאב Google Cloud בפרויקט הנוכחי, לוחצים על Select.
- כדי להפעיל את בדיקת התקינות, בוחרים באפשרות Health checking 1.
- אופציונלי: כדי להוסיף עוד כתובת IP חיצונית, לוחצים על הוספת כתובת IP.
- לוחצים על סיום.
אם הפעלתם בדיקת תקינות בשלב הקודם, ברשימה בדיקת תקינות בוחרים בדיקת תקינות או יוצרים בדיקה חדשה לפי השלבים הבאים.
- לוחצים על יצירת בדיקת תקינות חדשה.
- בשדה Name, מזינים שם לבדיקת תקינות.
- אופציונלי: בשדה Description, מזינים תיאור לבדיקת תקינות.
- בשדה Source regions, בוחרים שלושה Google Cloudאזורים שמהם רוצים לשלוח בדיקות תקינות.
- אופציונלי: בוחרים פרוטוקול מהרשימה Protocol.
בשדה יציאה, מזינים מספר יציאה.
הפרוטוקול ומספר היציאה קובעים איך Cloud DNS שולח את בדיקות התקינות.
אופציונלי: כדי להגדיר בדיקת תקינות מבוססת-תוכן, בשדה תגובה, מציינים מחרוזת תגובה צפויה, כל אחת באורך של עד 1,024 תווי ASCII (בייט יחיד).
אופציונלי: כדי להפעיל את היומנים של בדיקת התקינות, בוחרים באפשרות On בקטע Logs.
בקטע מרווח הבדיקה, מזינים את מרווח הזמן בשניות בין בדיקות תקינות. מרווח הבדיקה הוא משך הזמן שחל מהתחלת בקשה לבדיקת תקינות (probe) אחת שהונפקה על ידי בודק אחד ועד לתחילת בקשה לבדיקת תקינות (probe) הבאה שהונפקה על ידי אותו בודק.
בקטע Timeout, מזינים את משך הזמן בשניות שרוצים ש-Google Cloud ימתין לתגובה לבדיקה.
בקטע Healthy threshold (סף תקין), מזינים את מספר התוצאות הרצופות של בדיקת תקינות שצריך לקבל מקצה עורפי כדי שהוא ייחשב כתקין.
בשדה Unhealthy threshold (סף לא תקין), מזינים את מספר התוצאות הרצופות של בדיקת תקינות שנכשלה, שבעקבותיהן הקצה העורפי ייחשב כלא תקין.
לוחצים על יצירה.
לחצו על Next.
מעבר לגיבוי (Failover)
- בקטע Primary external IP address target, בשדה IP address, מזינים את כתובת ה-IP החיצונית הראשית שנבדקת לגבי תקינות ברשומה הזו.
- אופציונלי:כדי לבחור כתובת IP חיצונית ראשית של משאב Google Cloud בפרויקט הנוכחי, לוחצים על Select.
- אופציונלי: כדי להוסיף עוד כתובת IP חיצונית ראשית, לוחצים על הוספת יעד. כש-DNSSEC מופעל, אפשר להוסיף רק יעד אחד של כתובת IP חיצונית ראשית .
- בקטע Backup geolocation policy:
- בקטע גידור גיאוגרפי, בוחרים באפשרות מושבת או מופעל. הפעלת גיאופנסינג מגבילה את התנועה למיקום גיאוגרפי ספציפי, גם אם כל נקודות הקצה במיקום הגיאוגרפי הזה לא תקינות.
- בשדה אזור מקור, בוחרים אזור מקור תקין Google Cloud.
- בקטע External IP addresses (כתובות IP חיצוניות), מבצעים את הפעולות הבאות:
- בשדה כתובת IP , מזינים כתובת IP חיצונית.
- אופציונלי: כדי לבחור כתובת IP חיצונית של משאב בפרויקט הנוכחי, לוחצים על Select. Google Cloud
- כדי להפעיל את בדיקת התקינות, בוחרים באפשרות Health checking 1.
- אופציונלי: כדי להוסיף עוד כתובת IP חיצונית, לוחצים על הוספת כתובת IP.
- לוחצים על סיום.
אם הפעלתם בדיקת תקינות בשלב הקודם, בוחרים בדיקת תקינות ברשימה Health check.
אם אין לכם בדיקת תקינות קיימת, אתם יכולים ליצור בדיקת תקינות חדשה.
- לוחצים על יצירת בדיקת תקינות חדשה.
- בשדה Name, מזינים שם לבדיקת תקינות.
- אופציונלי: בשדה Description, מזינים תיאור לבדיקת תקינות.
- בשדה Source regions, בוחרים שלושה Google Cloudאזורים שמהם רוצים לשלוח בדיקות תקינות.
- אופציונלי: בוחרים פרוטוקול מהרשימה Protocol.
- בשדה יציאה, מזינים מספר יציאה.
הפרוטוקול ומספר היציאה קובעים איך Cloud DNS שולח את בדיקות התקינות.
- אופציונלי: כדי להגדיר בדיקת תקינות מבוססת-תוכן, בשדה תגובה, מציינים מחרוזת תגובה צפויה, כל אחת באורך של עד 1,024 תווי ASCII (בייט יחיד).
- אופציונלי: כדי להפעיל את היומנים של בדיקת התקינות, בוחרים באפשרות On בקטע Logs.
- בקטע מרווח הבדיקה, מזינים את מרווח הזמן בשניות בין בדיקות תקינות. מרווח הבדיקה הוא משך הזמן שחל מהתחלת בקשה לבדיקת תקינות (probe) אחת שהונפקה על ידי בודק אחד ועד לתחילת בקשה לבדיקת תקינות (probe) הבאה שהונפקה על ידי אותו בודק.
- בקטע Timeout, מזינים את משך הזמן בשניות שרוצים ש-Google Cloud ימתין לתגובה לבדיקה.
- בקטע Healthy threshold (סף תקין), מזינים את מספר התוצאות הרצופות של בדיקת תקינות שצריך לקבל מקצה עורפי כדי שהוא ייחשב כתקין.
- בשדה Unhealthy threshold (סף לא תקין), מזינים את מספר התוצאות הרצופות של בדיקת תקינות שנכשלה, שבעקבותיהן הקצה העורפי ייחשב כלא תקין.
- לוחצים על יצירה.
בשדה פיזור תעבורת הנתונים (%), מזינים את אחוז התנועה שנשלחת ליעדי יתירות הכשל, ללא קשר לסטטוס של בדיקת התקינות של היעדים העיקריים.
ברשימה Health check, בוחרים בדיקת תקינות.
לוחצים על הבא.
בדיקה ויצירה
- לוחצים על בדיקה.
- בודקים את קבוצת רשומות ה-DNS ב-Cloud DNS עם הגדרת מדיניות הניתוב.
- לוחצים על יצירה.
gcloud
כדי ליצור מדיניות ניתוב DNS לאזורים ציבוריים, מבצעים את השלבים הבאים.
כדי להפעיל בדיקות תקינות במדיניות ניתוב DNS לאזורים ציבוריים, צריך ליצור בדיקת תקינות לנקודות קצה חיצוניות.
מריצים את הפקודה
gcloud beta compute health-checks create:gcloud beta compute health-checks create PROTOCOL HEALTH_CHECK_NAME \ --global \ --check-interval=CHECK_INTERVAL \ --source-regions=SOURCE_REGIONS \ --port=PORT_NUMBERמחליפים את מה שכתוב בשדות הבאים:
-
PROTOCOL: הפרוטוקול שמשמש לבדיקת תקינות. האפשרויות התקפות הןhttp,https,sslאוtcp. -
HEALTH_CHECK_NAME: השם של בדיקת תקינות. -
CHECK_INTERVAL: משך הזמן מתחילת החיבור של בקשה לבדיקת תקינות אחת ועד לתחילת החיבור של הבקשה הבאה. היחידות הן שניות. הערךCHECK_INTERVALחייב להיות בין30ל-300שניות. -
SOURCE_REGIONS: רשימה מופרדת בפסיקים שלGoogle Cloud אזורים שמהם רוצים לשלוח בדיקות תקינות. -
PORT_NUMBER: מספר היציאה לבקשות של בדיקת תקינות.
-
כדי ליצור
ResourceRecordSetולהחיל עליו מדיניות ניתוב, מריצים את הפקודהgcloud beta dns record-sets create.WRR
gcloud beta dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=WRR \ --routing-policy-data=ROUTING_POLICY_DATA \ --health-check=HEALTH_CHECK_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
TTL: ה-TTL, בשניות, שבו מפענח ה-DNS שומר במטמון אתResourceRecordSet, למשל30. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. -
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך להסתיים בסיומת של שם ה-DNS של האזור המנוהל. -
ROUTING_POLICY_DATA: נתוני מדיניות הניתוב. מזינים רשימה מופרדת באמצעות נקודה-פסיק בפורמט${weight_percent}:${rrdatas}, לדוגמה.8=203.0.113.1;.2=198.51.100.1. מגדירים את המשקל כמספר עשרוני לא שלילי. המשקל חייב להיות מספר לא שלילי בין0ל-1000. -
HEALTH_CHECK_NAME: השם של בדיקת תקינות שיצרתם בשלב הקודם.
מיקום גיאוגרפי
gcloud beta dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --health-check=HEALTH_CHECK_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
TTL: ה-TTL, בשניות, שבו מפענח ה-DNS שומר במטמון אתResourceRecordSet, למשל30. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. -
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך לכלול את שם ה-DNS של האזור המנוהל כסיומת. -
ROUTING_POLICY_DATA: נתוני מדיניות הניתוב. מזינים רשימה מופרדת באמצעות נקודה-פסיק בפורמט${region}=${IP_address},${IP_address}, לדוגמהasia-east1=198.51.100.1;us-central1=203.0.113.1, 203.0.113.2. אפשר לציין כמה כתובות IP לאזור אחד על ידי הוספת כתובות IP מופרדות בפסיקים. שמות של כללי העברה הם ערכים קבילים, והם מובילים לבדיקת תקינות. -
HEALTH_CHECK_NAME: השם של בדיקת תקינות שיצרתם בשלב הקודם.
מיקום גיאוגרפי עם גבול וירטואלי
gcloud beta dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --health-check=HEALTH_CHECK_NAME \ --enable-geo-fencingמחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
TTL: ה-TTL, בשניות, שבו מפענח ה-DNS שומר במטמון אתResourceRecordSet, למשל30. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. -
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך להסתיים בסיומת של שם ה-DNS של האזור המנוהל. -
ROUTING_POLICY_DATA: נתוני מדיניות הניתוב. מזינים רשימה מופרדת באמצעות נקודה-פסיק בפורמט${region}=${IP_address}, לדוגמהasia-east1=198.51.100.1;us-central1=203.0.113.1. אפשר לציין כמה כתובות IP לאזור יחיד על ידי הוספת כתובות IP מופרדות בפסיקים. שמות של כללי העברה הם ערכים קבילים, והם מובילים לבדיקת תקינות.
HEALTH_CHECK_NAME: השם של בדיקת תקינות שיצרתם בשלב הקודם.
--enable-geo-fencing: במדיניות הניתובGEO, ההגדרה הזו קובעת אם התנועה תעבור אוטומטית לאזור אחר אם כל נקודות הקצה באזור מסוים לא תקינות. אם ההגדרה הזו מוגדרת, Cloud DNS תמיד מפנה שאילתות לאזור הקרוב ביותר, גם אם כל נקודות הקצה באזור הזה לא תקינות. אפשר להשתמש ב---no-enable-geo-fencingכדי להשבית את הגידור הגיאוגרפי. אם לא מגדירים את האפשרות הזו, Cloud DNS מפנה שאילתות לאזור הקרוב הבא אם כל נקודות הקצה באזור מסוים לא תקינות. ברירת המחדל היאfalse.
מעבר לגיבוי (Failover)
gcloud beta dns record-sets create RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=FAILOVER \ --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \ --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \ --routing-policy-backup-data-type=ROUTING_POLICY_BACKUP_DATA_TYPE \ --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \ --health-check=HEALTH_CHECK_NAMEמחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
TTL: ה-TTL, בשניות, שבו מפענח ה-DNS שומר במטמון אתResourceRecordSet, למשל30 -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. -
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך להסתיים בסיומת של שם ה-DNS של האזור המנוהל. -
ROUTING_POLICY_PRIMARY_DATA: יעד ראשי לשימוש בכללי ניתוב שלFAILOVER. היעד הזה חייב להיות הפניה לכלל העברה אחד או יותר, כמוforwarding-rule-1. כל עוד לפחות אחד מכללי ההעברה האלה תקין, כתובות ה-IP של כל כללי ההעברה התקינים משמשות למענה על שאילתות לגבי השם הזה. -
ROUTING_POLICY_BACKUP_DATA: יעד הגיבוי שבו יש להשתמש עבור מדיניות הניתובFAILOVER. היעדים האלה משמשים כשהמצב של כל כללי ההעברה שצוינו ב---routing-policy-primary-dataהוא לא תקין. Cloud DNS תומך רק ביעדי גיבוי שמבוססים על מיקום גיאוגרפי. הפורמט של השדה הזה זהה לפורמט של--routing-policy-dataכש--routing-policy-type = 'GEO', למשלasia-east1=forwarding-rule-2. -
ROUTING_POLICY_BACKUP_DATA_TYPE: במדיניות ניתוב שלFAILOVER, סוג מדיניות הניתוב שנתוני הגיבוי משתמשים בה. הערך חייב להיותGEO. -
BACKUP_DATA_TRICKLE_RATIO: היחס של התנועה שתישלח ליעדי הגיבוי, גם כשהיעדים הראשיים תקינים. היחס צריך להיות בין 0 ל-1, למשל0.1. ערך ברירת המחדל הוא0. -
HEALTH_CHECK_NAME: השם של בדיקת תקינות שיצרתם בשלב הקודם.
-
API
כדי להפעיל בדיקות תקינות במדיניות ניתוב DNS לאזורים ציבוריים, משתמשים בשיטה
healthChecks.insert.כדי ליצור
ResourceRecordSetולהחיל עליו מדיניות ניתוב, משתמשים ב-method resourceRecordSets.create.WRR
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "healthCheck": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME" "wrr": { "items": [ { "weight": WEIGHT, "rrdata": ["RRDATA"], "healthCheckedTargets": { "externalEndpoints": ["EXTERNAL_ENDPOINTS"] } }, { "weight": WEIGHT, "rrdata": ["RRDATA"], "healthCheckedTargets": { "externalEndpoints": ["EXTERNAL_ENDPOINTS"] } } ] } } }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל. -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30. -
HEALTH_CHECK_NAME: השם של בדיקת תקינות. -
WEIGHT: במדיניותWRR, רשימה של ערכים מופרדים באמצעות נקודה-פסיק בפורמט${weight_percent}=${rrdatas}, למשל.8=10.128.1.1;.2=10.130.1.1. מציינים את המשקל כמספר עשרוני לא שלילי. הערה: אתם צריכים לציין משקל כמספר לא שלילי. יחס התנועה שמופנית ליעד מחושב על סמך היחס בין המשקל האישי לבין המשקל הכולל של כל המשקלים. -
RRDATA: ערך שרירותי שמשויך לקבוצת רשומות של המשאב, כמו198.51.100.5. אפשר גם להזין כמה ערכים,rrdata1,rrdata2,rrdata3, כמו198.51.100.1,203.0.113.1. -
EXTERNAL_ENDPOINTS: כתובות ה-IP באינטרנט שצריך לבדוק את תקינותן.
מיקום גיאוגרפי
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "healthCheck": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME" "geo": { "enableFencing": ENABLE_FENCING "items": [ { "location": "LOCATION", "rrdata": ["RRDATA"], "healthCheckedTargets": { "externalEndpoints": ["EXTERNAL_ENDPOINTS"] } }, { "location": "LOCATION", "rrdata": ["RRDATA"], "healthCheckedTargets": { "externalEndpoints": ["EXTERNAL_ENDPOINTS"] } } ] } } }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל. -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30. -
HEALTH_CHECK_NAME: השם של בדיקת תקינות. -
ENABLE_FENCING: במדיניות הניתובGEO, ההגדרה הזו קובעת אם התנועה תעבור אוטומטית לאזור אחר אם כל נקודות הקצה באזור מסוים לא תקינות. כשההגדרה הזו מופעלת, Cloud DNS תמיד מפנה שאילתות לאזור הקרוב ביותר, גם אם כל נקודות הקצה באזור הזה לא תקינות. אם לא מגדירים את האפשרות הזו, Cloud DNS מפנה שאילתות לאזור הקרוב הבא אם כל נקודות הקצה באזור מסוים לא תקינות. האפשרויות החוקיות הןtrueו-false. ערך ברירת המחדל הואfalse. -
LOCATION: במדיניותGEO, המיקום הגיאוגרפי שעבורו צריך ליצור את המדיניות, כמוasia-east1. -
RRDATA: ערך שרירותי שמשויך לקבוצת רשומות של המשאב, כמו198.51.100.5. אפשר גם להזין כמה ערכים,rrdata1,rrdata2,rrdata3, כמו198.51.100.1,203.0.113.1. -
EXTERNAL_ENDPOINTS: כתובות ה-IP באינטרנט שצריך לבדוק את תקינותן.
מעבר לגיבוי (Failover)
באפשרות הגיבוי, Cloud DNS תומך רק במדיניות
GEO.POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets { "name": "RRSET_NAME", "type": "RRSET_TYPE", "ttl": TTL, "routingPolicy": { "healthCheck": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/healthChecks/HEALTH_CHECK_NAME" "primaryBackup": { "trickleTraffic": TRICKLE_TRAFFIC, "primaryTargets": { "rrdata": ["RRDATA"] }, "backupGeoTargets": { "enableFencing": ENABLE_FENCING, "items": [ { "location": "LOCATION", "rrdatas": ["RRDATA] }, { "location": "LOCATION", "rrdatas": ["RRDATA", "RRDATA"] } ] } } } }מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל. -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, כמוservice.example.com. -
RRSET_TYPE: סוג רשומת המשאב שלResourceRecordSet, למשלA. -
TTL: ה-TTL, בשניות, שבו ה-מפענח DNS שומר במטמון אתResourceRecordSet, למשל30. -
HEALTH_CHECK_NAME: השם של בדיקת תקינות. -
TRICKLE_TRAFFIC: היחס של התנועה שמופנית ליעדי הגיבוי גם כשהיעדים הראשיים תקינים. היחס צריך להיות בין 0 ל-1, למשל0.1. -
LOCATION: במדיניותGEO, המיקום הגיאוגרפי שעבורו צריך ליצור את המדיניות, כמוasia-east1. -
RRDATA: ערך שרירותי שמשויך לקבוצת רשומות של המשאב, כמו198.51.100.5. אפשר גם להזין כמה ערכים,rrdata1,rrdata2,rrdata3, כמו198.51.100.1,203.0.113.1. -
ENABLE_FENCING: במדיניות הניתובGEO, ההגדרה הזו קובעת אם התנועה תעבור אוטומטית לאזור אחר אם כל נקודות הקצה באזור מסוים לא תקינות. כשההגדרה הזו מופעלת, Cloud DNS תמיד מפנה שאילתות לאזור הקרוב ביותר, גם אם כל נקודות הקצה באזור הזה לא תקינות. אם לא מגדירים את האפשרות הזו, Cloud DNS מפנה שאילתות לאזור הקרוב הבא אם כל נקודות הקצה באזור מסוים לא תקינות. הגדרת ברירת המחדל היאfalse.
-
עדכון מדיניות ניתוב DNS
כדי לעדכן את מדיניות הניתוב של קבוצת רשומות משאב, פועלים לפי השלבים הבאים.
המסוף
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על האזור שרוצים לעדכן את מדיניות הניתוב של קבוצת רשומות המשאבים שלו.
בדף Zone details (פרטי האזור), לצד קבוצת רשומות המשאבים שרוצים לעדכן, לוחצים על editEdit (עריכה).
אחרי שמסיימים לעדכן, לוחצים על שמירה.
gcloud
מריצים את הפקודה gcloud dns record-sets update:
WRR
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=WRR \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-health-checking
מיקום גיאוגרפי
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-health-checking
מיקום גיאוגרפי עם גבול וירטואלי
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=GEO \ --routing-policy-data=ROUTING_POLICY_DATA \ --enable-geo-fencing --enable-health-checking
מעבר לגיבוי (Failover)
gcloud dns record-sets update RRSET_NAME \ --ttl=TTL \ --type=RRSET_TYPE \ --zone=MANAGED_ZONE \ --routing-policy-type=FAILOVER \ --enable-geo-fencing \ --routing-policy-primary-data=ROUTING_POLICY_PRIMARY_DATA \ --routing-policy-backup-data=ROUTING_POLICY_BACKUP_DATA \ --backup-data-trickle-ratio=BACKUP_DATA_TRICKLE_RATIO \ --enable-health-checking
מחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, למשלservice.example.com -
TTL: ה-TTL, בשניות, שבו ה-resolver שומר במטמון אתResourceRecordSet, למשל30
RRSET_TYPE: סוג רשומת המשאבים שלResourceRecordSet, למשלAרשימה של סוגי הרשומות הנתמכים זמינה במאמר בחירת סוגים של רשומות משאבים.
MANAGED_ZONE: האזור המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetהזה צריך לכלול את שם ה-DNS של האזור המנוהל כסיומת
ROUTING_POLICY_TYPE: סוג מדיניות הניתוב.מזינים
WRRלסדר סיבובי משוקלל,GEOלמיקום גיאוגרפי אוFAILOVERלמדיניות יתירות כשל. אי אפשר לשנות את השדה הזה אחרי שבוחרים סוג מדיניות. אפשר רק למחוק את המדיניות ולהוסיף מדיניות חדשה עם סוג אחר.
ROUTING_POLICY_DATA: נתוני מדיניות הניתוב- בעמודה
--routing-policy-type=WRR, מזינים רשימה של ערכים מופרדים באמצעות נקודה-פסיק בפורמט${weight_percent}:${rrdatas}, למשל.8=203.0.113.1;.2=198.51.100.1. מגדירים את המשקל כמספר עשרוני לא שלילי. יחס התנועה שמופנית ליעד מחושב על סמך היחס בין המשקל האישי לבין המשקל הכולל של כל המשקלים. שמות של כללי העברה הם ערכים קבילים, והם מובילים לבדיקת תקינות. - בעמודה
--routing-policy-type=GEO, מזינים רשימה של ערכים מופרדים באמצעות נקודה-פסיק בפורמט${region}=${IP_address}, למשלasia-east1=198.51.100.1;us-central1=203.0.113.1. כדי לציין כמה כתובות IP לאזור אחד, מוסיפים את כתובות ה-IP מופרדות בפסיקים. שמות של כללי העברה הם ערכים קבילים, והם מובילים לבדיקת תקינות. בשדה
--routing-policy-type=FAILOVER, מזינים את השם של כלל ההעברה שיצרתם בפורמט${region}=${Forwarding rule name}.
- בעמודה
--enable-geo-fencing: במדיניות ניתוב שלGEO, ההגדרה הזו קובעת אם התנועה תעבור אוטומטית לאזורים אחרים אם כל נקודות הקצה באזור מסוים לא תקינות. אם ההגדרה הזו מופעלת, Cloud DNS תמיד מפנה שאילתות לאזור הקרוב ביותר, גם אם כל נקודות הקצה באזור הזה לא תקינות. כדי להשבית את הגידור הגיאוגרפי, משתמשים ב---no-enable-geo-fencing. אם לא מגדירים את הערך הזה, כל נקודות הקצה באזור לא תקינות, ו-Cloud DNS מפנה שאילתות לאזור הקרוב הבא. הגדרת ברירת המחדל היאfalse.
ROUTING_POLICY_PRIMARY_DATA: היעד הראשי לשימוש במדיניות הניתוב שלFAILOVER. היעד הזה צריך להיות הפניה לכלל העברה אחד או יותר, כמוforwarding-rule-1. כל עוד לפחות אחד מכללי ההעברה האלה תקין, כתובות ה-IP של כל כללי ההעברה התקינים משמשות למענה על שאילתות לגבי השם הזה.
ROUTING_POLICY_BACKUP_DATA: יעד הגיבוי שבו יש להשתמש עבור מדיניות הניתובFAILOVER. יעדי ההעברה האלה משמשים כשהמצב של כל כללי ההעברה שצוינו ב---routing-policy-primary-dataהוא לא תקין. Cloud DNS תומך רק ביעדי גיבוי שמבוססים על מיקום גיאוגרפי. הפורמט של השדה הזה זהה לפורמט של--routing-policy-dataכאשר--routing-policy-type = 'GEO', למשלasia-east1=forwarding-rule-2.
BACKUP_DATA_TRICKLE_RATIO: היחס בין התנועה שצריך לשלוח ליעדי הגיבוי גם כשהיעדים הראשיים תקינים. היחס צריך להיות בין 0 ל-1, למשל0.1. ערך ברירת המחדל הוא 0.
--enable-health-checking: הפעלת בדיקת תקינות של כללי העברה שמוגדרים כ-rrdata ל---routing-policy-data.
API
משתמשים בשיטה
resourceRecordSets.patch. צריך לציין רק אחד מהמאפיינים rrset.rrdatas או rrset.routingPolicy. אם מציינים את routingPolicy, צריך לציין את השדה החדש routingPolicy במלואו.
WRR
כדי להגדיר מדיניות WRR, משתמשים בשיטה הבאה:
PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
{
"name": "RRSET_NAME",
"type": "RRSET_TYPE",
"ttl": TTL,
"routingPolicy": {
"wrr": {
"items": [
{
"weight": WEIGHT,
"rrdatas": ["RRDATA"]
},
{
"weight": WEIGHT,
"rrdatas": ["RRDATA"]
}
]
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, למשלservice.example.com -
RRSET_TYPE: סוג רשומת המשאבים שלResourceRecordSet, למשלA -
WEIGHT: עבור מדיניותWRR, רשימה מופרדת באמצעות נקודה-פסיק בפורמט${weight_percent}=${rrdatas}, כמו.8=10.128.1.1;.2=10.130.1.1. צריך לציין את המשקל כמספר עשרוני לא שלילי. -
RRDATA: ערך שרירותי שמשויך לקבוצת רשומות המשאב, כמו198.51.100.5. אפשר גם להזין כמה ערכים, כמוrrdata1rrdata2rrdata3, למשל198.51.100.1203.0.113.1...
מיקום גיאוגרפי
משתמשים בשיטה הבאה:
PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
{
"name": "RRSET_NAME",
"type": "RRSET_TYPE",
"ttl": TTL,
"routingPolicy": {
"geo": {
"items": [
{
"location": "LOCATION",
"healthCheckedTargets": {
"internalLoadBalancers": [
{
"loadBalancerType": "LOAD_BALANCER_TYPE"
"ipAddress": "IP_ADDRESS"
"port": "PORT_NUMBER"
"ipProtocol": "IP_PROTOCOL"
"networkUrl": "NETWORK_URL"
"project": "PROJECT_ID"
"region": "REGION"
}
]
}
},
{
"location": "LOCATION",
"healthCheckedTargets": {
"internalLoadBalancers": [
{
"loadBalancerType": "LOAD_BALANCER_TYPE"
"ipAddress": "IP_ADDRESS"
"port": "PORT_NUMBER"
"ipProtocol": "IP_PROTOCOL"
"networkUrl": "NETWORK_URL"
"project": "PROJECT_ID"
"region": "REGION"
}
]
}
}
]
}
}
}
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, למשלservice.example.com -
RRSET_TYPE: סוג רשומת המשאבים שלResourceRecordSet, למשלA -
TTL: ה-TTL, בשניות, שבו ה-resolver שומר במטמון אתResourceRecordSet, למשל30 -
LOCATION: במדיניותGEO, המיקום הגיאוגרפי שצריך לעדכן את המדיניות לגביו, למשלasia-east1 -
LOAD_BALANCER_TYPE: סוג מאזן העומסים, למשלregionalL4ilb,globalL7ilbאוregionalL7ilb. ההגדרה הזו היא אופציונלית. -
IP_ADDRESS: כתובת ה-IP שהכלל להעברת תעבורה משרת PORT_NUMBER: זהו מספר היציאה-
IP_PROTOCOL: מגדיר את הפרוטוקול שמשמש לבדיקת תקינות. האפשרויות התקינות הןtcpו-udp. -
NETWORK_URL: כתובת ה-URL ברשת שאליה חל כלל ההעברה הזה -
REGION: האזור שבו יצרתם את כלל ההעברה
מחיקת כללי מדיניות לניתוב DNS
כדי למחוק מדיניות ניתוב, צריך למחוק את קבוצת רשומות המשאב שמכילה את מדיניות הניתוב. כדי לעשות זאת, מבצעים את השלבים הבאים.
המסוף
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על האזור שבו רוצים למחוק את קבוצת רשומות המשאבים.
בדף Zone details (פרטי האזור), מסמנים את תיבת הסימון לצד שם ה-DNS של קבוצת רשומות המשאב שרוצים למחוק.
לוחצים על מחיקת סט הרשומות.
gcloud
מריצים את הפקודה gcloud dns record-sets delete:
gcloud dns record-sets delete RRSET_NAME \
--type=RRSET_TYPE \
--zone=MANAGED_ZONE \
מחליפים את מה שכתוב בשדות הבאים:
-
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, למשלservice.example.com
RRSET_TYPE: סוג רשומת המשאבים שלResourceRecordSet, למשלAרשימה של סוגי הרשומות הנתמכים זמינה במאמר בחירת סוגים של רשומות משאבים.
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלservice-zone. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל
API
משתמשים בשיטה resourceRecordSets.delete:
DELETE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט -
MANAGED_ZONE: התחום המנוהל שאליו משויךResourceRecordSet, למשלmy-zone-name. השם שלResourceRecordSetחייב להסתיים בסיומת של שם ה-DNS של התחום המנוהל -
RRSET_NAME: שם ה-DNS שתואם לשאילתות הנכנסות עם שם ה-DNS של האזור הזה כסיומת, למשלtest.example.com -
RRSET_TYPE: סוג רשומת המשאבים שלResourceRecordSet, למשלA
המאמרים הבאים
- מידע נוסף על אזורים מנוהלים זמין במאמר יצירה, שינוי ומחיקה של אזורים.
- כדי למצוא פתרונות לבעיות נפוצות שאתם עשויים להיתקל בהן במהלך השימוש ב-Cloud DNS, אפשר לעיין במאמר בנושא פתרון בעיות.
- בסקירה הכללית על Cloud DNS תוכלו לקרוא על Cloud DNS.