בדף הזה מוסבר על קישוריות למסדי נתונים שמופעלים על ידי 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, וכך להבטיח נתיב מאובטח להעברת נתונים.
עטיפות נתונים חיצוניים: אם אתם צריכים להריץ שאילתות על נתונים ממסד נתונים חיצוני ב-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 בלי לדרוש תהליך חיצוני. השימוש ב-Private Service Connect משפר את האבטחה ומפחית את דרישות ההגדרה לחיבור ל-AlloyDB.
מידע נוסף זמין במאמר סקירה כללית על AlloyDB Language Connectors.
חיבור באמצעות gcloud
לסשנים אינטראקטיביים של מסדי נתונים, אפשר להשתמש בפקודה gcloud beta alloydb connect. הפקודה הזו מפשטת את תהליך החיבור על ידי ניהול אוטומטי של מופע מקומי של AlloyDB Auth Proxy והתחלה של סשן לקוח psql בשבילכם.
מידע נוסף זמין במאמר איך מתחברים באמצעות gcloud.
שליטה בגישה באמצעות 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.
- לפעמים, מנהל ההתקן של PostgreSQL כולל פונקציונליות של איגום חיבורים ללקוח באותה ספרייה.
אלה ספריות נפוצות של מאגרי חיבורים:
- HikariCP ל-Java
- SQLAlchemy ל-Python
- pgxpool ל-Go
- node-postgres ל-Node.js
- Npgsql ל- .NET
אם הספרייה תומכת ב-PostgreSQL, אפשר להשתמש בה עם AlloyDB.
הגדרת מאגרי חיבורים של לקוחות
כדי להפיק את הביצועים הטובים ביותר ממאגר חיבורי הלקוחות, יכול להיות שתצטרכו להגדיר את גודל המאגר. אפשר להשתמש בנוסחה הבאה כנקודת התחלה:
connections = (vCPU count * 2) + 1
מידע נוסף זמין במאמר מידע על גודל המאגר. יכול להיות שתצטרכו לבצע התאמות נוספות בהתאם לעומסים בעולם האמיתי.
שימוש במאגר חיבורים מנוהל
בנוסף למאגר חיבורים של לקוחות, AlloyDB תומך גם במאגר חיבורים מנוהל בצד השרת.
אפשר להשתמש בניהול מאגר חיבורים לכל עומס עבודה טרנזקציוני, אבל הוא מתאים במיוחד לאפליקציות שמכילות יותר חיבורים קצרי-חיים, או לאפליקציות שעלולות לחוות עלייה פתאומית בחיבורים. מידע נוסף זמין במאמר בנושא הגדרת מאגר חיבורים מנוהל.
המאמרים הבאים
- בחירת שיטת ההתחברות ל-AlloyDB.
- איך מתחברים באמצעות הכלי
gcloudשל שורת הפקודה איך מתחברים למכונת AlloyDB באמצעות מעטפת שורת הפקודה
psqlההוראות כוללות הסבר על הגדרת מכונה וירטואלית ב-VPC והתקנתpsqlעליה.איך מתקינים את AlloyDB Auth Proxy ומשתמשים בו כדי ליצור חיבורים מאובטחים למופע AlloyDB.