בדף הזה מפורטות הודעות שגיאה נפוצות שאולי תקבלו כשאתם משתמשים ב-Cloud DNS, מוסבר מה המשמעות של ההודעות ומומלצות פעולות לפתרון השגיאות.
שגיאות כלליות
בקטע הזה מתוארות שגיאות כלליות.
alreadyExists
המשאב שצוין כבר קיים, אי אפשר ליצור כפילות.
פעולה מומלצת: כשיוצרים משאב, כדאי להשתמש ב-API המתאים get/list
כדי לגלות אילו משאבים כבר קיימים.
אם השגיאה הזו מופיעה כשמוסיפים רשומות, זה קורה כי רשומה בודדת נחשבת כקבוצת רשומות, כלומר כל רשומה (אם יש כמה רשומות) פועלת כרשומה שונה. אפשר להוסיף שני ערכים או מחרוזות למערכת הרשומות של אותו שם של מערכת שמות הדומיינים (DNS) על ידי הוספת רווח בין הערך הראשון לערך השני.
accessNotConfigured
הגישה לא הוגדרה
כדי לפתור את השגיאה הזו, צריך להפעיל את Cloud DNS API בפרויקט.
inactiveBillingState
אי אפשר לשלוח בקשות לפרויקט
example_projectכשהחיוב שלו לא פעיל. יכולות לחלוף כמה דקות עד שהסטטוס של החיוב יתעדכן.
פעולה מומלצת: מפעילים את החיוב בפרויקט. כדי להפעיל את החיוב בפרויקט חדש או להפעיל מחדש את החיוב בפרויקט קיים, פועלים לפי השלבים המתאימים במאמר הפעלת החיוב בפרויקט.
preconditionFailed
זו שגיאה כללית שאומרת שמשהו בבקשה לא תואם למצב הנוכחי של משאב השרת. הלקוח צריך לעשות משהו כדי לפתור את הבעיה ואז לנסות שוב. יכול להיות שהסיבה לכך היא ששלחת createבקשה לשינוי שמנסה למחוק קבוצת רשומות של משאב שלא תואמת לקבוצה שכבר קיימת (אותו שם ואותו סוג).
קוראים את המצב הנוכחי של האזור ומחליטים מה רוצים למחוק. יכול להיות שהיא השתנתה מאז שצפיתם בה לאחרונה.
הודעת השגיאה כוללת את הנתיב לחלק הבעייתי בבקשה. לדוגמה, entity.change.deletions[6] מתייחס לרכיב השביעי במערך deletions של אובייקט השינוי בגוף בקשת ה-POST.
פעולה מומלצת: צריך לתקן את החלק בבקשה שסומן כבעייתי.
required
זו שגיאה כללית שאומרת שחסר חלק נדרש בבקשה. לדוגמה, הבקשה ליצור אזור מנוהל דורשת שם, שם DNS ותיאור. אם אחד מהשדות האלה חסר, הבקשה נכשלת ומוצגת השגיאה הזו.
הפעולה המומלצת: צריך למלא את הפרמטר הנדרש ולנסות שוב.
notFound
המשאב שצוין לא קיים.
פעולה מומלצת: מוודאים שמשתמשים בשם של משאב קיים.
quotaExceeded
השגיאה הזו מוצגת כששינוי שעומד להתבצע יגרום לחריגה מהמכסה הנוכחית.
המכסה משויכת לפרויקט. לדוגמה, מותר לכם להשתמש רק במספר מסוים של קבוצות רשומות של משאבים בכל אזור. אם אתם צריכים להגדיל את המכסה, אתם יכולים לפנות לצוות המכירות שלכם Cloud de Confiance . לפרויקטים חדשים יש מכסה שמוגדרת כברירת מחדל, כמו שמוסבר במאמר מכסות ומגבלות של משאבי Cloud DNS.
לכל המאפיינים השונים שמוגבלים על ידי DNS, אפשר לעיין בפעולה Projects.get.
פעולה מומלצת: כדאי לבדוק את הפרויקט כדי להבין למה כבר נעשה שימוש כה נרחב במשאב הזה. בדף Quotas במסוף Cloud de Confiance של הפרויקט אפשר לבקש הגדלה של המכסה לפרויקט. אפשר גם לעיין במאמר בנושא איך שולחים בקשה לשינוי המכסות.
שגיאות שקשורות לאזורים מנוהלים
בקטע הזה מפורטות שגיאות שקשורות לאזורים מנוהלים.
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 חייב להיות מספר שלם לא שלילי.
- ציינתם שם משאב ארוך מדי.
הפעולה המומלצת: צריך לתקן את הבקשה.