שימוש ברישום ביומן ובמעקב

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

שימוש ברישום ביומן של Cloud DNS

הרישום ביומן של Cloud DNS עוקב אחרי שאילתות ששרתי השמות פותרים בשביל רשתות הענן הווירטואלי הפרטי (VPC), וגם אחרי שאילתות מישויות חיצוניות ישירות לתחום ציבורי.

שאילתות שמתועדות ביומן יכולות להגיע ממכונות וירטואליות (VM) של Compute Engine, מקונטיינרים של Google Kubernetes Engine באותה רשת VPC, מתחומי שיתוף או מלקוחות מקומיים שמשתמשים בהעברת DNS נכנסת. ייתכן שבסופו של דבר השאילתות יסופקו על ידי תחומי DNS פרטיים, תחומי DNS להעברה, שרתי שמות חלופיים, תחומי DNS פנימיים מסוגGoogle Cloud או תחומי DNS חיצוניים.

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

הפעלה והשבתה של רישום ביומן של תחומים פרטיים מנוהלים

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

כדי להפעיל את הרישום ביומן ברשת שאין לה מדיניות DNS, מריצים את הפקודה dns policies create.

gcloud

gcloud dns policies create POLICY_NAME \
    --networks=NETWORK \
    --enable-logging \
    --description=DESCRIPTION

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

  • POLICY_NAME: השם של מדיניות ה-DNS
  • NETWORK: רשימה מופרדת בפסיקים של רשת אחת או יותר
  • DESCRIPTION: תיאור המדיניות

כדי להפעיל את הרישום ביומן ברשת שיש לה מדיניות DNS קיימת, מריצים את הפקודה dns policies update.

gcloud

gcloud dns policies update POLICY_NAME \
    --networks=NETWORK \
    --enable-logging

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

  • POLICY_NAME: השם של מדיניות ה-DNS
  • NETWORK: רשימה מופרדת בפסיקים של רשת אחת או יותר

כדי להשבית את הרישום ביומן בלי לבטל את המדיניות, מריצים את הפקודה dns policies update.

gcloud

gcloud dns policies update POLICY_NAME \
    --networks=NETWORK \
    --no-enable-logging

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

  • POLICY_NAME: השם של מדיניות ה-DNS
  • NETWORK: רשימה מופרדת בפסיקים של רשת אחת או יותר

כדי למחוק את המדיניות לגמרי, מריצים את הפקודה dns policies delete.

gcloud

gcloud dns policies delete POLICY_NAME \

מחליפים את POLICY_NAME בשם של מדיניות ה-DNS שרוצים למחוק.

הפעלה והשבתה של רישום ביומן באזורים ציבוריים מנוהלים

כדי להפעיל את הרישום ביומן לאזור ציבורי מנוהל קיים, מריצים את הפקודה dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --log-dns-queries \

מחליפים את ZONE_NAME בשם של תחום ה-DNS המנוהל שרוצים להפעיל בו את הרישום ביומן.

כדי להשבית את הרישום ביומן של תחום מנוהל ציבורי קיים, מריצים את הפקודה dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \

מחליפים את ZONE_NAME בשם של תחום ה-DNS המנוהל שרוצים להשבית את הרישום ביומן שלו.

צפייה ביומנים

אפשר להציג יומנים במסוף Google Cloud .

המסוף

נכנסים לדף Logs Explorer במסוף Google Cloud .

כניסה לדף Logs Explorer

הצגת שדות של פורמט רשומה

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

שדה סוג השדה תיאור בשימוש במדדים
alias_query_response_code (תצוגה מקדימה) String קוד התגובה שהוחזר מהשאילתה לפתרון השם הקנוני של רשומת ה-ALIAS כן
authAnswer בוליאני / DNS תשובה מהימנה, RFC 1035 לא
destinationIP מחרוזת / יעד כתובת ה-IP של היעד, רלוונטית רק לבקשות תמיכה להעברה לא
egressError String

שגיאה בשרת proxy ליציאה, השגיאה בפועל שדווחה על ידי שרת ה-proxy ליציאה כפי שהתקבלה משרת ה-DNS המקומי

אפשר להשתמש בשדה הזה כדי להבדיל בין שגיאת SERVFAIL בפועל שחוזרת מה-DNS המקומי לבין שגיאת רשת שנתקלה בה שרת ה-proxy ליציאה

לא
healthyIps String

קבוצת כתובות ה-IP ב-ResourceRecordSet שידועות כ-HEALTHY ל-Cloud DNS בזמן השאילתה

לא
location String האזורGoogle Cloud , לדוגמה us-east1, שממנו הוצגה התגובה כן
project_id String Google Cloud מזהה הפרויקט של הרשת שממנה התקבלה השאילתה כן
protocol מחרוזת / DNS TCP | UDP לא
queryName מחרוזת / DNS שם שאילתת ה-DNS, RFC 1035 4.1.2 לא
queryType מחרוזת / DNS סוג שאילתת ה-DNS, RFC 1035 4.1.2 לא
responseCode מספר / DNS קוד תגובה, RFC 1035 4.1.1 לא
rdata מחרוזת / DNS תשובה של DNS בפורמט תצוגה, RFC 1035 5.1, מקוצרת ל-260 בייטים לא
sourceIP מחרוזת / מקור כתובת ה-IP שממנה נשלחה השאילתה לא
sourceNetwork מחרוזת / מקור הרשת שממנה השאילתה הגיעה למערכת שלנו לא
source_type String מקור השאילתה: inbound-forwarding, ‏ gce-vm לא
target_name String שם היעד, למשל שם תחום, שם מדיניות, שם תחום פנימי, שם דומיין חיצוני כן
target_type String סוג היעד שמבצע את פתרון שאילתת ה-DNS: private-zone, ‏ forwarding-zone,‏ forwarding-policy, ‏ peering-zone, ‏ internal, ‏ external כן
unHealthyIps String

קבוצת כתובות ה-IP ב-ResourceRecordSet שידועות כ-UNHEALTHY ל-Cloud DNS בזמן השאילתה

לא
vmInstanceId מספר / מקור מזהה המכונה הווירטואלית ב-Compute Engine, רלוונטי רק לשאילתות שהופעלו על ידי מכונות וירטואליות של Compute Engine לא
vmInstanceName מחרוזת / מקור שם המכונה הווירטואלית של Compute Engine. רלוונטי רק לשאילתות שהופעלו על ידי מכונות וירטואליות של Compute Engine לא
vmProjectId מחרוזת / מקור Google Cloud מזהה הפרויקט של הרשת שממנה נשלחה השאילתה, רלוונטי רק לשאילתות שהופעלו על ידי מכונות וירטואליות של Compute Engine לא
vmZoneName מחרוזת / מקור השם של תחום ה-VM שממנו נשלחה השאילתה. השדה רלוונטי רק לשאילתות שהופעלו על ידי מכונות וירטואליות של 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 פרטי מייצא את מדד הדלתה dns.googleapis.com/query/response_count שמכיל את התווית response_code כדי לספור את מספר השאילתות לכל קוד תגובה.

התווית response_code היא מסוג string עם הערכים האפשריים NOERROR,‏ FORMERR,‏ SERVFAIL,‏ NXDOMAIN,‏ NOTIMP ו-UNKNOWN. להגדרות של הקודים האלה, ראו קודי RCODE של IANA DNS.

המדד מיוצא כסוג המשאב dns_query באמצעות השדות הרלוונטיים של פורמט הרשומה ביומן.

מעקב אחר ההפצה של רשומות DNS

כשמשתמשים ב-CLI של Google Cloud או ב-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.

כדי לחפש את שרתי השמות של האזור, מריצים את הפקודה dns managed-zones describe:

gcloud

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 יוכלו להתחיל לאתר את הרשומה החדשה. פותרי DNS שכבר שמרו את הרשומה הקודמת במטמון ממתינים לתפוגת התוקף של ערך ה-TTL הקודם של הרשומה.

כדי להריץ את dig מול שרת השמות של המערכת, אפשר להסיר את @<address> מהפקודה dig. אם רוצים לעקוב אחרי ההפצה לשרתי שמות אחרים, אפשר לשנות את address כך שיצביע על שרתי שמות אחרים.

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