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

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

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

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

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

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

במאמר בחירת אפשרות קישוריות מוסבר איך לבחור את הגדרת הקישוריות שמתאימה לעומס העבודה.

Networking

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

כתובת IP פרטית

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

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

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

    לדוגמה, במאמר התחברות מ-Compute Engine מוסבר איך להתחבר למכונה של 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 או עם שרת ה-proxy לאימות של AlloyDB.

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

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

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

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

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

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

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

הרשאה

אתם יכולים לשלוט בגישה לאשכול AlloyDB באמצעות מחברי שפות ל-AlloyDB, שרת ה-proxy לאימות של AlloyDB או כללי חומת אש של VPC.

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

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

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

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

התחברות באמצעות gcloud

לסשנים אינטראקטיביים של מסד נתונים, אפשר להשתמש בפקודה gcloud beta alloydb connect. הפקודה הזו מפשטת את תהליך החיבור על ידי ניהול אוטומטי של מכונה מקומית של שרת ה-proxy לאימות של AlloyDB, והתחלת סשן של לקוח psql בשבילכם.

מידע נוסף זמין במאמר התחברות באמצעות gcloud.

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

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

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

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

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

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

אימות

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

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

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

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

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

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

איחוד

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

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

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

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

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

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

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

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

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

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

connections = (vCPU count * 2) + 1

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

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

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

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

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