איזון עומסים פנימי ושמות DNS

רשומת כתובת DNS, שנקראת רשומת A, משמשת למיפוי של שם DNS לכתובת IP. כשיוצרים כלל העברה למאזן עומסים פנימי, אפשר גם לציין תווית שירות כדי ש- Google Cloudייצור שם DNS פנימי ייחודי של Compute Engine למאזן העומסים. שם ה-DNS הפנימי הזה מורכב ממזהה הפרויקט, משם כלל ההעברה ומהתווית של השירות שאתם מציינים.

אתם צריכים.

מפרטים

  • התכונה הזו נתמכת על ידי כללי העברה למאזני העומסים הבאים:

  • במאמר פורמט רשומת DNS מפורט הפורמט של שם ה-DNS ש- Google Cloud יוצר למאזן העומסים. מכיוון ששם ה-DNS מכיל את השם של כלל ההעברה, כל שם DNS הוא ייחודי, גם אם משתמשים באותו תווית שירות לכמה כללי העברה.

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

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

  • יש הגבלות על שמות ה-DNS הפנימיים שנוצרים מתוויות שירות:

    • לא נוצרות רשומות הפוכות (PTR) תואמות.
    • לכל כלל העברה יכולה להיות רק תווית שירות אחת.
    • חוץ מתווית השירות והשם של כלל ההעברה, אי אפשר לשנות אף חלק אחר בשם ה-DNS הפנימי. זה כולל את הפורמט ואת שם הדומיין (.internal).

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

הפורמט של רשומת ה-DNS

כשמוסיפים תווית שירות לכלל העברה, Google Cloud נוצרת רשומת A של DNS פנימי ב-Compute Engine באחד מהפורמטים הבאים:

  • למאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי:

    SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT_ID.internal

  • למאזני עומסים פנימיים אזוריים של אפליקציות (ALB) ולמאזני עומסי רשת פנימיים אזוריים בשרת proxy:

    SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT_ID.internal

SERVICE_LABEL היא תווית השירות של כלל ההעברה שאתם מציינים. הפורמט של המאפיין חייב להיות:

  • אפשר להשתמש ב-63 אותיות קטנות (a עד z), ספרות (0 עד 9) או מקפים (-).
  • תווית השירות חייבת להתחיל באות קטנה.
  • תווית השירות חייבת להסתיים באות קטנה או בספרה.

FORWARDING_RULE_NAME הוא השם של כלל ההעברה שאתם יוצרים.

REGION הוא האזור של מאזן העומסים.

PROJECT_ID הוא מזהה הפרויקט. מזהי פרויקטים מהצורה organization:project-id מומרים ל-project-id.organization. לדוגמה, אם מזהה הפרויקט הוא example.com:example-marketing-prod,הפקודה Google Cloud משתמשת ב-example-marketing-prod.example.com.

יצירת כלל העברה עם תווית שירות

במאמר הזה מוסבר איך ליצור כלל העברה עם תווית שירות.

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

המסוף

  1. נכנסים לדף Load balancing במסוף Google Cloud .

    כניסה לדף איזון עומסים

  2. לוחצים על Create load balancer (יצירת מאזן עומסים).
  3. משלימים את השלבים באשף כדי ליצור מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי או מאזן עומסים של אפליקציות פנימי אזורי, ולוחצים על הגדרה.
  4. מציינים שם למאזן העומסים.
  5. לוחצים על Continue.
  6. ממלאים את Backend configuration.
  7. לוחצים על Frontend configuration. משלימים את הגדרת הקצה הקדמי, ומציינים תווית שירות בחלק התחתון של הקטע.

  8. לוחצים על Done (סיום) ואז על Review and finalize (בדיקה וסיום).

gcloud

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

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL \
    --region=REGION \
    --backend-service-region=REGION \
    --backend-service=BACKEND_SERVICE_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=PROTOCOL \
    --ports=PORTS \
    --service-label=SERVICE_LABEL

כדי ליצור כלל העברה עם תווית שירות למאזן עומסי רשת אזורי פנימי לשרת proxy:

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-tcp-proxy-region=REGION \
    --target-tcp-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

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

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-https-proxy-region=REGION \
    --target-https-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

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

gcloud compute forwarding-rules create FORWARDING_RULE_NAME \
    --load-balancing-scheme=INTERNAL_MANAGED \
    --region=REGION \
    --target-http-proxy-region=REGION \
    --target-http-proxy=TARGET_PROXY_NAME \
    --network=NETWORK \
    --subnet=SUBNET \
    --address=INTERNAL_IP \
    --ip-protocol=TCP \
    --ports=PORT \
    --service-label=SERVICE_LABEL

מחליפים את ה-placeholders בערכים המתאימים:

  • FORWARDING_RULE_NAME הוא השם של כלל ההעברה של מאזן העומסים.
  • REGION הוא האזור של מאזן העומסים.
  • BACKEND_SERVICE_NAME הוא השם של שירות לקצה העורפי של מאזן העומסים.
  • TARGET_PROXY_NAME הוא השם של שרת ה-proxy של היעד.
  • NETWORK הוא השם של רשת ה-VPC שבה נוצר מאזן העומסים.
  • SUBNET הוא השם של רשת משנה ברשת ה-VPC. רשת המשנה צריכה להיות באותו אזור כמו שירות לקצה העורפי או שרת ה-Proxy של היעד של מאזן העומסים.
  • INTERNAL_IP היא כתובת IP פנימית בטווח כתובות ה-IP הראשי של תת-הרשת שנבחרה. אפשר להשמיט את הדגל --address כדי ש-Google Cloud יבחר עבורכם כתובת IP זמינה.
  • במאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי, PROTOCOL הוא TCP או UDP, בהתאם לפרוטוקול של שירות הקצה העורפי של מאזן העומסים. במאזני עומסים פנימיים אזוריים של אפליקציות (ALB) ובמאזני עומסים פנימיים אזוריים של רשת לשרת proxy, הפרוטוקול חייב להיות TCP.
  • במאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי, PORTS הוא מערך של עד חמש יציאות לפי מספר, או המילה ALL. במאזני עומסים אזוריים פנימיים של אפליקציות ובמאזני עומסי רשת אזוריים פנימיים לשרת proxy, אפשר להפנות בדיוק ליציאה אחת מתוך 1-65535. פרטים נוספים מופיעים במאמר בנושא מושגים של כללי העברה בקטע מפרטים של יציאות.
  • SERVICE_LABEL היא תווית השירות שבחרתם. הוא צריך לעמוד במוסכמות למתן שמות.

api

בדוגמאות הבאות נוצרים כללי העברה באמצעות השיטה forwardingRules.insert

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL",
  "backendService": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/backendServices/BACKEND_SERVICE_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "PROTOCOL",
  "ports": PORTS,
  "serviceLabel": "SERVICE_LABEL"
}

כדי ליצור כלל העברה עם תווית שירות למאזן עומסי רשת אזורי פנימי לשרת proxy:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetTcpProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpsProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

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

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules

{
  "name": "FORWARDING_RULE_NAME",
  "loadBalancingScheme": "INTERNAL_MANAGED",
  "target": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/targetHttpProxies/TARGET_PROXY_NAME",
  "network": "https://www.googleapis.com/compute/v1/projects/PROJECT/global/networks/NETWORK",
  "subnetwork": "https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET",
  "IPAddress": "INTERNAL_IP",
  "IPProtocol": "TCP",
  "ports": PORT,
  "serviceLabel": "SERVICE_LABEL"
}

מחליפים את ה-placeholders בערכים המתאימים:

  • FORWARDING_RULE_NAME הוא השם של כלל ההעברה של מאזן העומסים.
  • REGION הוא האזור של מאזן העומסים.
  • BACKEND_SERVICE_NAME הוא השם של שירות הלקצה העורפי של מאזן עומסי הרשת הפנימי להעברת סיגנל ללא שינוי.
  • TARGET_PROXY_NAME הוא השם של שרת ה-proxy של היעד.
  • NETWORK הוא השם של רשת ה-VPC שבה נוצר מאזן העומסים.
  • SUBNET הוא השם של רשת משנה ברשת ה-VPC. רשת המשנה צריכה להיות באותו אזור כמו שירות לקצה העורפי או שרת ה-Proxy של היעד של מאזן העומסים.
  • INTERNAL_IP היא כתובת IP פנימית בטווח כתובות ה-IP הראשי של תת-הרשת שנבחרה. אפשר להשמיט את המפתח IPAddress כדי ש-Google Cloud תבחר בשבילכם כתובת IP זמינה.
  • במאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי, PROTOCOL הוא TCP או UDP, בהתאם לפרוטוקול של שירות הקצה העורפי של מאזן העומסים. במאזני עומסים פנימיים אזוריים של אפליקציות (ALB) ובמאזני עומסים פנימיים אזוריים של רשת לשרת proxy, הפרוטוקול חייב להיות TCP.
  • במאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי, PORTS הוא מערך של עד חמש יציאות לפי מספר, או המילה ALL. במאזני עומסים אזוריים פנימיים של אפליקציות ובמאזני עומסי רשת אזוריים פנימיים לשרת proxy, אפשר להפנות בדיוק ליציאה אחת מתוך 1-65535. פרטים נוספים מופיעים במאמר בנושא מושגים של כללי העברה בקטע מפרטים של יציאות.
  • SERVICE_LABEL היא תווית השירות שבחרתם. הוא צריך לעמוד במוסכמות למתן שמות.

צפייה בתוויות של שירותים

המסוף

אפשר לראות את שם ה-DNS הפנימי של Compute Engine (שנוצר מתווית השירות) לכל כלל העברה פנימי של מאזן עומסים פנימי:

  1. נכנסים לדף Load balancing במסוף Google Cloud .

    כניסה לדף איזון עומסים

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

  3. כללי ההעברה הפנימיים שמוקצים למאזן העומסים מפורטים בקטע Frontend. בעמודה DNS name מוצג שם ה-DNS הפנימי של Compute Engine שמוקצה לכל כלל העברה. תווית השירות היא החלק הראשון של השם (לפני הנקודה הראשונה). אם לא מוצג שם, לא הוגדרה תווית שירות לכלל ההעברה.

gcloud

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

    gcloud compute forwarding-rules list \
        --filter="loadBalancingScheme=SCHEME"
    

    הערך של SCHEME תלוי בכללי ההעברה שצריך לפרט:

    • למאזני עומסי רשת פנימיים להעברת סיגנל ללא שינוי, משתמשים ב-INTERNAL.
    • במאזני עומסים פנימיים אזוריים של אפליקציות (ALB) ובמאזני עומסי רשת פנימיים אזוריים לשרת proxy, משתמשים בINTERNAL_MANAGED.
  2. מתארים את כלל ההעברה, מחליפים את FORWARDING_RULE_NAME בשם שלו ואת REGION באזור שלו:

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
        --region=REGION \
        --format="get(serviceLabel)"
    

api

צפייה בכלל ההעברה ובתווית השירות באמצעות forwardingRules.get השיטה

התשובה לבקשת ה-API כוללת את תווית השירות (serviceLabel) ואת שם ה-DNS הפנימי של Compute Engine‏ (serviceName).

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/forwardingRules/FORWARDING_RULE_NAME

תגובה של מאזן עומסי רשת פנימי להעברת סיגנל ללא שינוי:

{
  ...
  "serviceLabel": "SERVICE_LABEL",
  "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il4.REGION.lb.PROJECT.internal",
  ...
}

תגובה של מאזן עומסים אזורי פנימי בשרת proxy ומאזן עומסים אזורי פנימי של אפליקציות (ALB):

{
  ...
  "serviceLabel": "SERVICE_LABEL",
  "serviceName": "SERVICE_LABEL.FORWARDING_RULE_NAME.il7.REGION.lb.PROJECT.internal",
  ...
}

דוגמה

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

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

  1. תאר את כלל ההעברה הקיים של מאזן העומסים, וציין את כתובת ה-IP הפנימית של כלל ההעברה:

    gcloud compute forwarding-rules describe FORWARDING_RULE_NAME \
        --region=REGION \
        --format="get(IPAddress)"
    
  2. מחיקת כלל ההעברה:

    gcloud compute forwarding-rules delete FORWARDING_RULE_NAME \
        --region=REGION
    
  3. יוצרים כלל העברה חלופי עם אותו שם וכתובת IP פנימית עם תווית שירות. הוראות מפורטות זמינות במאמר בנושא יצירת כלל להעברה עם תווית שירות.

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