גישה ל-Google APIs אזוריים דרך שרתי קצה עורפיים (original) (raw)

במדריך הזה מוסבר איך להגדיר מאזן עומסים של אפליקציות (ALB) פנימי עם קצה עורפי של Private Service Connect כדי לגשת ל-Google API אזורי.

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

אפשר להגיע למאזן עומסים של אפליקציות (ALB) פנימי שמשמש ל-Private Service Connect מרשתות VPC משותפות ומרשתות מקושרות.

תפקידים

התפקיד 'אדמין של מאזן עומסים של Compute' (roles/compute.loadBalancerAdmin) כולל את ההרשאה שנדרשת לביצוע המשימות שמתוארות במדריך הזה.

שירותים נתמכים

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

לפני שמתחילים

יצירת קבוצת נקודות קצה ברשת

לכל שירות שרוצים להפוך לזמין באמצעות מאזן העומסים, צריך ליצור קבוצה של נקודות קצה ברשת (NEG) מסוג Private Service Connect.

המסוף

  1. נכנסים לדף Network endpoint groups במסוף Google Cloud .
    כניסה לדף Network endpoint groups
  2. לוחצים על יצירת קבוצת נקודות קצה ברשת.
  3. מזינים שם לקבוצת נקודות הקצה ברשת.
  4. בקטע סוג קבוצת נקודות קצה ברשת, בוחרים באפשרות קבוצה של נקודות קצה ברשת (Private Service Connect).
  5. בוחרים את האזור של קבוצת נקודות הקצה ברשת.
  6. בוחרים את שירות היעד לקבוצה של נקודות קצה ברשת.
  7. לוחצים על יצירה.

gcloud

gcloud compute network-endpoint-groups create NEG_NAME
--network-endpoint-type=private-service-connect
--psc-target-service=TARGET_SERVICE
--region=REGION

מחליפים את מה שכתוב בשדות הבאים:

הגדרת מאזן העומסים

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

המסוף

בחירת סוג מאזן העומסים

  1. נכנסים לדף Load balancing במסוף Google Cloud .
    כניסה לדף Load balancing
  2. לוחצים על Create load balancer (יצירת מאזן עומסים).
  3. בקטע Type of load balancer, בוחרים באפשרות Application Load Balancer (HTTP/HTTPS) ולוחצים על Next.
  4. בקטע Public facing or internal (פנימי או גלוי לכולם), בוחרים באפשרות Internal (פנימי) ולוחצים על Next (הבא).
  5. בקטע פריסה חוצה אזורים או פריסה באזור יחיד, בוחרים באפשרות הכי טוב לעומסי עבודה אזוריים ולוחצים על הבא.
  6. לוחצים על Configure (הגדרה).

הגדרה בסיסית

  1. מזינים שם למאזן העומסים.
  2. בוחרים אזור למאזן העומסים.
  3. בוחרים רשת למאזן העומסים.
    הרשת צריכה להכיל תת-רשת של שרת proxy בלבד באזור שבו יוצרים את ה-NEG ואת מאזן העומסים. אם אין לכם רשת משנה, תוכלו ללחוץ על שמירת רשת משנה כדי ליצור אחת.
  4. כדי להמשיך, צריך להשאיר את החלון פתוח.

הגדרת הקצה העורפי

קבוצה של נקודות קצה ברשת מסוג Private Service Connect היא סוג של בק-אנד למאזן עומסים. יוצרים שירות קצה עורפי לכל קצה עורפי שרוצים להגדיר.

  1. לוחצים על Backend configuration.
  2. לכל קבוצה של נקודות קצה ברשת מסוג Private Service Connect שרוצים להגדיר, יוצרים שירות backend.
    1. בתפריט Create or select backend services (יצירה או בחירה של שירותי קצה עורפי), בוחרים באפשרות Create a backend service (יצירת שירות קצה עורפי).
    2. מזינים שם לשירות לקצה העורפי.
    3. מגדירים את סוג הקצה העורפי בתור קבוצה של נקודות קצה ברשת מסוג Private Service Connect.
    4. מגדירים את סוג היעד של Private Service Connect לממשק Google API אזורי.
    5. בוחרים באפשרות HTTPS בשדה 'פרוטוקול'.
    6. בקטע Backends לוחצים על התפריט New backend ובוחרים את קבוצת נקודות הקצה ברשת מסוג Private Service Connect.
      אם אתם צריכים ליצור קבוצה חדשה של נקודות קצה ברשת מסוג Private Service Connect, לוחצים על יצירת קבוצה של נקודות קצה ברשת מסוג Private Service Connect.

כללי ניתוב

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

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

  1. אם יש לכם יותר משירות קצה עורפי אחד, לוחצים על כללי ניתוב.
  2. בוחרים באפשרות כלל פשוט של מארח ונתיב.
  3. לכל קצה עורפי, מבצעים את הפעולות הבאות:
    1. הוספת כלל של מארח ונתיב.
    2. בשדה מארח, מזינים את שם המארח שישמש לשליחת בקשות לשירות הזה – לדוגמה, pubsub.example.com.
    3. בקטע Paths (נתיבים), מזינים את הנתיב. לדוגמה, /*.
    4. בקטע Backends (קצה עורפי), בוחרים את שירות הקצה העורפי.

הגדרות הקצה הקדמי

  1. לוחצים על Frontend configuration.
  2. לוחצים על Add frontend IP and port.
  3. מזינים שם למאזן העומסים.
  4. בשדה Protocol, בוחרים באפשרות HTTPS (includes HTTP/2).
  5. בוחרים Subnetwork למאזן העומסים.
  6. מוודאים שהיציאה מוגדרת ל-443 כדי לאפשר תנועה ב-HTTPS.
  7. בשדה IP address, בוחרים כתובת IP מהתפריט.
    כדי לשמור כתובת IP חדשה, לוחצים על יצירת כתובת IP.
  8. לוחצים על התפריט הנפתח אישור.
    1. אם כבר יש לכם משאב של אישור SSL בניהול עצמי שאתם רוצים להשתמש בו, בוחרים אותו מהתפריט.
    2. אחרת, בוחרים באפשרות Create a new certificate (יצירת אישור חדש).
    3. מזינים שם למשאב האישור.
    4. בשדות המתאימים, מעלים את הקבצים בפורמט PEM:
      • אישור
      • מפתח פרטי
    5. לוחצים על יצירה.
  9. לוחצים על סיום.

בדיקה וסיום

  1. לוחצים על בדיקה וסיום כדי לבדוק את ההגדרה.
  2. לוחצים על יצירה.

gcloud

  1. לכל קבוצת נקודות קצה ברשת שיצרתם, יוצרים שירות backend.
    gcloud compute backend-services create BACKEND_SERVICE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --protocol=HTTPS \
    --region=REGION
    מחליפים את מה שכתוב בשדות הבאים:
    • BACKEND_SERVICE_NAME: השם של השירות לקצה העורפי.
    • REGION: האזור שבו רוצים ליצור את שירות הלקצה העורפי.
  2. לכל שירות קצה עורפי שיצרתם, מוסיפים את ה-NEG המתאים לשירות הקצה העורפי.
    gcloud compute backend-services add-backend BACKEND_SERVICE_NAME \
    --network-endpoint-group=NEG_NAME \
    --region=REGION
    מחליפים את מה שכתוב בשדות הבאים:
    • BACKEND_SERVICE_NAME: השם של השירות לקצה העורפי.
    • NEG_NAME: השם של קבוצת נקודות הקצה ברשת.
    • REGION: האזור של ה-backend.
  3. יוצרים מפת URL למאזן העומסים.
    מפת URL חייבת להפנות לשירות לקצה העורפי שמוגדר כברירת מחדל. אם אתם מגדירים את מאזן העומסים עם שירות לקצה העורפי אחד, הגדירו את שירות לקצה העורפי הזה כברירת המחדל. אם אתם מגדירים את מאזן העומסים לשימוש בכמה שירותי קצה עורפיים, שמופנים על ידי כללי מארח וכלים להתאמת נתיבים שאתם יוצרים בשלב הבא, צריך לבחור אחד משירותי הקצה העורפיים כברירת המחדל של מפת ה-URL.
    gcloud compute url-maps create URL_MAP_NAME \
    --default-service=DEFAULT_BACKEND_SERVICE_NAME \
    --region=REGION
    מחליפים את מה שכתוב בשדות הבאים:
    • URL_MAP_NAME: שם למפת URL.
    • DEFAULT_BACKEND_SERVICE_NAME: השם של ברירת המחדל של מאזן העומסים. ברירת המחדל משמשת כשאין כלל מארח שתואם לשם המארח המבוקש.
    • REGION: האזור שבו רוצים ליצור את מפת ה-URL.
  4. מוסיפים שירותי קצה עורפיים נוספים למפת ה-URL.
    אם מפת ה-URL צריכה להפנות לשני שירותי קצה עורפיים או יותר, צריך לבצע את השלבים הבאים. אם מפת ה-URL מפנה רק לשירות לקצה העורפי אחד, אפשר לדלג על השלב הזה.
    1. מוסיפים התאמת נתיבים לכל שירות קצה עורפי. צריך ליצור התאמה של נתיב לכל שירות לקצה העורפי.
      gcloud compute url-maps add-path-matcher URL_MAP_NAME \
      --path-matcher-name=PATH_MATCHER \
      --default-service=BACKEND_SERVICE_NAME \
      --region=REGION
      מחליפים את מה שכתוב בשדות הבאים:
      • URL_MAP_NAME: השם של מפת URL.
      • PATH_MATCHER: שם להתאמת הנתיב.
      • BACKEND_SERVICE_NAME: השם של השירות לקצה העורפי.
      • REGION: האזור של מפת URL.
    2. מוסיפים כלל מארח לכל שם מארח.
      כל כלל מארח יכול להפנות רק להתאמה אחת של נתיב, אבל שני כללי מארח או יותר יכולים להפנות לאותה התאמה של נתיב.
      gcloud compute url-maps add-host-rule URL_MAP_NAME \
      --hosts=HOST \
      --path-matcher-name=PATH_MATCHER \
      --region=REGION
      מחליפים את מה שכתוב בשדות הבאים:
      • URL_MAP_NAME: השם של מפת URL.
      • HOST: שם המארח שאליו נשלחות בקשות עבור השירות הזה. לדוגמה, pubsub.example.com.
      • PATH_MATCHER: השם של הכלי להתאמת נתיבים.
      • REGION: האזור של מפת URL.
  5. יוצרים את ה-proxy של HTTPS ליעד.
    1. יוצרים משאב אזורי של אישור SSL באמצעות הפקודה gcloud compute ssl-certificates create. אין תמיכה באישורים שמנוהלים על ידי Google במאזני עומסים פנימיים של אפליקציות.
      gcloud compute ssl-certificates create CERTIFICATE \
      --certificate=LB_CERT \
      --private-key=LB_PRIVATE_KEY \
      --region=REGION
      מחליפים את מה שכתוב בשדות הבאים:
      • CERTIFICATE: שם לאישור.
      • LB_CERT: הנתיב לקובץ האישור בפורמט PEM של האישור בניהול עצמי.
      • LB_PRIVATE_KEY: הנתיב לקובץ המפתח הפרטי בפורמט PEM של האישור בניהול עצמי.
      • REGION: האזור של האישור.
    2. משתמשים במשאב של אישור SSL אזורי כדי ליצור שרת proxy אזורי של HTTPS עם הפקודה gcloud compute target-https-proxies create.
      gcloud compute target-https-proxies create PROXY_NAME \
      --url-map=URL_MAP_NAME \
      --region=REGION \
      --ssl-certificates=CERTIFICATE
      מחליפים את מה שכתוב בשדות הבאים:
      • PROXY_NAME: שם לשרת ה-proxy ל-HTTPS.
      • URL_MAP_NAME: השם של מפת URL.
      • REGION: האזור של משאב האישור.
      • CERTIFICATE: השם של משאב האישור.
  6. שומרים כתובת IPv4 פנימית אזורית לכלל ההעברה.
    gcloud compute addresses create ADDRESS_NAME \
    --ip-version=IPV4 \
    --region=REGION \
    --subnet=SUBNETWORK
    מחליפים את מה שכתוב בשדות הבאים:
    • ADDRESS_NAME: שם למשאב כתובת ה-IP.
    • REGION: האזור שבו רוצים ליצור את כתובת ה-IP.
    • SUBNET: רשת המשנה שבה רוצים ליצור את כתובת ה-IP.
      מריצים את הפקודה הזו כדי לראות את כתובת ה-IP השמורה. אחרי שיוצרים את מאזן העומסים, אפשר להשתמש בכתובת ה-IP כדי לאמת את ההגדרה.
      gcloud compute addresses describe ADDRESS_NAME \
      --format="get(address)" --region=REGION
  7. יוצרים את כלל ההעברה.
    יוצרים את כלל ההעברה באמצעות הפקודה gcloud compute forwarding-rules create.
    gcloud compute forwarding-rules create FWD_RULE \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --network=NETWORK \
    --address=ADDRESS_NAME \
    --ports=443 \
    --region=REGION \
    --target-https-proxy=PROXY_NAME \
    --target-https-proxy-region=PROXY_REGION \
    [--service-directory-registration=SD_SERVICE_NAME]
    מחליפים את מה שכתוב בשדות הבאים:
    • FWD_RULE: שם לכלל ההעברה.
    • NETWORK: הרשת שבה יוצרים את כלל ההעברה.
    • ADDRESS_NAME: כתובת ה-IP השמורה.
    • REGION: האזור של כלל ההעברה.
    • PROXY_NAME: השם של שרת ה-proxy ל-HTTPS של היעד.
    • PROXY_REGION: האזור של ה-proxy ל-HTTPS עם יעד.
    • SD_SERVICE_NAME: ה-URI של השירות ב-Service Directory שרוצים לרשום בו את מאזן העומסים, בפורמט הזה:projects/PROJECT/locations/REGION/namespaces/NAMESPACE_NAME/services/SERVICE_NAME. הערך --service-directory-registration הוא אופציונלי.

אימות ההגדרה

  1. יוצרים את המכונה הווירטואלית.
    gcloud compute instances create VM_NAME \
    --network=NETWORK \
    --image-project=debian-cloud --image-family=debian-12 \
    --zone=ZONE
    מחליפים את מה שכתוב בשדות הבאים:
    • VM_NAME: שם למכונה הווירטואלית.
    • NETWORK: הרשת של המכונה הווירטואלית.
    • ZONE: האזור של המכונה הווירטואלית.
  2. מתחברים ל-VM.
    gcloud compute ssh VM_NAME --zone=ZONE
  3. משתמשים ב-curl כדי לאמת את ההגדרה. הפקודה הזו מגדירה את הכותרת Host ומדלגת על פענוח DNS על ידי ציון כתובת IP שהוגדרה על ידי המשתמש. אפשר להשמיט את היציאה אם משתמשים ביציאה שמוגדרת כברירת מחדל לפרוטוקול, למשל אם משתמשים ביציאה 443 ל-HTTPS.
    במקרה הצורך, אפשר לדלג על אימות האישור באמצעות הדגל -k. יכול להיות שתצטרכו לדלג על האימות אם השתמשתם באישור בחתימה עצמית כדי להגדיר את פרוקסי ה-HTTPS של היעד, או אם למכונה הווירטואלית אין את האישור של רשות האישורים שחתמה על האישור שלכם.
    curl -iv --resolve HOSTNAME:443:IP_ADDRESS \
    'https://HOSTNAME/RESOURCE_URI'
    מחליפים את מה שכתוב בשדות הבאים:
    • HOSTNAME: שם המארח שהגדרתם במיפוי כתובות ה-URL, לדוגמה pubsub.example.com.
    • IP_ADDRESS: כתובת ה-IP של כלל ההעברה של מאזן העומסים.
    • RESOURCE_URI: שאר ה-URI של המשאב שרוצים להשתמש בו לאימות. לדוגמה, אם מאזן העומסים מעביר בקשות לנקודת קצה אזורית של Pub/Sub, אפשר להשתמש ב-rest?version=v1.

הגדרת רשומות DNS

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

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

כדי שההגדרה הזו תפעל בצורה תקינה, צריך ליצור רשומת DNS שמפנה pubsub.example.com לכתובת ה-IP של כלל ההעברה.

בהגדרה הזו, כל בקשה שנשלחת אל pubsub.example.com מועברת למאזן העומסים, שמעביר את הבקשה אל pubsub.europe-west3.rep.googleapis.com.

הגדרת לקוחות לשליחת בקשות לקצה העורפי

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

גישה לעורף ממארחים מקומיים

אם הרשת המקומית שלכם מחוברת לרשת VPC, אתם יכולים לשלוח תנועה אל ה-backend של Private Service Connect.

איור 1. אפשר להתחבר לממשקי API ולשירותים של Google באמצעות בק-אנדים אזוריים על ידי הגדרה של Private Service Connect,‏ Cloud Router ומארחים מקומיים (לוחצים להגדלה).