בדף הזה מוסבר על מדדי הרישום והמעקב של Cloud DNS,כולל תחומים ציבוריים, תחומים פרטייםו תחומים להעברה. בדף הזה יש גם הוראות למעקב אחרי ההפצה של שינויים ב-DNS הציבורי.
שימוש ברישום ביומן של Cloud DNS
רישום ביומן ב-Cloud DNS עוקב אחרי שאילתות ששרתי שמות פותרים עבור רשתות הענן הווירטואלי הפרטי (VPC), וגם אחרי שאילתות מישות חיצונית ישירות לאזור ציבורי.
שאילתות שנרשמות ביומן יכולות להגיע ממופעים של מכונות וירטואליות (VM) של Compute Engine, מקונטיינרים של Google Kubernetes Engine באותה רשת VPC, מאזורים של שירותי DNS מקושרים או מלקוחות מקומיים שמשתמשים בהעברת DNS נכנס. יכול להיות שבסופו של דבר שאילתות יקבלו מענה מאזורי DNS פרטיים, מאזורי DNS להעברה, משרתי שמות חלופיים, מאזורי DNS פנימיים או מאזורי DNS חיצוניים.Google Cloud
רשומות היומן שייכות לפרויקט שבבעלותו הרשת או האזור הציבורי שדרכם עברה הבקשה. במקרה של VPC משותף, רשומות היומן שייכות לפרויקט המארח כי הוא הבעלים של הרשת.
הפעלה והשבתה של רישום ביומן לתחומים פרטיים מנוהלים
אפשר להשתמש במדיניות DNS כדי להפעיל או להשבית את הרישום ביומן עבור הרשתות שלכם. כשמפעילים את רישום השאילתות, כל שאילתת DNS לאזור פרטי מנוהל ב-Cloud DNS נרשמת ביומן.
כדי להפעיל את הרישום ביומן עבור רשת שאין לה מדיניות DNS, מבצעים את השלבים הבאים.
המסוף
נכנסים לדף Create a DNS policy במסוף Google Cloud .
בשדה Name, מזינים שם למדיניות.
אופציונלי: מזינים תיאור בשדה תיאור.
בקטע יומנים, בוחרים באפשרות מופעל.
בקטע 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 המקומי לבין שגיאת רשת שנתקלה בה פרוקסי היציאה. |
לא |
healthyIps |
String | קבוצת כתובות ה-IP ב-ResourceRecordSet שידועות כ- |
לא |
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, פרמטרים של DNS ב-IANA: סוגים של רשומות משאבים (RR) | לא |
responseCode |
מספר / DNS | קוד תגובה, פרמטרים של DNS של IANA: קודי R של DNS | לא |
rdata |
מחרוזת / DNS | תשובת DNS בפורמט הצגה, פרמטרים של DNS של IANA: סוגים של רשומות משאבים (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 שידועות כ- |
לא |
vmInstanceId |
מספר / מקור | מזהה מכונת VM ב-Compute Engine, רלוונטי רק לשאילתות שהופעלו על ידי מכונות וירטואליות של Compute Engine | לא |
vmInstanceName |
מחרוזת / מקור | שם מכונת VM של Compute Engine, רלוונטי רק לשאילתות שמופעלות על ידי מכונות וירטואליות של Compute Engine | לא |
vmProjectId |
מחרוזת / מקור | Google Cloud מזהה הפרויקט של הרשת שממנה נשלחה השאילתה, רלוונטי רק לשאילתות שמופעלות על ידי מכונות VM של 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 המעקב זמין ב Google Cloud מסוף בדף Monitoring וב-Cloud Monitoring API.
Private DNS מייצא את dns.googleapis.com/query/response_count מדד הדלתא
שכולל את התווית response_code כדי לספור את מספר השאילתות לכל
קוד תגובה.
התווית response_code היא מסוג string והערכים האפשריים שלה הם NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP ו-UNKNOWN.
הגדרות של הקודים האלה מפורטות בקודי ה-DNS R של IANA.
המדד מיוצא במסגרת סוג המשאב dns_query באמצעות השדות הרלוונטיים של פורמט רשומת היומן.
מדדים של זיהוי איומים ב-DNS
אם יש לכם גלאי איומים ב-DNS שמנטר את רשת ה-VPC, הגלאי מייצא מדדים שאפשר לבדוק באמצעות Cloud Monitoring.
יש שני סוגים של מדדים:
-
networksecurity.googleapis.com/dnsthreatdetector/sent_dns_log_count: יומני שאילתות DNS שנשלחים לספק לבדיקה. -
networksecurity.googleapis.com/dnsthreatdetector/received_dns_threat_count: מספר יומני האיומים שזוהו. המדד הזה כולל את חומרת האיום ואת סוג האיום.
מעקב אחרי הפצת 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 מול שרת השמות של המערכת, אפשר להסיר את dig מהפקודה dig.@<address> אם רוצים לעקוב אחרי ההפצה לשרתי שמות אחרים, אפשר לשנות את address כך שיצביע על שרתי שמות אחרים.
המאמרים הבאים
- כדי להוסיף, למחוק ולעדכן רשומות, אפשר לעיין במאמר הוספה, שינוי ומחיקה של רשומות.
- כדי ליצור, לעדכן, להציג ברשימה ולמחוק אזורים מנוהלים, אפשר לעיין במאמר בנושא ניהול אזורים.
- כדי למצוא פתרונות לבעיות נפוצות שאתם עשויים להיתקל בהן במהלך השימוש ב-Cloud DNS, אפשר לעיין במאמר בנושא פתרון בעיות.
- למידע נוסף על ה-API, אפשר לעיין במאמר בנושא Cloud DNS REST API.
- לסקירה כללית על Cloud DNS, ראו סקירה כללית על Cloud DNS.