בדף הזה מוסבר על מדדי הרישום ביומן והמעקב של Cloud DNS, כולל אזורים ציבוריים, אזורים פרטיים, ואזורי העברה. בנוסף, מוסבר איך לעקוב אחרי ההפצה של השינויים ב-DNS הציבורי.
שימוש ברישום ביומן של Cloud DNS
רישום ביומן של Cloud DNS עוקב אחרי שאילתות ששרתי שמות פותרים בשביל רשתות ה-VPC שלכם, וגם אחרי שאילתות מישות חיצונית ישירות לאזור ציבורי.
השאילתות שנרשמות ביומן יכולות להגיע ממכונות וירטואליות (VM) של Compute Engine, מקונטיינרים של Google Kubernetes Engine באותה רשת VPC, מאזורי Peering או מלקוחות מקומיים שמשתמשים בהעברת DNS נכנסת. בסופו של דבר, יכול להיות שתחומי DNS פרטיים, תחומי DNS להעברה, שרתי שמות חלופיים, תחומי DNS פנימיים שלGoogle Cloud או תחומי DNS חיצוניים יפתרו את השאילתות.
רשומות היומן שייכות לפרויקט שבבעלותו הרשת או האזור הציבורי שדרכם עברה הבקשה. במקרה של VPC משותף, רשומות היומן שייכות לפרויקט המארח כי הוא הבעלים של הרשת.
הפעלת רישום ביומן של אזורים מנוהלים פרטיים
אתם יכולים להשתמש במדיניות DNS כדי להפעיל או להשבית את הרישום ביומן עבור הרשתות שלכם. כשמפעילים את רישום השאילתות ביומן, כל שאילתת DNS לאזור פרטי מנוהל ב-Cloud DNS נרשמת ביומן.
כדי להפעיל רישום ביומן ברשת שאין לה מדיניות DNS:
המסוף
נכנסים לדף Create a DNS policy במסוף Google Cloud .
בשדה שם, מזינים שם למדיניות.
אופציונלי: מזינים תיאור בשדה תיאור.
בקטע יומנים, בוחרים באפשרות מופעל.
בקטע Networks, לוחצים על Add networks ובוחרים את הרשתות שצריך.
לוחצים על יצירה.
gcloud
מריצים את הפקודה dns policies create.
gcloud dns policies create POLICY_NAME \
--networks=NETWORK \
--enable-logging \
--description=DESCRIPTIONמחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות ה-DNS-
NETWORK: רשימה מופרדת בפסיקים של רשתות -
DESCRIPTION: תיאור של המדיניות
כדי להפעיל רישום ביומן ברשת עם מדיניות DNS קיימת:
המסוף
נכנסים לדף Cloud DNS policies במסוף Google Cloud .
לוחצים על מדיניות שרת ה-DNS שרוצים לעדכן.
לוחצים על עריכת המדיניות.
בקטע יומנים, בוחרים באפשרות מופעל.
לוחצים על Save.
gcloud
מריצים את הפקודה dns policies update.
gcloud dns policies update POLICY_NAME \
--networks=NETWORK \
--enable-logging
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות ה-DNS-
NETWORK: רשימה מופרדת בפסיקים של רשת אחת או יותר
השבתת הרישום ביומן של אזורים מנוהלים פרטיים
כדי להשבית את הרישום ביומן בלי להסיר את המדיניות, צריך לבצע את השלבים הבאים.
המסוף
נכנסים לדף Cloud DNS policies במסוף Google Cloud .
לוחצים על מדיניות שרת ה-DNS שרוצים לעדכן.
לוחצים על עריכת המדיניות.
בקטע Logs, בוחרים באפשרות Off.
לוחצים על Save.
gcloud
מריצים את הפקודה dns policies update.
gcloud dns policies update POLICY_NAME \
--networks=NETWORK \
--no-enable-loggingמחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות ה-DNS-
NETWORK: רשת אחת או יותר ברשימה מופרדת בפסיקים
הפעלת רישום ביומן לאזורים ציבוריים מנוהלים
כדי להפעיל את הרישום ביומן עבור אזור ציבורי מנוהל קיים, פועלים לפי השלבים הבאים.
המסוף
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על האזור הציבורי המנוהל שרוצים להפעיל בו את הרישום ביומן.
לוחצים על Edit.
בקטע Cloud Logging, לוחצים על On.
לוחצים על Save.
gcloud
מריצים את הפקודה dns managed-zones update.
gcloud dns managed-zones update ZONE_NAME --log-dns-queries \
מחליפים את ZONE_NAME בשם של אזור DNS מנוהל שרוצים להפעיל עבורו את הרישום ביומן.
השבתת הרישום ביומן של אזורים ציבוריים מנוהלים
כדי להשבית את הרישום ביומן של אזור מנוהל ציבורי קיים.
המסוף
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על האזור הציבורי המנוהל שרוצים להפעיל בו את הרישום ביומן.
לוחצים על Edit.
בקטע Cloud Logging, לוחצים על Off.
לוחצים על Save.
gcloud
מריצים את הפקודה dns managed-zones update.
gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \
מחליפים את ZONE_NAME בשם של האזור המנוהל ב-DNS שרוצים להשבית בו את הרישום ביומן.
צפייה ביומנים
אפשר לצפות ביומנים במסוף Google Cloud .
המסוף
נכנסים לדף Logs Explorer במסוף Google Cloud .
הצגת השדות של פורמט הרשומה
כל רשומה ביומן כוללת את השדות הבאים, אם הם רלוונטיים. חלק מהשדות משותפים גם עם מדדי המעקב.
| שדה | סוג השדה | תיאור | בשימוש במדדים |
|---|---|---|---|
alias_query_response_code |
String | קוד התגובה שמוחזר מהשאילתה כדי לפתור את השם הקנוני של רשומת ה-ALIAS | כן |
authAnswer |
בוליאני / DNS | תשובה סמכותית, פרמטרים של DNS ב-IANA: דגלים בכותרת של DNS | לא |
destinationIP |
מחרוזת / יעד | כתובת ה-IP של היעד, רלוונטית רק למקרים של העברה | לא |
egressError |
String | שגיאת שרת proxy ליציאה, השגיאה בפועל שדווחה על ידי שרת ה-proxy ליציאה כפי שהתקבלה משרת ה-DNS המקומי אפשר להשתמש בשדה הזה כדי להבחין בין SERVFAIL בפועל שמוחזר על ידי ה-DNS המקומי לבין שגיאת רשת שנתקלה על ידי שרת ה-proxy של היציאה |
לא |
egressPath |
String | אם הערך הוא |
לא |
healthyIps |
String | קבוצת כתובות ה-IP ב-ResourceRecordSet שידועות כ- |
לא |
location |
String | Google Cloud האזור, לדוגמה us-east1, שממנו התקבלה התשובה |
כן |
outboundEndpoint.name |
String | השם שסופק על ידי המשתמש של נקודת הקצה היוצאת (המחרוזת הזו מופיעה רק אם egress_path הוא OUTBOUND_ENDPOINT) |
לא |
outboundEndpoint.projectId |
String | מזהה הפרויקט ב- Google Cloud שבו נמצאת נקודת הקצה של התעבורה היוצאת (המחרוזת הזו מופיעה רק אם הערך של egress_path הוא OUTBOUND_ENDPOINT) |
לא |
outboundEndpoint.location |
String | האזור Google Cloud שבו נמצאת נקודת הקצה לתעבורה יוצאת (המחרוזת הזו מופיעה רק אם egress_path הוא OUTBOUND_ENDPOINT) |
לא |
project_id |
String | Google Cloud מזהה הפרויקט של הרשת שממנה התקבלה השאילתה | כן |
protocol |
מחרוזת / DNS | TCP | UDP |
לא |
queryName |
מחרוזת / DNS | שם שאילתת DNS, RFC 1035 4.1.2 | לא |
queryType |
מחרוזת / DNS | סוג שאילתת DNS, פרמטרים של IANA DNS: סוגים של רשומות משאבים (RR) | לא |
responseCode |
מספר / DNS | קוד תגובה, פרמטרים של IANA DNS: DNS RCODE | לא |
rdata |
מחרוזת / DNS | תשובת DNS בפורמט הצגה, פרמטרים של IANA DNS: סוגי רשומות משאבים (RR), מקוצרת ל-260 בייטים | לא |
sourceIP |
מחרוזת / מקור | כתובת ה-IP שממנה הגיעה השאילתה | לא |
sourceNetwork |
מחרוזת / מקור | הרשת שממנה השאילתה הגיעה למערכת שלנו | לא |
source_type |
String | מקור השאילתה: inbound-forwarding, gce-vm, internet, peering-zone, fqdn-forwarding-target
|
לא |
target_name |
String | שם היעד, למשל שם האזור, שם המדיניות, שם האזור הפנימי, שם הדומיין החיצוני | כן |
target_type |
String | סוג היעד שמפענח את שאילתת ה-DNS: private-zone, forwarding-zone, forwarding-policy, peering-zone, internal, external, response-policy, service-directory-zone, reverse-lookup-zone, zonal-private-zone
|
כן |
unHealthyIps |
String | קבוצה של כתובות IP ב-ResourceRecordSet שידועות ל-Cloud DNS בתור |
לא |
vmInstanceId |
מספר / מקור | מזהה מכונה וירטואלית של Compute Engine, רלוונטי רק לשאילתות שהופעלו על ידי מכונות וירטואליות של Compute Engine | לא |
vmInstanceName |
מחרוזת / מקור | שם המכונה הווירטואלית של Compute Engine, רלוונטי רק לשאילתות שהתחילו על ידי מכונות וירטואליות של Compute Engine | לא |
vmProjectId |
מחרוזת / מקור | Google Cloud מזהה הפרויקט של הרשת שממנה נשלחה השאילתה, רלוונטי רק לשאילתות שהתחילו על ידי מכונות וירטואליות של Compute Engine | לא |
vmZoneName |
מחרוזת / מקור | שם האזור של המכונה הווירטואלית שממנה נשלחה השאילתה, רלוונטי רק לשאילתות שהתחילו על ידי מכונות וירטואליות של Compute Engine | לא |
תמחור
כל היומנים של Cloud DNS נכתבים ב-Cloud Logging. אין חיוב נפרד מ-Cloud DNS על השירות הזה. עם זאת, היומנים האלה יכולים לגרור עלויות אחסון נוספות, בהתאם לגודל היומנים שנכתבים ונשמרים.
לצורך החישוב, Cloud DNS כותב כ-5MB של נתוני יומן כדי לעבד 10,000 שאילתות DNS.
למידע על התמחור של Cloud Logging, ראו תמחור של Google Cloud Observability: Cloud Logging.
פתרון בעיות בהעברה של אימיילים יוצאים
אם אתם מקבלים יומנים שמכילים את SERVFAIL וחסרים בהם שדות מסוימים, כמו destinationIP, egressIP ו-egressError, עיינו בקטע הרלוונטי במסמכי התיעוד של פתרון הבעיות.
מעקב אחרי מדדים
Cloud DNS מייצא מדדי מעקב ל-Cloud Monitoring.
אתם יכולים לעקוב אחרי קצב השאילתות והתשובות של DNS שמפנות לאזורים פרטיים, לאזורי העברה, להעברת מדיניות, לאזורים Google Cloud פנימיים ולאינטרנט. אפשר לעקוב אחרי המדדים בדף Monitoring במסוף Google Cloud וב-Cloud Monitoring API.
המדד dns.googleapis.com/query/response_count של הפרש הייצוא של שרת DNS פרטי מכיל את התווית response_code כדי לספור את מספר השאילתות לכל קוד תגובה.
התווית response_code היא מסוג string, והערכים האפשריים שלה הם NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP ו-UNKNOWN.
ההגדרות של הקודים האלה מפורטות במאמר בנושא IANA DNS RCODEs.
המדד מיוצא לסוג המשאב dns_query באמצעות השדות הרלוונטיים של פורמט הרשומה ביומן.
מעקב אחרי הפצת ה-DNS
כשמשתמשים ב-Google Cloud CLI או ב-API בארכיטקטורת REST כדי לבצע שינויים, השינויים מסומנים בהתחלה כ"בהמתנה" עד שהפעולה מסתיימת. אפשר להשתמש ב-CLI של gcloud או ב-API בארכיטקטורת REST כדי לבדוק את סטטוס השינויים או לקבל את היסטוריית השינויים.
פעולה מסתיימת (סטטוס: done) כש-Cloud DNS מעדכן בהצלחה את המערכת ששולטת בשרתים. יכול להיות שעדיין יהיו עיכובים עד שכל שרתי השמות יתעדכנו.
רשימת שינויים באזור מנוהל
כדי לכלול ברשימה את השינויים באזור מנוהל, מריצים את הפקודה dns record-sets changes list.
gcloud
gcloud dns record-sets changes list --zone=ZONE
מחליפים את ZONE בשם של האזור המנוהל שרוצים לנהל את קבוצות הרשומות שלו.
אימות הפצת DNS
כדי לעקוב אחרי השינויים ולוודא שהם נקלטו בשרת השמות של ה-DNS, אתם יכולים להשתמש בפקודות watch ו-dig. בדוגמה הבאה מוסבר איך לחפש את שרת השמות ולבדוק מתי אחד משרתי השמות של האזור המנוהל קלט שינוי ברשומת MX.
כדי לחפש את שרתי השמות של האזור:
המסוף
נכנסים לדף Cloud DNS zones במסוף Google Cloud .
לוחצים על השם של האזור המנוהל שרוצים לבדוק.
בדף פרטי האזור, לוחצים על הגדרת רשם בפינה השמאלית העליונה.
gcloud
מריצים את הפקודה dns managed-zones describe.
gcloud dns managed-zones describe ZONE_NAME
מחליפים את ZONE_NAME בשם האזור של Cloud DNS.
כדי לבדוק אם הרשומות כבר זמינות בשרת השמות הסמכותי, מריצים את הפקודה הבאה של dig:
gcloud
watch dig example.com in MX @ZONE_NAME_SERVER
מחליפים את ZONE_NAME_SERVER באחד משרתי השמות מהאזור המנוהל.
הפקודה watch מריצה את הפקודה dig כל 2 שניות כברירת מחדל. אפשר להשתמש בפקודה הזו כדי לדעת מתי שרת השמות הסמכותי יזהה את השינוי, וזה אמור לקרות תוך 120 שניות. אחרי שהשינוי יתעדכן בשרת השמות המהימן, מפענחי DNS יוכלו להתחיל לאסוף את הרשומה החדשה.
מערכות לפתרון שמות שכבר שמרו במטמון את הרשומה הקודמת יחכו עד שתוקף הערך הקודם של ה-TTL של הרשומה יפוג.
כדי להריץ את הפקודה dig מול שרת השמות של המערכת, אפשר להסיר את @<address>
מהפקודה dig. אם רוצים לעקוב אחרי ההפצה לשרתי שמות אחרים, אפשר לשנות את address כך שיצביע על שרתי שמות אחרים.
המאמרים הבאים
- כדי להוסיף, למחוק ולעדכן רשומות, אפשר לעיין במאמר בנושא הוספה, שינוי ומחיקה של רשומות.
- כדי ליצור, לעדכן, להציג ברשימה ולמחוק אזורים מנוהלים, קראו את המאמר ניהול אזורים.
- במאמר פתרון בעיות תוכלו למצוא פתרונות לבעיות נפוצות שעלולות לקרות כשמשתמשים ב-Cloud DNS.
- למידע על הפניית ה-API, אפשר לעיין במאמר בנושא Cloud DNS API בארכיטקטורת REST.
- בסקירה הכללית על Cloud DNS מוסבר מהו Cloud DNS.