פתרון בעיות ברשת ב-Looker (Google Cloud Core)‎

אימות OIDC, שגיאות שקשורות לזמן קצוב לתפוגה, Private Service Connect וגישה לשירותים פרטיים.

אם מופע Looker (Google Cloud core) לא מצליח להתחבר לשירותים חיצוניים, לספקי זהויות או למסדי נתונים בעורף, אפשר להשתמש במדריך הזה כדי לאבחן ולפתור בעיות נפוצות ברשת. אתם יכולים לפתור בעיות שקשורות לזמני קצוב לתפוגה (timeout) של OpenID Connect‏ (OIDC) 504 ושל HttpClient:ConnectTimeoutError, ולשגיאות בהפצת נתיבים של Private Service Connect ‏(PSC) ושל גישה לשירותים פרטיים.

כשל באימות OpenID Connect עם יציאה מבוקרת

כשמגדירים אימות OpenID Connect במופע Looker (ליבת Google Cloud) שהוגדר עם Private Service Connect והופעל בו egress מבוקר, יכול להיות שהאימות ייכשל.

תסמינים

אם האימות נכשל, יכול להיות שתיתקלו באחד מהסימפטומים הבאים:

  • נקודת הקצה של Looker‏ /openidconnect נתקעת למשך כ-60 שניות בדפדפן לפני שמוצגת שגיאה או שחלף הזמן הקצוב לתפוגה עם שגיאה 504 Upstream Request Timeout או 504 Gateway Timeout.
  • ספק הזהויות מציג הודעת שגיאה שמציינת שכתובת ה-URI להפניה אוטומטית לא תואמת, למשל:

    AADSTS50011: The redirect URI specified in the request does not match the
    redirect URIs configured for the application
    

    הודעת השגיאה הזו מטעה כי יכול להיות שכתובת ה-URI להפניה אוטומטית שהגדרתם בספק הזהויות נכונה. הכשל בפועל מתרחש כש-Looker (Google Cloud core) לא מצליח ליצור קשר עם נקודת הקצה של הטוקן של ספק הזהויות במהלך ההחלפה בעורף המערכת.

מטרה

תהליך העבודה האוטומטי להקצאת הרשאות ליציאה מבוקרת נכשל מדי פעם ביצירת נתיב הרשת הדרוש של Secure Web Proxy ‏ (looker-swp-route) בפרויקט הדייר של Looker (ליבת Google Cloud).

אם המסלול הזה חסר, בקשות בק-אנד מ-Looker (ליבת Google Cloud) לנקודת הקצה של ספק הזהויות יגיעו לזמן קצוב לתפוגה כי המכונה לא יכולה לנתב תעבורת נתונים יוצאת לאינטרנט הציבורי דרך Secure Web Proxy.

רזולוציה

כדי לפתור את הבעיה, מבצעים את השלבים הבאים כדי לאפס את ההגדרה של תעבורת נתונים יוצאת מבוקרת (controlled egress), וכך לאלץ את המערכת ליצור מחדש את נתיב הרשת החסר:

  1. במסוף Google Cloud , עוברים לדף Looker:

    אל Looker

  2. לוחצים על השם של המכונה שרוצים לעדכן.

  3. לוחצים על Edit.

  4. מרחיבים את הקטע Connections (חיבורים) ועוברים לקטע Configure outbound connections (הגדרת חיבורים יוצאים).

  5. צריך לרשום את כל שמות הדומיין שמוגדרים במלואם (FQDN) שמופיעים בקטע Global FQDN (למשל, נקודות הקצה של ספק הזהויות).

  6. מוחקים את כל שמות ה-FQDN שמופיעים בקטע Global FQDN (שם FQDN גלובלי).

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

  8. לוחצים על Save.

  9. מחכים עד שעדכון המופע יסתיים ועד ששינויי ההגדרות יתבטלו.

  10. לוחצים שוב על עריכה.

  11. מרחיבים את הקטע Connections (חיבורים) ומסמנים את התיבה Enable Looker to connect to external services (הפעלת האפשרות לחיבור Looker לשירותים חיצוניים).

  12. בקטע Global FQDN, מוסיפים מחדש את שמות ה-FQDN הנדרשים לספק הזהויות ולכל שירות חיצוני אחר.

  13. לוחצים על Save.

איפוס של יציאה מבוקרת מפעיל את תהליך ההקצאה האוטומטי כדי ליצור מחדש את נתיב הרשת החסר looker-swp-route. אחרי שיוצרים את המסלול, אפשר להשלים בקשות יוצאות מהקצה העורפי לספק הזהויות.

שגיאה 504: הזמן הקצוב לתפוגה של בקשה במעלה הזרם חלף

כשמבצעים אימות באמצעות שירות חיצוני או ספק זהויות במכונת Looker (Google Cloud core) שבה מופעלת תעבורת נתונים יוצאת מבוקרת, יכול להיות שהבקשה תיכשל עם שגיאת זמן קצוב לתפוגה.

תסמינים

מופיעה שגיאה 504 Upstream Request Timeout בדפדפן אחרי שחוזרים מדף הכניסה של ספק הזהויות או כשמתחברים לשירות חיצוני.

מטרה

שגיאה 504 Upstream Request Timeout מציינת שמופע Looker (Google Cloud core) לא יכול להגיע לדומיין החיצוני דרך יציאה מבוקרת. שלא כמו שגיאות של נתיב חסר, שגיאה מסוג 504 בדרך כלל מציינת שנתיב הרשת קיים, אבל דומיין נדרש חסר ברשימת ההיתרים של Global FQDN והוא נחסם, או שהבקשה נחסמת בגלל פסק זמן בשער.

רזולוציה

כדי לפתור את הבעיה, בצע את הצעדים הבאים:

  1. אימות של שמות דומיין שמוגדרים במלואם (FQDN): במסוף Google Cloud , מוודאים שכל הדומיינים שנדרשים על ידי ספק הזהויות או השירות החיצוני נוספו לרשימה Global FQDN. תהליכי אימות של OIDC דורשים לעיתים קרובות כמה נקודות קצה (כמו נקודות קצה של הרשאה, אסימון ופרטי משתמש) שעשויות להשתמש בדומיינים שונים.
  2. תיעוד של תעבורת הרשת: אם השגיאה נמשכת, מתעדים את תעבורת הרשת בדפדפן (קובץ HAR) בזמן שחזור הבעיה. מחפשים בנתוני המעקב 504קודי סטטוס או בקשות HTTP שנכשלו כדי לזהות דומיינים שיצרו איתם קשר במהלך התהליך, אבל לא נכללים ברשימת ה-FQDN הגלובלי.
  3. איפוס ההגדרה: אם שמות ה-FQDN הנדרשים קיימים אבל הבקשות ממשיכות להיכשל בגלל פסק זמן, צריך לפעול לפי השלבים שבקטע פתרון בנושא כשלים באימות OpenID Connect כדי לאפס את הגדרת היציאה המבוקרת.

HttpClient:ConnectTimeoutError execution expired

כשבודקים חיבור OpenID Connect או חיבורים אחרים לרשתות חיצוניות בחלונית האדמין של Looker, יכול להיות שבדיקת החיבור תיכשל בגלל שגיאת זמן קצוב לתפוגה.

תסמינים

כשמריצים בדיקת חיבור בלוח האדמין של Looker (למשל בדף אימות OpenID Connect), Looker מחזיר את השגיאה הבאה:

HttpClient:ConnectTimeoutError execution expired

מטרה

השגיאה הזו מציינת שחסר למופע Looker (Google Cloud core) נתיב הרשת הדרוש כדי לתקשר עם ספק הזהויות או השירות החיצוני. הבעיה הזו מתרחשת בדרך כלל אם מתקיים אחד מהתנאים הבאים:

  • חסרה הפצה של מסלולים: Cloud Router משתמש בהגדרות ברירת מחדל ולא מפיץ מסלולים של רשת VPC (כמו מסלולים מותאמים אישית שפורסמו) למכונה של Looker (Google Cloud core).
  • חסרה קבוצת נקודות קצה ברשת באינטרנט: לא מוגדרת קבוצה של נקודות קצה ברשת באינטרנט (NEG) ברשת ה-VPC לניתוב תעבורה לשירות החיצוני.

רזולוציה

כדי לפתור את הבעיה, בצע את הצעדים הבאים:

  1. הגדרת הפצת מסלולים ב-Cloud Router: כדי להגדיר מסלולים מותאמים אישית שמופצים, מוודאים ש-Cloud Router מוגדר להפצת המסלולים הדרושים ברשת ה-VPC למופע של Looker (Google Cloud core).
  2. הגדרת NEG לאינטרנט: מגדירים NEG לאינטרנט ברשת ה-VPC כדי לאפשר למופע של Looker (הליבה של Google Cloud) לנתב תעבורת נתונים יוצאת (egress) לספק או לשירות החיצוני של זהויות.
  3. אימות גישה לשירותים פרטיים: אם המכונות הווירטואליות משתמשות בגישה לשירותים פרטיים, צריך לוודא שרשת ה-VPC מקושרת בצורה תקינה לשירותי Google. מידע נוסף זמין במאמר גישה לשירותים חיצוניים באמצעות גישה לשירותים פרטיים.

בעיות בחיבור Private Service Connect מדרום

במקרים של מופעי Looker (Google Cloud core) שמשתמשים ב-Private Service Connect לחיבורים יוצאים למסדי נתונים או לשירותים שפורסמו, יכול להיות שתיתקלו בשגיאות חיבור גם כשסטטוס נקודת הקצה הוא Accepted.

דוגמאות לבעיות נפוצות:

  • שגיאות בפתרון שם המארח: אם מוצגת שגיאת Unknown host ב-Looker (Google Cloud core) כשבודקים חיבור, צריך לוודא ששם המארח שהוגדר תואם לרשומת ה-DNS ברשת הפרטית, ושהמאזן של עומס העורף תקין.
  • פסק זמן לחיבורים: אם החיבורים נפסקים בגלל פסק זמן, צריך לבדוק את כללי חומת האש של ה-VPC כדי לוודא שתעבורת נתונים נכנסת (ingress) מותרת מתת-רשת NAT של Private Service Connect לשרתים העורפיים של מאזן העומסים.
  • הסטטוס 'בהמתנה' או 'סגור': אם סטטוס קובץ השירות הוא Pending או Closed, צריך לוודא שהפרויקט של הצרכן נמצא ברשימת ההיתרים של קובץ השירות ושהבדיקות המנדטוריות של תקינות TCP מוגדרות.

למידע נוסף על תהליכי עבודה מפורטים לאבחון ועל עץ החלטות, אפשר לעיין במאמר בנושא פתרון בעיות בחיבורים פרטיים של Private Service Connect מדרום לצפון.

בעיות בניתוב ובקישוריות של גישה לשירותים פרטיים

במקרים של מופעי Looker (ליבת Google Cloud) שמשתמשים בגישה לשירותים פרטיים, תקשורת יוצאת לשירותים חיצוניים מחייבת הפצה נכונה של מסלולים ותשתית רשת:

  • הפצת מסלולים: מוודאים ש-Cloud Router מוגדר להפצת מסלולי רשת VPC למופע Looker (ליבת Google Cloud), כמו מסלולים מותאמים אישית שפורסמו.
  • קבוצות של נקודות קצה ברשת האינטרנט: אם המופע שלכם צריך להגיע לנקודות קצה חיצוניות דרך גישה לשירותים פרטיים, ודאו שקבוצה של נקודות קצה ברשת האינטרנט (NEG) מוגדרת ברשת ה-VPC שלכם.

אם המסלולים או קבוצות נקודות הקצה האלה חסרים, בדיקות החיבור לנקודות קצה חיצוניות נכשלות עם השגיאה HttpClient:ConnectTimeoutError execution expired.

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

כלי אבחון ויומנים

כדי לאבחן בעיות ברשת, אפשר להשתמש בכלים וביומנים הבאים:

  • Cloud Logging: אפשר להציג יומנים ברמת המופע ב-Cloud Logging כדי לזהות כשלים בחיבור ואירועים במערכת. מידע נוסף מופיע במאמר בנושא צפייה ביומנים של מופעים.
  • פעילות המערכת ב-Looker: אם יש לכם הרשאת אדמין, תוכלו לבדוק את מרכז הבקרה פעילות המשתמשים בפעילות המערכת. בלוח הבקרה הזה מוצגים ניסיונות כניסה שנכשלו לאחרונה, שיטת האימות שבה נעשה שימוש והודעות שגיאה. מידע נוסף זמין במאמר בנושא מרכז הבקרה לפעילות המשתמשים.
  • VPC Flow Logs: כדאי לבדוק את VPC Flow Logs כדי לראות אם תעבורת הנתונים ברשת מ-Looker (הליבה של Google Cloud) מגיעה לרשת המשנה של היעד או נחסמת על ידי כללי חומת האש.
  • Cloud Customer Care: אם השלמתם את השלבים לפתרון הבעיה והיא נמשכת, פנו אל Cloud Customer Care לקבלת עזרה.