אתם יכולים לאבחן ולפתור בעיות נפוצות בקישוריות נכנסת ויוצאת של מופע Looker (ליבת Google Cloud) בהגדרות רשת ציבוריות, פרטיות והיברידיות. פתרון בעיות בדומיינים מותאמים אישית, ב-Private Service Connect, בגישה לשירותים פרטיים ובשליטה ביציאה עוזר לכם לשחזר את הגישה של המשתמשים למופע ולשמור על חיבורים לספקי זהויות, לשירותים חיצוניים ולבק-אנדים של מסדי נתונים.
אימות של דומיין מותאם אישית נכשל עם שגיאה בקוד 9
כשמגדירים דומיין מותאם אישית למופע של Looker (Google Cloud core) שמשתמש בחיבורים ציבוריים, יכול להיות שאימות הדומיין ייכשל עם שגיאה code: 9.
תסמינים
כשלוחצים על אימות הדומיין בכרטיסייה דומיין בהתאמה אישית במופע של Looker (Google Cloud core), האימות נכשל ומוצגת הודעת שגיאה שדומה להודעה הבאה:
DNS record is not created or not the same as public IP address (code: 9)
גם הסטטוס של הדומיין המותאם אישית נשאר Unverified או שמוצג כ-Unavailable.
מטרה
למרות שהודעת השגיאה מציינת שרשומת ה-A של ה-DNS חסרה או שגויה, השגיאה הזו מתרחשת בדרך כלל בגלל אחת מהסיבות הבאות:
- רשומות CAA מגבילות: הגדרות ה-DNS של הדומיין כוללות רשומות הרשאה של רשות אישורים (CAA) שלא מאשרות לרשויות האישורים (CA) של Google להנפיק אישורי SSL או TLS. מכיוון שב-Looker (ליבת Google Cloud) נעשה שימוש באישורים שמנוהלים על ידי Google עבור מופעים ציבוריים, הקצאת האישורים נכשלת.
- רשת CDN או שרת proxy של צד שלישי: מופעים של Looker (ליבת Google Cloud) עם חיבורים ציבוריים משתמשים אך ורק בהרשאה של Load Balancer (LB) לאישורים שמנוהלים על ידי Google. כדי להשתמש בהרשאת LB, רשומת ה-DNS A של הדומיין המותאם אישית צריכה להפנות ישירות לכתובת ה-IP הציבורית של הכניסה (ingress) של Looker (הליבה של Google Cloud). אם אתם מעבירים תנועה דרך רשת להעברת תוכן (CDN), חומת אש ליישומי אינטרנט (WAF) או פרוקסי הפוך (כמו Akamai או Cloudflare) של צד שלישי, ההרשאה האוטומטית של איזון העומסים תיכשל.
רזולוציה
בהתאם לסיבת הכשל, אפשר לפתור את הבעיה בדרכים הבאות:
אישור רשויות אישורים של Google ברשומות CAA
אם הדומיין שלכם משתמש ברשומות CAA, צריך לאמת ולעדכן את רשומות ה-DNS כדי לאפשר לספקי האישורים של Google:
בודקים את רשומות ה-CAA הקיימות של הדומיין באמצעות כלי לחיפוש DNS, כמו
dig:dig CAA DOMAIN_NAME +shortמחליפים את
DOMAIN_NAMEבשם הדומיין המותאם אישית (לדוגמה,example.comאוlooker.example.com).מוסיפים רשומות CAA כדי לאשר גם את
pki.googוגם אתletsencrypt.org:DOMAIN_NAME. IN CAA 0 issue "pki.goog" DOMAIN_NAME. IN CAA 0 issue "letsencrypt.org"הוספת שני רשויות אישורים מבטיחה הקצאה וחידוש אוטומטיים אמינים.
אחרי שמעדכנים את רשומות ה-CAA, מחכים להפצה של ה-DNS ואז לוחצים שוב על אימות הדומיין במסוף Google Cloud .
שימוש ב-Private Service Connect לרשתות CDN ולשרתי proxy של צד שלישי
אי אפשר להציב רשתות CDN של צד שלישי ושרתי proxy הפוכים ישירות לפני מופע ציבורי של Looker (ליבת Google Cloud), כי הרשאה אוטומטית של מאזן עומסים דורשת פתרון DNS ישיר לכתובת ה-IP הציבורית של המופע.
כדי לנתב תנועה נכנסת דרך CDN או WAF של צד שלישי, צריך לפרוס את Looker (Google Cloud core) באמצעות ארכיטקטורה של Private Service Connect במקום חיבורים ציבוריים:
- פריסת מכונה של Looker (Google Cloud Core) עם Private Service Connect מופעל.
- מגדירים מאזן עומסים חיצוני של אפליקציות עם קצה עורפי מסוג Private Service Connect ברשת ה-VPC.
- הקצאה וצירוף של אישור SSL בניהול עצמי או בניהול Google למאזן עומסים של אפליקציות (ALB) חיצוני. הארכיטקטורה הזו מאפשרת לכם לשלוט בסיום ה-TLS ולנתב את התנועה דרך ה-CDN או ה-WAF שלכם.
כשל באימות 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 core) לנקודת הקצה של ספק הזהויות יפוגו כי המופע לא יכול לנתב תעבורה יוצאת לאינטרנט הציבורי דרך Secure Web Proxy.
רזולוציה
כדי לפתור את הבעיה, מבצעים את השלבים הבאים כדי לאפס את ההגדרה של תעבורת נתונים יוצאת מבוקרת (controlled egress), וכך לאלץ את המערכת ליצור מחדש את נתיב הרשת החסר:
במסוף Google Cloud , עוברים לדף Looker:
לוחצים על השם של המכונה שרוצים לעדכן.
לוחצים על Edit.
מרחיבים את הקטע Connections (חיבורים) ועוברים לקטע Configure outbound connections (הגדרת חיבורים יוצאים).
צריך לרשום את כל שמות הדומיין שמוגדרים במלואם (FQDN) שמופיעים בקטע Global FQDN (כמו נקודות הקצה של ספק הזהויות).
מוחקים את כל שמות ה-FQDN שמופיעים בקטע Global FQDN.
מבטלים את הסימון בתיבת הסימון הפעלת הגישה של Looker לשירותים חיצוניים כדי להשבית את תעבורת הנתונים היוצאת המבוקרת.
לוחצים על Save.
מחכים עד שעדכון המופע יסתיים ועד ששינויי ההגדרות יתבטלו.
לוחצים שוב על עריכה.
מרחיבים את הקטע Connections (חיבורים) ומסמנים את תיבת הסימון Enable Looker to connect to external services (הפעלת האפשרות לחיבור Looker לשירותים חיצוניים).
בקטע Global FQDN, מוסיפים מחדש את ה-FQDN הנדרשים לספק הזהויות ולכל שירות חיצוני אחר.
לוחצים על Save.
איפוס של יציאה מבוקרת מפעיל את תהליך ההקצאה האוטומטי כדי ליצור מחדש את נתיב הרשת החסר looker-swp-route. אחרי שיוצרים את המסלול, אפשר להשלים בקשות יוצאות מהקצה העורפי לספק הזהויות.
שגיאה 504: הזמן הקצוב לתגובה מהשרת חלף
כשמבצעים קריאות ל-API, מריצים שאילתות ארוכות או מבצעים אימות באמצעות שירות חיצוני במופע של Looker (Google Cloud core), יכול להיות שהבקשה תיכשל עם שגיאת פסק זמן של HTTP 504.
תסמינים
יכול להיות שתקבלו שגיאה 504 Upstream Request Timeout או 504 Gateway Timeout
באחד מהתרחישים הבאים:
- קריאות ל-API או שאילתות נכנסות: קריאות ל-API לנקודות קצה של Looker, כמו
/result_format, או שאילתות ארוכות בממשק המשתמש של Looker נכשלות עם שגיאה504אחרי כ-30 שניות במופע שמוצב לפני מאזן עומסים. - אימות יוצא או חיבורים לשירותים חיצוניים: מופיעה שגיאה
504בדפדפן אחרי חזרה מדף הכניסה של ספק זהויות או כשמתחברים לשירות חיצוני במופע שבו מופעלת יציאה מבוקרת.
מטרה
שגיאת הזמן הקצוב לתפוגה 504 מתרחשת בדרך כלל בגלל אחת מהסיבות הבאות:
- פסק זמן (timeout) של שירות קצה עורפי של מאזן עומסים לבקשות נכנסות: כשניגשים למופע Looker (ליבת Google Cloud) דרך מאזן עומסים של Cloud Load Balancing, לשירות הקצה העורפי של מאזן העומסים יש פסק זמן (timeout) של שירות קצה עורפי של 30 שניות כברירת מחדל. אם הזמן המשולב של ביצוע שאילתת מסד הנתונים ושל זמן רינדור מטען הייעודי (payload) ב-Looker חורג מהזמן הקצוב הזה, מאזן העומסים סוגר את החיבור ומחזיר שגיאת HTTP
504. - דומיין חסום ליציאה עם יציאה מבוקרת: מופע Looker (Google Cloud core) לא יכול להגיע לדומיין חיצוני דרך יציאה מבוקרת. שלא כמו שגיאות של נתיב חסר, שגיאת
504במהלך בקשות יוצאות בדרך כלל מציינת שנתיב הרשת קיים, אבל דומיין נדרש חסר ברשימת ההיתרים של שם הדומיין שמוגדר במלואו (FQDN) הגלובלי ונחסם, או שהבקשה חורגת מהזמן הקצוב בשער.
רזולוציה
בהתאם לגורם לשגיאה, מבצעים את השלבים שמפורטים בקטעים הבאים כדי לפתור את הבעיה.
פתרון בעיות שקשורות לפסק זמן של מאזן עומסים בקריאות ל-API או בשאילתות
כדי לפתור שגיאות 504 שנגרמות בגלל פסק זמן בשירות לקצה העורפי של מאזן העומסים, אפשר להשתמש באחת מהשיטות הבאות או בשתיהן:
הגדלת הזמן הקצוב לתפוגה של שירות לקצה העורפי של מאזן העומסים:
במסוף Google Cloud , נכנסים לדף איזון עומסים:
לוחצים על Backends ואז על השם של שירות לקצה העורפי שמשויך למכונה של Looker (Google Cloud core).
לוחצים על Edit.
בשדה Timeout (זמן קצוב לתפוגה), מגדילים את ערך הזמן הקצוב לתפוגה, למשל מ-30 שניות ל-300 שניות, כדי להתאים אותו לשאילתות ולבקשות ה-API הארוכות ביותר.
לוחצים על Save.
שימוש בתהליך עבודה אסינכרוני של API: אם אתם קוראים ל-Looker API כדי לאחזר נתוני שאילתות ואין לכם אפשרות לשנות את הזמן הקצוב לתפוגה של מאזן העומסים, השתמשו בנקודות קצה אסינכרוניות במקום בבקשות סינכרוניות. מתקשרים אל
create_query_taskכדי להפעיל את השאילתה באופן אסינכרוני, ואז שולחים בקשות מסוג poll אלquery_task_resultsכדי לאחזר את התוצאות אחרי שהשאילתה מסתיימת.
פתרון בעיות שקשורות לפסק זמן של יציאה מבוקרת
כדי לפתור שגיאות 504 שמתרחשות כש-Looker (Google Cloud core) לא מצליח להתחבר לשירות חיצוני או לספק זהויות עם יציאה מבוקרת מופעלת, מבצעים את השלבים הבאים:
- אימות של שמות FQDN נדרשים: במסוף Google Cloud , מוודאים שכל הדומיינים שנדרשים על ידי ספק הזהויות או השירות החיצוני נוספו לרשימת שמות ה-FQDN הגלובליים. תהליכי אימות של OIDC דורשים לעיתים קרובות כמה נקודות קצה (כמו נקודות קצה של הרשאה, אסימון ופרטי משתמש) שעשויות להשתמש בדומיינים שונים.
- תיעוד של תעבורת הרשת: אם השגיאה נמשכת, צריך לתעד את תעבורת הרשת בדפדפן (קובץ HAR) בזמן שמשחזרים את הבעיה. מחפשים בנתוני המעקב
504קודי סטטוס או בקשות HTTP שנכשלו כדי לזהות דומיינים שיצרו איתם קשר במהלך התהליך, אבל לא נכללים ברשימת ה-FQDN הגלובלי. - איפוס ההגדרה: אם שמות ה-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).
- חסרה קבוצת נקודות קצה ברשת באינטרנט: לא מוגדרת קבוצה של נקודות קצה ברשת באינטרנט (NEG) ברשת ה-VPC לניתוב תעבורה לשירות החיצוני.
רזולוציה
כדי לפתור את הבעיה, בצע את הצעדים הבאים:
- הגדרת הפצת מסלולים ב-Cloud Router: כדי לוודא ש-Cloud Router מוגדר להפצת המסלולים הדרושים ברשת ה-VPC למופע Looker (Google Cloud core), צריך להגדיר מסלולים מותאמים אישית שמופצים.
- הגדרת NEG לאינטרנט: מגדירים NEG לאינטרנט ברשת ה-VPC כדי לאפשר למופע של Looker (Google Cloud core) לנתב תעבורת נתונים יוצאת (egress) לספק או לשירות החיצוני של זהויות.
- אימות גישה לשירותים פרטיים: אם המכונות הווירטואליות משתמשות בגישה לשירותים פרטיים, צריך לוודא שרשת ה-VPC מקושרת בצורה תקינה לשירותי Google. מידע נוסף זמין במאמר בנושא גישה לשירותים חיצוניים באמצעות גישה לשירותים פרטיים.
בעיות בחיבור Private Service Connect מדרום
במקרים של מופעי Looker (Google Cloud core) שמשתמשים ב-Private Service Connect לחיבורים יוצאים למסדי נתונים או לשירותים שפורסמו, יכול להיות שתיתקלו בשגיאות חיבור גם כשסטטוס נקודת הקצה הוא Accepted.
דוגמאות לבעיות נפוצות:
- שגיאות בפתרון שם המארח: אם Looker (Google Cloud core) מציג שגיאה מסוג
Unknown hostכשבודקים חיבור, צריך לוודא ששם המארח שהוגדר תואם לרשומת ה-DNS ברשת הפרטית, ושהמאזן של עומס העורף תקין. - פסק זמן לחיבורים: אם החיבורים נפסקים בגלל פסק זמן, צריך לבדוק את כללי חומת האש של ה-VPC כדי לוודא שתעבורת נתונים נכנסת מותרת מתת-רשת ה-NAT של Private Service Connect לשרתים העורפיים של מאזן העומסים.
- הסטטוס 'בהמתנה' או 'סגור': אם סטטוס קובץ השירות הוא
PendingאוClosed, צריך לוודא שהפרויקט של הצרכן נמצא ברשימת ההיתרים של קובץ השירות ושהבדיקות המנדטוריות של תקינות TCP מוגדרות. - עדכונים נכשלים עם שגיאה פנימית 13: כשמעדכנים קבצים מצורפים של שירותים יוצאים באמצעות Terraform או ה-API, יכול להיות שהעדכון ייכשל עם השגיאה
Internal error 13אם ההגדרה של השירותים הנכנסים נמצאת במצב שגיאה. מידע נוסף זמין במאמר שגיאה פנימית 13 בעדכון קבצים מצורפים של שירותים יוצאים.
למידע נוסף על תהליכי עבודה מפורטים לאבחון ועל עץ החלטות, אפשר לעיין במאמר בנושא פתרון בעיות בחיבורים פרטיים של Private Service Connect מדרום לצפון.
שגיאה פנימית מספר 13 בעדכון קבצים מצורפים של שירותים לשיחות יוצאות
כשמשתמשים ב-Terraform או ב-Looker (Google Cloud core) API כדי להוסיף, לעדכן או להסיר קבצים מצורפים של שירותים יוצאים (egress) של Private Service Connect במופע קיים של Looker (Google Cloud core), יכול להיות שהעדכון ייכשל עם שגיאה פנימית.
תסמינים
יכול להיות שתבחינו בתסמינים הבאים:
העדכון של Terraform או של ה-API נכשל ומופיעה שגיאה שדומה לזו:
Error: Error waiting for Updating Instance: Error code 13, message: an internal error has occurredמופע Looker (Google Cloud core) לא מצליח ליצור חיבורים לשירותי היעד, גם אם מצב החיבור של קובץ השירות ברשת ה-VPC של היצרן הוא
Accepted.
מטרה
השגיאה הזו מתרחשת כשקביעת התצורה של Private Service Connect (allowed_vpcs) בכניסה למופע עוברת למצב שגיאה בקצה העורפי.
כשמשתמשים ב-Terraform או בלקוח API כדי לעדכן קבצים מצורפים של שירותים יוצאים (psc_service_attachments), מטען הייעודי (payload) של הבקשה כולל בדרך כלל את כל הבלוק psc_config, שמכיל את הפרמטר allowed_vpcs.
ממשק Looker (Google Cloud core) API מנסה לאמת את ההגדרה הנכנסת במהלך העדכון. מכיוון ש-allowed_vpcs נמצא במצב שגיאה, האימות נכשל, ולכן העדכון של כל המופע נכשל עם קוד השגיאה 13, ושינויים בחיבור שירות יוצא לא מוחלים.
רזולוציה
כדי לעקוף את שגיאת האימות של הגדרת התעבורה הנכנסת ולהחיל את העדכונים של קובץ ה-Service Attachment של התעבורה היוצאת, מבצעים את הפעולות הבאות:
- בהגדרות Terraform או במטען הייעודי (payload) של ה-API, מוסיפים הערה או מסירים את הפרמטר
allowed_vpcsמהבלוקpsc_configבאופן זמני. מפעילים את תצורת Terraform או שולחים מחדש את בקשת ה-API כדי לעדכן את קבצים מצורפים של שירותים יוצאים (
psc_service_attachments).מכיוון שמטען הבקשה לא כולל את
allowed_vpcs, ה-API מדלג על האימות של התצורה הנכנסת ומחיל את השינויים בחיבור השירות היוצא.אחרי שפריסת קבצים מצורפים של שירותים יוצאים מסתיימת ונוצרים חיבורים, משחזרים את הפרמטר
allowed_vpcsבהגדרות של Terraform או במטען הייעודי (payload) של ה-API.מפעילים מחדש את התצורה של Terraform.
בעיות בקישוריות ובנתיב של גישה לשירותים פרטיים
במקרים של מופעי 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 לקבלת עזרה.