אתם יכולים להפעיל יומני שאילתות של Cloud DNS בפרויקט Compute Engine ולהשתמש ביומנים האלה כדי לעקוב אחרי שיעורי הכשל של DNS פנימי ולהשוות אותם לפני ואחרי המעבר ל-DNS פנימי אזורי. רשומות ביומן מתעדות פענוח DNS מוצלח ומתי DNS פנימי לא מצליח לפתור שם דומיין נתון.
סקירה כללית
כדי להשתמש ביומני שאילתות של Cloud DNS כדי לעקוב אחרי שיעורי הכשל של DNS פנימי, צריך לבצע את השלבים הבאים:
- מקבלים את השם של רשת הענן הווירטואלי הפרטי (VPC) שמכילה את המכונות הווירטואליות שרוצים לנטר.
- מריצים פקודה של Google Cloud CLI כדי להפעיל את הרישום ביומן של שאילתות DNS, באמצעות שמות רשתות ה-VPC.
- מריצים שאילתות ב-Logs Explorer כדי להציג באופן חזותי את שיעורי ההצלחה והכישלון ולחקור אותם.
מידע על התמחור של רישום ביומן של שאילתות Cloud DNS
כשמפעילים את רישום שאילתות ה-DNS ב-Cloud DNS, נוצרת כמות גדולה של יומנים, שרבים מהם לא קשורים ל-DNS פנימי. לכן, יכול להיות שתחויבו על השימוש בתכונה הזו. באופן כללי, ה-50GiB הראשונים של אחסון יומנים בכל פרויקט לחודש ניתנים בחינם. כל 50GiB נוספים עולים 0.50 $.
למידע נוסף על התמחור, ראו סיכום התמחור של Cloud Logging.
אחזור השמות של רשתות הענן הווירטואלי הפרטי (VPC)
כדי לתעד נתוני שאילתות DNS, צריך להפעיל את הרישום ביומן עבור רשת ה-VPC שבה נעשה שימוש במופע החישוב. לרוב, בפרויקט Cloud de Confiance by S3NS יש כמה רשתות VPC. אפשר להשתמש בפקודה של ה-CLI של gcloud כדי לרשום את רשתות ה-VPC שבהן נעשה שימוש במופעי Compute שרוצים לעקוב אחריהם.
המסוף
נכנסים לדף VM instances במסוף Cloud de Confiance .
אופציונלי: משתמשים בתיבה Filter כדי להגביל את מספר המכונות שמוצגות.
לוחצים על שם המכונה שרוצים לבדוק.
בקטע Networking, מתחת ל-Network interfaces, אפשר לראות את ממשקי הרשת (NIC) שנוצרו למכונה, את הרשת ואת רשת המשנה שמשויכות לכל NIC ואת כתובות ה-IP שהוקצו להן.
gcloud
כדי להציג את רשתות ה-VPC שבהן משתמשות כל מכונות החישוב בפרויקט, משתמשים בפקודה
gcloud compute instances list. אפשר להוסיף לפקודה את האפשרות--formatכדי להגביל את המידע שמוחזר לשדות ספציפיים ולשנות את אופן ההצגה שלו. למשל:gcloud compute instances list \ --format="flattened(name,networkInterfaces[].name, \ networkInterfaces[].network.basename(), \ networkInterfaces[].stackType, networkInterfaces[].nicType)"הפלט אמור להיראות כך:
name: test-gvnic networkInterfaces[0].name: nic0 networkInterfaces[0].network: default networkInterfaces[0].nicType: GVNIC networkInterfaces[0].stackType: IPV4_ONLY --- name: test-multinic networkInterfaces[0].name: nic0 networkInterfaces[0].network: default networkInterfaces[0].nicType: GVNIC networkInterfaces[0].stackType: IPV4_ONLY networkInterfaces[1].name: nic0.14 networkInterfaces[1].network: net0 networkInterfaces[1].stackType: IPV4_ONLY networkInterfaces[2].name: nic1 networkInterfaces[2].network: prod-ipv6 networkInterfaces[2].nicType: GVNIC networkInterfaces[2].stackType: IPV4_IPV6
כדי לראות את ממשקי הרשת (NIC) של מכונת Compute ספציפית ואת רשתות ה-VPC שהוקצו לה, משתמשים בפקודה
gcloud compute instances describe. אפשר להוסיף לפקודה את האפשרות--formatכדי להגביל את המידע שמוחזר לשדות ספציפיים ולשנות את אופן ההצגה שלו, לדוגמה:gcloud compute instances describe INSTANCE_NAME --zone=ZONE \ --format="flattened(name,networkInterfaces[].name, \ networkInterfaces[].network.basename(), \ networkInterfaces[].stackType, networkInterfaces[].nicType)"
מחליפים את מה שכתוב בשדות הבאים:
-
INSTANCE_NAME: השם של המכונה שרוצים להציג -
ZONE: האזור של המכונה שרוצים להציג
הפלט אמור להיראות כך:
name: test-instance networkInterfaces[0].name: nic0 networkInterfaces[0].network: default networkInterfaces[0].nicType: GVNIC networkInterfaces[0].stackType: IPV4_ONLY networkInterfaces[1].name: nic1 networkInterfaces[1].network: prod-ipv6 networkInterfaces[1].nicType: GVNIC networkInterfaces[1].stackType: IPV4_IPV6 networkInterfaces[1].name: nic1.2 networkInterfaces[1].network: alt-ipv6-net networkInterfaces[1].nicType: GVNIC networkInterfaces[1].stackType: IPV4_IPV6 networkInterfaces[1].parentNicName: nic1
-
הפעלת רישום ביומן של שאילתות Cloud DNS
ב-Cloud DNS, מתבצע מעקב אחרי שאילתות ששרתי שמות פותרים עבור רשתות ה-VPC שלכם, וגם אחרי שאילתות מישות חיצונית ישירות לאזור ציבורי.
השאילתות שנרשמות ביומן יכולות להגיע ממכונות של Compute Engine, מקונטיינרים של Google Kubernetes Engine באותה רשת VPC, מאזורי קישור (peering) או מלקוחות מקומיים שמשתמשים בהעברת DNS נכנסת. יכול להיות שבסופו של דבר השאילתות ייפתרו על ידי תחומי DNS פרטיים, תחומי DNS להעברה, שרתי שמות חלופיים, תחומי Cloud de Confiance by S3NS DNS פנימיים או תחומי DNS חיצוניים.
רשומות היומן שייכות לפרויקט שבבעלותו הרשת או האזור הציבורי שבהם הועברה הבקשה. במקרה של VPC משותף, רשומות היומן שייכות לפרויקט המארח כי הפרויקט המארח הוא הבעלים של הרשת.
כדי להפעיל רישום ביומן של DNS, מבצעים אחת מהפעולות הבאות:
מריצים את הפקודה
gcloud dns policies createכדי ליצור מדיניות DNS חדשה עם רישום ביומן.gcloud dns policies create POLICY_NAME \ --networks=NETWORK_NAMES \ --enable-logging \ --description="Enable DNS query logging for NETWORK_NAMES"אם לרשת כבר יש מדיניות DNS, מעדכנים את מדיניות הרישום ביומן הקיימת באמצעות הפקודה
gcloud dns policies update.gcloud dns policies update POLICY_NAME \ --networks=NETWORK_NAMES \ --enable-logging
מחליפים את מה שכתוב בשדות הבאים:
- POLICY_NAME: השם של מדיניות ה-DNS
- NETWORK_NAMES: רשימה מופרדת בפסיקים של שמות רשתות
הוראות מפורטות ליצירה ולהפעלה של כללי מדיניות של DNS לרישום ביומן זמינות במאמר שימוש ברישום ביומן של Cloud DNS.
שימוש ב-Logs Explorer כדי להציג את היומנים ולקבל המחשה ויזואלית של שיעורי הכשל של DNS
אחרי שמפעילים את רישום ה-DNS ביומן, הפרויקט מתחיל לצבור יומנים ב-Logs Explorer. כדי לראות את היומנים האלה, נכנסים לדף Logs Explorer במסוף Cloud de Confiance .
מעקב אחרי כשלים בפענוח שמות DNS
כדי לבודד כשלים בדומיין שלא קיים, משתמשים בקוד התגובה NXDOMAIN. הכשלים האלה מתרחשים כששרת ה-DNS הפנימי לא מצליח לפתור שם דומיין מסוים.
בתיבת השאילתה בדף המסוף Logs Explorer, מזינים את הטקסט הבא:
resource.type="dns_query" jsonPayload.queryType="A" jsonPayload.queryName=~"\.internal\.$" jsonPayload.responseCode = "NXDOMAIN"לוחצים על Run query.
מעקב אחרי שאילתות מוצלחות של תרגום שם
משתמשים בקוד התגובה NOERROR כדי לבודד את פענוח ה-DNS המוצלח.
בתיבת השאילתה בדף המסוף Logs Explorer, מזינים את הטקסט הבא:
resource.type="dns_query" jsonPayload.queryType="A" jsonPayload.queryName=~"\.internal\.$" jsonPayload.responseCode = "NOERROR"לוחצים על Run query.
הגדרת מסגרת זמן לניתוח
אתם יכולים להשתמש בבורר טווח התאריכים של היומנים כדי לשנות את מסגרת הזמן של היומנים המנותחים. הבורר הזה נמצא בפינה השמאלית העליונה של החלון Logs Explorer.
כדי להשוות בצורה יעילה בין שיעורי השגיאות לשיעורי ההצלחה, צריך להפעיל יומני שאילתות DNS לפני המעבר לשימוש ב-DNS אזורי. Google ממליצה להפעיל את רישום שאילתות ה-DNS ביומן לפחות 24 שעות לפני ההעברה, כדי ליצור בסיס להשוואה לפני ההעברה.
אחרי שתאספו מספיק נתונים ביומני שאילתות ה-DNS, תוכלו לבצע את העברת ה-DNS האזורי. אתם יכולים לעקוב אחרי שיעורי פענוח ה-DNS במהלך המיגרציה כדי לוודא שהמיגרציה לא גורמת לעלייה בשיעורי הכשל של שאילתות DNS.
ניתוח והשוואה של שיעורי פענוח שמות DNS
כדי לנתח את שיעורי השגיאות וההצלחה ולהשוות ביניהם, אפשר להשתמש בנתונים הבאים.
מספר היומנים: לכל שאילתה ותקופה, ב-Logs Explorer מוצג מספר רשומות היומן שנמצאו. עלייה משמעותית במספרים
NXDOMAINאחרי ההעברה בשמות DNS שנפתרו בעבר (היה להםNOERROR) יכולה להצביע על בעיה.היסטוגרמה: ממשק Logs Explorer כולל היסטוגרמה. כשמריצים את השאילתות, בהיסטוגרמה מוצגת התדירות של רשומות יומן תואמות בטווח התאריכים שנבחר. האפשרות הזו שימושית להמחשה של:
- שיעור בסיסי של
NXDOMAINרשומות ביומן לפני ההעברה. - כל עלייה פתאומית ברשומות ביומן
NXDOMAINמיד אחרי ההעברה. - שינויים בקצב של רשומות ביומן
NOERROR.
כדי לראות את ההיסטוגרמה, לוחצים על Preferences, ואז על View ואז על Show timeline.
- שיעור בסיסי של