בדף הזה מתוארות הודעות שגיאה נפוצות שאולי תקבלו כשאתם משתמשים ב-Cloud DNS, מה המשמעות של ההודעות ופעולות מומלצות לפתרון השגיאות.
שגיאות כלליות
בקטע הזה מתוארות שגיאות כלליות.
alreadyExists
המשאב שצוין כבר קיים, לכן אי אפשר ליצור כפילויות.
פעולה מומלצת: כשיוצרים משאב, כדאי להשתמש ב-get/list
API המתאים כדי לגלות אילו משאבים כבר קיימים.
אם מקבלים את השגיאה הזו כשמוסיפים רשומות, זה קורה כי רשומה בודדת נחשבת כקבוצת רשומות, כלומר כל רשומה (אם יש כמה רשומות) פועלת כרשומה שונה. אפשר להוסיף שני ערכים או מחרוזות לערכת הרשומות לאותו שם של מערכת שמות הדומיינים (DNS) על ידי הוספת רווח בין הערך הראשון לערך השני.
accessNotConfigured
הגישה לא הוגדרה
כדי לפתור את השגיאה הזו, צריך להפעיל את Cloud DNS API בפרויקט.
inactiveBillingState
אי אפשר לקבל בקשות בפרויקט
example_projectכשהחיוב לא פעיל. יכולות לחלוף כמה דקות עד שהסטטוס של החיוב יתעדכן.
פעולה מומלצת: מפעילים את החיוב בפרויקט. כדי להפעיל את החיוב בפרויקט חדש או להפעיל מחדש את החיוב בפרויקט קיים, פועלים לפי השלבים המתאימים במאמר הפעלת החיוב בפרויקט.
preconditionFailed
זו שגיאה כללית שאומרת שמשהו בבקשה לא תואם למצב הנוכחי של משאב השרת. הלקוח צריך לבצע פעולה כדי לתקן את הבעיה ואז לנסות שוב. יכול להיות שהסיבה לכך היא ששלחת createבקשת שינוי שמנסה למחוק קבוצת רשומות של משאב שלא תואמת לקבוצת הרשומות שכבר קיימת (אותו שם ואותו סוג).
קוראים את המצב הנוכחי של האזור ומחליטים מה רוצים למחוק. יכול להיות שהוא השתנה מאז הפעם האחרונה שבדקת אותו.
הודעת השגיאה כוללת את הנתיב לחלק הבעייתי בבקשה. לדוגמה, entity.change.deletions[6] מתייחס לרכיב השביעי במערך deletions של אובייקט השינוי בגוף בקשת ה-POST.
פעולה מומלצת: צריך לתקן את החלק בבקשה שסומן כבעייתי.
required
זו שגיאה כללית שאומרת שחסר חלק נדרש בבקשה. לדוגמה, הבקשה ליצירת אזור מנוהל דורשת שם, שם DNS ותיאור. אם אחד מהשדות האלה חסר, הבקשה נכשלת ומוצגת השגיאה הבאה.
הפעולה המומלצת: צריך למלא את הפרמטר הנדרש ולנסות שוב.
notFound
המשאב שצוין לא קיים.
פעולה מומלצת: מוודאים שמשתמשים בשם של משאב קיים.
quotaExceeded
השגיאה הזו מוצגת כששינוי שעומד להתבצע יגרום לחריגה מהמכסה הנוכחית.
המכסה משויכת לפרויקט. לדוגמה, מותר לכם להשתמש רק במספר מסוים של קבוצות רשומות של משאבים בכל אזור. אם אתם צריכים להגדיל את המכסה, אתם יכולים לפנות לצוות המכירות שלכם. Google Cloud לפרויקטים חדשים יש מכסה שמוגדרת כברירת מחדל, כמו שמפורט במאמר מכסות ומגבלות של משאבים ב-Cloud DNS.
לכל המאפיינים השונים שמוגבלים על ידי DNS, אפשר לעיין בפעולה Projects.get.
הפעולה המומלצת: כדאי לבדוק את הפרויקט כדי להבין למה כבר נעשה שימוש כה נרחב במשאב הזה. בדף Quotas במסוף Google Cloud של הפרויקט אפשר לבקש הגדלה של המכסה לפרויקט. אפשר גם לעיין במאמר בנושא איך שולחים בקשה לשינוי המכסות.
שגיאות שקשורות לאזורים מנוהלים
בקטע הזה מפורטות שגיאות שקשורות לאזורים מנוהלים.
invalidFieldValue
ערך לא תקין ל
entity.managedZone.name.
הפעולה ליצירת אזור מנוהל עלולה להיכשל עם השגיאה הזו אם השם של האזור המנוהל לא מתחיל באות, לא מסתיים באות או בספרה, ומכיל רק אותיות קטנות, ספרות או מקפים.
managedZoneDnsNameNotAvailable
האזור המנוהל שצוין לא זמין, ולכן אי אפשר ליצור אותו.
הפעולה ליצירת אזור מנוהל עלולה להיכשל עם השגיאה הזו מהסיבות הבאות:
- שם ה-DNS של האזור המוצע שמור, לדוגמה, נקודה (
.),.comאו.co.uk. - אין יותר שרתי שמות זמינים לאירוח שם ה-DNS של האזור. Cloud DNS משתמש במאגר של שרתי שמות, והמאגר הזה סופי. שאילתת DNS לכל שרת שמות צריכה להיות ממופה באופן חד-משמעי לאזור מנוהל אחד. פרטים נוספים זמינים במאמר בנושא מגבלות של שרתי שמות.
פעולה מומלצת: אם אתם הבעלים הרשומים של שם ה-DNS המדובר, בדקו אם יש אזורים חופפים. כדי להגדיר DNS לדומיין ולתת-הדומיינים שלו, מומלץ ליצור קודם אזור ראשי יחיד ולהוסיף רשומות לכל תת-דומיין באזור הזה.
verifyManagedZoneDnsNameOwnership
צריך לאמת את הבעלות על הדומיין
example.com(או על דומיין הורה) ואז לנסות שוב.
פעולה מומלצת: כשמקבלים את השגיאה הזו, צריך לאמת את הבעלות על הדומיין ואז לנסות שוב.
שגיאות שקשורות לרשומות מנוהלות
השגיאות בקטע הזה קשורות לרשומות.
containerNotEmpty
אי אפשר למחוק את המשאב שצוין כי הוא לא ריק.
הפעולה המומלצת: אם רוצים למחוק את המשאב, צריך לרוקן אותו קודם.
invalidZoneApex
הגדרת רשומות המשאבים שצוינה לא תקינה כי אזור חייב להכיל בדיוק הגדרת רשומות משאבים אחת מסוג מסוים בנקודת השיא.
Apex בהקשר של DNS מייצג את שם ה-DNS עם המספר הקטן ביותר של תוויות שמותרות באזור. היא גם נמצאת בראש היררכיית האזורים.
הקודקוד של אזור הוא שם ה-DNS ששווה ל-ManagedZone.dnsName.
השגיאה הזו מציינת שניסיתם לבצע שינוי שיגרום להפרה של כלל ה-DNS, שלפיו אזור חייב להכיל בדיוק קבוצה אחת של רשומות משאבים מסוג מסוים בנקודת השיא. הפעולות הבאות עלולות לגרום לשגיאה הזו:
- ניסית למחוק את קבוצת רשומות המשאבים
NSהנדרשת בנקודת השיא. - ניסית למחוק את קבוצת רשומות המשאבים
SOAהנדרשת בנקודת השיא. - ניסית ליצור קבוצת רשומות משאבים מסוג
SOAnot בנקודת השיא.
פעולה מומלצת: אם השגיאה הזו מופיעה, סימן שאתם מנסים לבצע פעולה שאסורה לפי כללי ה-DNS. בודקים אם יש טעויות בבקשה. אין צורך למחוק את קבוצות רשומות המשאבים הנדרשות.
invalidRecordCount
מותר להגדיר רק רשומה אחת לקבוצת רשומות המשאבים
entity.change.additions[XX]כי הסוג שלה הוא<SOA_OR_CNAME>.
לפי הכללים של DNS, לסטים של רשומות משאבים מסוג SOA ו-CNAME יכולה להיות רק רשומת משאב אחת. השגיאה הזו מופיעה אם מנסים ליצור שינוי שיגרום להפרה של הכללים האלה. לדוגמה:
{
kind: "dns#rrset"
name: "blog.example.com.",
type: "CNAME",
rrdata: [ "www.example.com.", "www2.example.com." ],
...
}
הפעולה המומלצת: אם השגיאה הזו מופיעה, כדאי לבדוק את הבקשה. ניסית לבצע פעולה שלא מותרת.
cnameResourceRecordSetConflict
הקבוצה של רשומות המשאבים
entity.change.additions[XX]לא תקינה כי לשם ה-DNSexample.comיכולה להיות קבוצה אחת של רשומות משאבים מסוג CNAME או קבוצות של רשומות משאבים מסוגים אחרים, אבל לא שניהם.
השגיאה הזו מתרחשת כשיוצרים שני סוגים של קבוצות רשומות משאבים, כמו רשומת A ורשומת CNAME לאותו שם DNS. סיבה נפוצה לשגיאה הזו היא ניסיון ליצור רשומת CNAME בנקודת השיא של האזור. אי אפשר לעשות את זה כי זה יתנגש עם הרשומות הנדרשות SOA ו-NS באותו שם.
הפעולה המומלצת: צריך לבחור אחת מהאפשרויות.
wildcardNotAllowed
הסוג של קבוצת רשומות המשאבים שצוינה לא מתאים להיות תבנית wildcard.
ב-DNS, תו כללי לחיפוש הוא סוג מיוחד של קבוצת רשומות משאבים שתואמת לבקשות לשמות דומיין שלא קיימים. מגבלה אחת של Cloud DNS היא שאי אפשר ליצור קבוצה של רשומות משאבים עם התו הכללי לחיפוש מסוג NS.
הפעולה המומלצת: בשלב הזה אין תמיכה בערכות של רשומות משאבים עם תו כללי לחיפוש NS. אפשר לפנות אל התמיכה של Cloud DNS או להצטרף אל cloud-dns-discuss ולשתף את המטרה שלכם.
recordTypeDisallowedAtZoneApex
רשומת המשאבים שצוינה לא יכולה להתקיים לצד אף סוג רשומה אחר, כולל רשומת
SOAשנדרשת בנקודת השיא של האזור.
אי אפשר להציב רשומת משאבים מסוג CNAME בנקודת השיא, כי היא לא יכולה להתקיים לצד אף סוג אחר של רשומת משאבים, כולל רשומת המשאבים מסוג SOA שנדרשת בנקודת השיא של האזור.
הפעולה המומלצת: שימוש ברשומת משאבים מסוג ALIAS. רשומת משאב ALIAS היא סוג רשומת DNS בהתאמה אישית ב-Cloud DNS, שפועלת כמו רשומת משאב CNAME אבל אפשר להשתמש בה רק בנקודת השיא של האזור, והיא מגיבה רק לשאילתות של רשומת כתובת (A או AAAA). מידע נוסף זמין במאמר רשומות ALIAS.
invalidValue
זו שגיאה כללית שאומרת שמשהו בבקשה שלכם היה לא תקין, בלי קשר למצב השרת. הודעת השגיאה כוללת את הנתיב לחלק הבעייתי בבקשה, וגם את הערך הלא תקין. השגיאה הזו יכולה להיות מופעלת על ידי הרבה דברים שונים, כמו:
- ציינתם קבוצה של רשומות משאבים עם שם לא תקין. לדוגמה,
cymbal...groupהוא לא שם DNS תקין (תווית אמצעית ריקה). - ציינתם קבוצה של רשומות משאבים עם סוג לא תקין. לדוגמה, A ו-CNAME הם סוגים תקינים, אבל group הוא לא סוג תקין.
- ציינתם קבוצה של רשומות משאבים בלי רשומות.
- ציינתם נתונים של רשומת משאב לא תקינה. לדוגמה,
1.1.1.1הם נתונים תקינים של רשומת משאב מסוג A. הנתונים X.X.X.X ברשומת המשאבים לא חוקיים עבור סוג A. - ציינתם קבוצת רשומות משאבים עם TTL לא תקין. ה-TTL חייב להיות מספר שלם לא שלילי.
- ציינתם שם משאב ארוך מדי.
הפעולה המומלצת: צריך לתקן את הבקשה.
שגיאות שקשורות לזיהוי איומים
בקטע הזה מתוארות שגיאות נפוצות שמתרחשות כשמפעילים את התכונה 'זיהוי איומים'.
הגישה עם הרשאות ניהול מותרת רק מ-ThreatDetectorAdmin
כדי להפעיל את התכונה 'זיהוי איומים ב-DNS', צריך להיות לכם תפקיד Threat Detector Admin.
הפעולה המומלצת: צריך להקצות לכם את התפקיד roles/networksecurity.dnsThreatDetectorAdmin.
FAILED_PRECONDITION
כבר קיים גלאי איומי DNS תחת ההורה שצוין.
פעולה מומלצת כדאי לבדוק את מצב ההגדרה הנוכחי, ולהשתמש בגלאי האיומים הקיים ב-DNS או להסיר אותו וליצור חדש.
gcloud
gcloud network-security dns-threat-detectors describe --location=global RESOURCE_REPORTED_IN_ERROR_MESSAGE
מחליפים את RESOURCE_REPORTED_IN_ERROR_MESSAGE בגלאי האיומים האחר של DNS שכבר קיים תחת ההורה שצוין בהודעת השגיאה.
המאמרים הבאים
- מידע נוסף על התכונות זמין במאמר סקירה כללית על Cloud DNS.
- כדי למצוא פתרונות לבעיות נפוצות שאתם עשויים להיתקל בהן במהלך השימוש ב-Cloud DNS, אפשר לעיין במאמר בנושא פתרון בעיות.
- לקבלת עזרה נוספת, אפשר לעיין במאמר בנושא תמיכה.