סקירה כללית של החיבור

בדף הזה מוסבר איך להתחבר למסדי נתונים שמופעלים על ידי AlloyDB ל-PostgreSQL. מידע נוסף זמין במאמר איך מתחברים ל-AlloyDB.

  • רשת: מופעי AlloyDB משתמשים בכתובות IP ציבוריות או פרטיות בענן וירטואלי פרטי (VPC). טכניקות שונות מאפשרות חיבורים מאובטחים מאפליקציות שפועלות מחוץ ל-VPC.

  • הרשאה: שרת ה-proxy לאימות של AlloyDB מאפשר לכם להשתמש בניהול זהויות והרשאות גישה (IAM) כדי לקבוע למי תהיה גישה לנתונים שלכם. חומת האש של ה-VPC מאפשרת לכם לכוונן עוד יותר את הגישה למשאבי AlloyDB.

  • אימות: כדי להיכנס למופעים, משתמשים בטכניקות סטנדרטיות של אימות משתמשים ב-PostgreSQL. ‫AlloyDB תומך גם באימות מבוסס-IAM באמצעות תפקידי משתמש רגילים ב-PostgreSQL.

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

Networking

למרות שמופע AlloyDB מכיל הרבה צמתים, האפליקציות שלכם מתחברות למופע דרך כתובת IP סטטית אחת. הכתובת הזו יכולה להיות פרטית ל-VPC שאתם מציינים כשאתם מגדירים לראשונה את האשכול של מכונה, או כתובת IP ציבורית שמאפשרת חיבורים ישירים מחוץ ל-VPC.

כתובת IP פרטית

כשמגדירים את AlloyDB עם כתובת IP פרטית, המכונה מקבלת כתובת IP פרטית בתוך ה-VPC.

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

  • אפליקציות שפועלות במקום אחר ב-VPC של הפרויקט יכולות להתחבר למופע – או לשרת proxy שמייצג את המופע – בלי לבצע שלבים נוספים או להשתמש במשאבים נוספים.

    לדוגמה, במאמר חיבור לקוח psql למופע מוסבר איך להתחבר למופע AlloyDB על ידי הרצת תוכנית שורת הפקודה psql במכונה וירטואלית של Compute Engine בתוך ה-VPC.

  • אפליקציות שפועלות מחוץ ל-VPC צריכות שירות ביניים כדי להתחבר למופע AlloyDB. הפתרונות כוללים הפעלה של שירותי proxy במכונה וירטואלית ב-VPC של המופע, או שימוש במוצרים אחרים שלGoogle Cloud כדי ליצור חיבור קבוע בין האפליקציה ל-VPC.

    מידע נוסף זמין במאמר התחברות לאשכול מחוץ ל-VPC שלו.

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

מידע נוסף על כתובת IP פרטית ב-AlloyDB זמין במאמר סקירה כללית על כתובת IP פרטית.

כתובת IP ציבורית

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

מומלץ להשתמש ב-IP ציבורי עם AlloyDB Language Connectors כדי להבטיח חיבורים מאובטחים בין הלקוח לבין המופע.

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

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

חיבורים יוצאים שימושיים במיוחד בתרחישים הבאים:

  • העברת נתונים ממסד נתונים: כשמעבירים את הנתונים ממסד נתונים חיצוני ל-AlloyDB באמצעות Database Migration Service (DMS), אפשר להגדיר את חומת האש של מסד הנתונים החיצוני כך שתאפשר חיבורים מכתובות ה-IP היוצאות הספציפיות של מופע AlloyDB, וכך להבטיח נתיב מאובטח להעברת הנתונים.

  • עטיפות נתונים חיצוניות (FDW): אם אתם צריכים להריץ שאילתות על נתונים ממסד נתונים חיצוני ב-AlloyDB באמצעות עטיפות נתונים חיצוניות כמו postgres_fdw או oracle_fdw, אתם יכולים להוסיף את כתובות ה-IP היוצאות של המופע לרשימת ההיתרים של מסד הנתונים החיצוני. כך אפשר לחבר את AlloyDB למקור הנתונים החיצוני וליצור שאילתות לגביו בצורה מאובטחת.

כשמפעילים כתובת IP ציבורית יוצאת, אפשר לראות את כתובות ה-IP שהוקצו במסוף Google Cloud או באמצעות כלי שורת הפקודה gcloud. לאחר מכן תוכלו להשתמש בכתובות ה-IP האלה כדי להגדיר כללי חומת אש או רשימות בקרת גישה (ACL) במערכות החיצוניות שלכם, וכך להעניק למופע AlloyDB גישה למערכות החיצוניות.

מידע נוסף על הפעלת כתובת IP ציבורית לדואר יוצא זמין במאמר הוספת קישוריות לדואר יוצא למופע.

הרשאה

אתם יכולים לשלוט בגישה לאשכול AlloyDB באמצעות AlloyDB Language Connectors,‏ AlloyDB Auth Proxy או כללי חומת אש של VPC.

מחברים של שפות ב-AlloyDB

מחברי שפות של AlloyDB הם ספריות לקוח שמספקות mTLS אוטומטי באמצעות TLS 1.3 והרשאת IAM כשמתחברים לאשכול AlloyDB.

אפשר להשתמש בספריות האלה ישירות משפות התכנות המתאימות. הם מספקים את אותן יכולות כמו AlloyDB Proxy בלי לדרוש תהליך חיצוני. כך אפשר לשפר את האבטחה ולצמצם את דרישות ההגדרה לחיבור ל-AlloyDB.

מידע נוסף זמין במאמר סקירה כללית על AlloyDB Language Connectors.

שליטה בגישה באמצעות IAM ו-AlloyDB Auth Proxy

אף על פי שאפשר להתחבר ישירות למופע באמצעות כתובת ה-IP שלו, אנחנו ממליצים להשתמש ב-AlloyDB Auth Proxy בסביבות ייצור. הוא מספק בקרת גישה מבוססת-IAM והצפנה מקצה לקצה בין ה-proxy לבין האשכול שלכם.

מידע נוסף זמין במאמר מידע על שרת proxy לאימות של AlloyDB.

הגבלת הגישה ל-VPC באמצעות כללי חומת אש

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

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

אימות

‫AlloyDB תומך בשני סוגים של משתמשי מסד נתונים, שלכל אחד מהם יש דרך משלו לאימות מול מסדי הנתונים:

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

  • משתמשי IAM וחשבונות שירות עוברים אימות כמשתמשי מסד נתונים באמצעות אסימוני OAuth 2.0. אתם מנהלים את החשבונות האלה באמצעות מערכתGoogle Cloud IAM. מידע נוסף זמין במאמר בנושא ניהול אימות IAM.

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

בדרך כלל, האימות הראשון שלכם באשכול AlloyDB חדש כולל כניסה למופע הראשי שלו כמשתמש postgres, באמצעות הסיסמה שציינתם כשנוצר האשכול. משם, צריך ליצור משתמשי מסד נתונים ללא הרשאות אדמין לשימוש באפליקציה.

אם לא מגדירים סיסמה ל-postgres כשיוצרים אשכול, אי אפשר להיכנס לאשכול. כדי להיכנס, צריך להגדיר סיסמה ל-postgres או ליצור משתמש נוסף. מידע נוסף זמין במאמר ניהול משתמשי PostgreSQL באמצעות אימות מובנה.

איגום

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

איגום חיבורים ללקוחות

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

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

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

  • לפעמים ספריית מאגר חיבורי הלקוח נפרדת מ-PostgreSQL driver.
  • לפעמים, מנהל ההתקן של PostgreSQL כולל פונקציונליות של איגום חיבורים ללקוח באותה ספרייה.

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

אם הספרייה תומכת ב-PostgreSQL, אפשר להשתמש בה עם AlloyDB.

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

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

connections = (vCPU count * 2) + 1

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

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

בנוסף למאגר חיבורים בצד הלקוח, ‏ AlloyDB תומך גם בניהול מאגר חיבורים בצד השרת.

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

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