הודעות שגיאה

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

שגיאות כלליות

בקטע הזה מתוארות שגיאות כלליות.

alreadyExists

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

הפעולה המומלצת: כשיוצרים משאב, משתמשים ב-get/list API המתאים כדי לבדוק אילו משאבים כבר קיימים.

אם מופיעה השגיאה הזו בזמן הוספת רשומות, הסיבה לכך היא שמערכת Analytics מתייחסת לכל רשומה כקבוצת רשומות. כלומר, כל רשומה (אם יש כמה רשומות) פועלת כרשומה נפרדת. אפשר להוסיף שני ערכים או מחרוזות לקבוצת הרשומות של אותו שם של מערכת שמות הדומיינים (DNS) על ידי הוספת רווח בין הערך הראשון לערכו השני.

למידע נוסף על פתרון השגיאה הזו, ראו תיקון שגיאות של רשומות מתנגשות.

accessNotConfigured

לא הוגדרה גישה

כדי לפתור את השגיאה הזו, צריך להפעיל את Cloud DNS API בפרויקט.

inactiveBillingState

לא ניתן לקבל בקשות בפרויקט example_project במצב חיוב לא פעיל. ייתכן שיעברו כמה דקות עד שהסטטוס של החיוב יתעדכן.

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

preconditionFailed

זוהי שגיאה כללית שמציינת שמשהו בבקשה לא תואם למצב הנוכחי של משאב השרת. הלקוח צריך לבצע פעולה כלשהי כדי לתקן את הבעיה ולנסות שוב. מצב כזה יכול לקרות אם שולחים בקשת שינוי מסוג create שמנסה למחוק קבוצת רשומות משאבים שלא תואמת לקבוצה שכבר קיימת (באותו שם ובאותו סוג).

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

הודעת השגיאה כוללת את הנתיב לחלק הבעייתי בבקשה. לדוגמה, הערך entity.change.deletions[6] מתייחס לאלמנט השביעי במערך deletions של אובייקט השינוי בגוף הבקשה של ה-POST.

הפעולה המומלצת: צריך לתקן את החלק בבקשה שסומן כבעייתי.

required

זוהי שגיאה כללית שמציינת שחלק חסר בבקשה. לדוגמה, בבקשה ליצירת תחום מנוהל צריך לציין שם, שם DNS ותיאור. אם אחד מהשדות האלה חסר, הבקשה נכשלת עם השגיאה הזו.

הפעולה המומלצת: ממלאים את הפרמטר הנדרש ומנסים שוב.

notFound

המשאב שצוין לא קיים.

הפעולה המומלצת: מוודאים שמשתמשים בשם של משאב קיים.

quotaExceeded

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

הפעולה המומלצת: כדאי לבדוק את הפרויקט כדי להבין למה אתם כבר משתמשים בכמות גדולה כל כך של המשאב הזה. אפשר לבקש הגדלה של המכסה לפרויקט בדף Quotas במסוף Trusted Cloud של הפרויקט. אפשר גם לעיין במאמר בקשה לשינוי מכסה.

שגיאות שקשורות לתחומים מנוהלים

בקטע הזה מפורטות שגיאות שקשורות לתחומים מנוהלים.

invalidFieldValue

ערך לא חוקי בשדה entity.managedZone.name.

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

managedZoneDnsNameNotAvailable

האזור המנוהל שצוין לא זמין, ולכן לא ניתן ליצור אותו.

הפעולה של יצירת תחום מנוהל עשויה להיכשל עם השגיאה הזו מהסיבות הבאות:

  • שם ה-DNS של האזור המוצע שמור, לדוגמה, dot‏ (.),‏ .com או .co.uk.
  • אין יותר שרתי שמות זמינים לאירוח שם ה-DNS של הדומיין. ב-Cloud DNS נעשה שימוש במאגר של שרתי שמות, והמאגר הזה מוגבל. שאילתה של DNS לכל שרת שמות חייבת למפות באופן חד-משמעי לאזור מנוהל אחד. פרטים נוספים זמינים במאמר מגבלות של שרתי שמות.

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

verifyManagedZoneDnsNameOwnership

מאמתים את הבעלות על הדומיין example.com (או על דומיין הורה) ומנסים שוב.

הפעולה המומלצת: אם מופיעה השגיאה הזו, עליכם לאמת את הבעלות על הדומיין ולנסות שוב.

שגיאות שקשורות לרשומות מנוהלות

השגיאות בקטע הזה קשורות לרשומות.

containerNotEmpty

לא ניתן למחוק את המשאב שצוין כי הוא לא ריק.

הפעולה המומלצת: אם רוצים למחוק את המשאב, צריך קודם לרוקן אותו.

invalidZoneApex

קבוצת רשומות המשאבים שצוינה לא תקינה כי אזור חייב להכיל בדיוק קבוצת רשומות משאבים אחת מסוג מסוים בקודם העליון.

Apex בהקשר של DNS הוא שם ה-DNS עם מספר התוויות הנמוך ביותר שמורשה באזור. הוא גם החלק העליון בהיררכיית הדומיין. הקודקוד של תחום הוא שם ה-DNS שווה ל-ManagedZone.dnsName.

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

  • ניסיתם למחוק את סט רשומות המשאבים הנדרש של NS בחלק העליון.
  • ניסיתם למחוק את סט רשומות המשאבים הנדרש של SOA בחלק העליון.
  • ניסיתם ליצור קבוצת רשומות משאבים מסוג SOA לא בפסגה.

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

invalidRecordCount

קבוצת רשומות המשאבים entity.change.additions[XX] יכולה לכלול רק רשומה אחת כי היא מסוג <SOA_OR_CNAME>.

לפי הכללים של DNS, אפשר לכלול רק רשומת משאב אחת בסט של רשומות המשאבים SOA ו-CNAME. השגיאה הזו מופיעה אם מנסים ליצור שינוי שמפר את הכללים האלה. לדוגמה:

  {
    kind: "dns#rrset"
    name: "blog.foo.com.",
    type: "CNAME",
    rrdata: [ "www.foo.com.", "www2.foo.com." ],
    ...
  }

הפעולה המומלצת: אם מופיעה השגיאה הזו, צריך לבדוק את הבקשה. אתם מנסים לעשות משהו שאסור.

cnameResourceRecordSetConflict

קבוצת רשומות המשאבים entity.change.additions[XX] לא חוקית כי לשם ה-DNS example.com יכולה להיות קבוצה אחת של רשומות משאבים מסוג CNAME או קבוצות של רשומות משאבים מסוגים אחרים, אבל לא את שניהם.

השגיאה הזו מתרחשת כשיוצרים שני סוגים של קבוצות של רשומות משאבים, למשל גם רשומת A וגם רשומת CNAME לאותו שם DNS. סיבה נפוצה לשגיאה הזו היא ניסיון ליצור רשומת CNAME בחלק העליון של הדומיין. לא ניתן לעשות זאת כי זה יגרום להתנגשות עם הרשומות הנדרשות SOA ו-NS באותו שם.

הפעולה המומלצת: בוחרים באפשרות אחת.

wildcardNotAllowed

הסוג של קבוצת רשומות המשאבים שצוינה שגוי כדי שאפשר יהיה להשתמש בה כתובת Wildcard.

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

הפעולה המומלצת: בשלב זה אין תמיכה בקבוצות של רשומות משאבים מסוג NS עם תו כללי לחיפוש. אפשר לפנות אל התמיכה של Cloud DNS או להצטרף לקבוצה cloud-dns-discuss ולשתף את מה שאתם מנסים להשיג.

recordTypeDisallowedAtZoneApex

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

לא ניתן להציב רשומת משאבים מסוג CNAME בקודקוד כי היא לא יכולה להתקיים לצד סוג אחר של רשומת משאבים, כולל רשומת המשאבים SOA שנדרשת בקודקוד האזור.

הפעולה המומלצת: משתמשים ברשומת משאבים מסוג ALIAS. רשומת משאב מסוג ALIAS היא סוג של רשומה בהתאמה אישית ב-Cloud DNS שפועלת כמו רשומת משאב מסוג CNAME, אבל אפשר להשתמש בה רק בחלק העליון של הדומיין (apex) והיא מגיבה רק לשאילתות של רשומות כתובת (A או AAAA). מידע נוסף זמין במאמר רשומות ALIAS.

invalidValue

זוהי שגיאה כללית שמציינת שמשהו בבקשה שלכם לא תקין, ללא קשר למצב השרת. הודעת השגיאה כוללת את הנתיב לחלק הבעייתי בבקשה, וגם את הערך הלא תקין. יכולות להיות הרבה סיבות לשגיאה הזו, למשל:

  • ציינת קבוצת רשומות משאבים עם שם לא חוקי. לדוגמה, השם foo...bar הוא לא שם DNS תקין (תווית אמצעית ריקה).
  • ציינת קבוצת רשומות משאבים עם סוג לא חוקי. לדוגמה, A ו-CNAME הם סוגי רשומות חוקיים, אבל XXX הוא לא סוג חוקי.
  • ציינת קבוצת רשומות משאבים ללא רשומות.
  • ציינתם נתונים לא תקינים של רשומות משאבים. לדוגמה, 1.1.1.1 הוא נתונים תקינים של רשומת משאב מסוג A. XXX הם נתונים לא חוקיים של רשומת משאב מסוג A.
  • ציינת קבוצת רשומות משאבים עם ערך TTL לא חוקי. ערך ה-TTL חייב להיות מספר שלם לא שלילי.
  • ציינת שם משאב ארוך מדי.

הפעולה המומלצת: צריך לתקן את הבקשה.

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