יצירה וניהול של חיבורי VPN

בדף הזה מוסבר איך ליצור ולנהל משאבי חיבור VPN של Google Distributed Cloud באזור Distributed Cloud.

מידע נוסף על חיבורי Distributed Cloud VPN זמין במאמר איך Distributed Cloud פועל.

חשוב לזכור:

  • אתם צריכים להגדיר את הרשת כך שתאפשר את התנועה שנדרשת לחיבורי Distributed Cloud VPN.

  • כשיוצרים חיבור Distributed Cloud VPN,‏ Distributed Cloud יוצר את שער Cloud VPN ואת משאבי Cloud Router הנדרשים. השם של שער Cloud VPN מתחיל בקידומת anthos-mcc. השם של Cloud Router מתחיל בקידומת gdce. אסור לשנות את המשאבים האלה, אחרת יכול להיות שחיבור ה-VPN של Distributed Cloud יפסיק לפעול. אם משנים את המשאבים האלה בטעות, צריך למחוק את חיבור ה-VPN המושפע ב-Distributed Cloud וליצור אותו מחדש.

  • כשיוצרים את חיבור ה-VPN הראשון של Distributed Cloud בGoogle Cloud פרויקט ובאזור מסוימים, נוצר ב-Distributed Cloud נתב Cloud Router יחיד לכל Google Cloud פרויקט בכל אזור. כל חיבורי ה-VPN שייווצרו בהמשך בפרויקט ובאזור האלה ישתמשו מחדש באותו משאב Cloud Router. Google Cloud

  • אפשר למחוק משאב Cloud Router רק אם לא מחוברים אליו ממשקי רשת משניים. ‫Distributed Cloud מוחק באופן אוטומטי את Cloud Router כשמוחקים את חיבור ה-VPN האחרון שנשאר שמצורף אליו.

  • חיבורי VPN ב-Distributed Cloud תומכים רק בכתובות IPv4.

  • אפשר ליצור רק חיבור VPN אחד לכל אשכול של Distributed Cloud.

  • אם הרשת המקומית שלכם משתמשת בכמה שערים של תרגום כתובות רשת (NAT), אתם צריכים להגדיר אותם כך שההתקנה של Distributed Cloud תשתמש בכתובת IP אחת לתנועה יוצאת לרשת של הענן הווירטואלי הפרטי (VPC).

  • כברירת מחדל, Distributed Cloud מגדיר לקוח VPN יחיד בצומת יחיד כדי להתחבר אל Google Cloud באמצעות שתי מנהרות VPN, שנקראות גם HA VPN בקצה Google Cloud . כדי להגדיל עוד יותר את הזמינות של חיבור ה-VPN, אפשר להשתמש בדגל --high-availability. הדגל הזה מורה ל-Distributed Cloud להגדיר שני לקוחות VPN בשני צמתים נפרדים, כך שיהיו בסך הכול ארבע מנהרות VPN.

  • כדי לשנות את ההגדרה של חיבור VPN, צריך למחוק אותו וליצור אותו מחדש.

  • אתם יכולים לנהל חיבורי VPN באמצעות Google Cloud CLI או Distributed Cloud Edge Container API.

יצירת חיבור VPN

כדי ליצור חיבור Distributed Cloud VPN, צריך לבצע את השלבים שבקטע הזה.

כדי להשלים את המשימה הזו, צריך להיות לכם תפקיד אדמין של Edge Container (roles/edgecontainer.admin) בפרויקט Google Cloud .

gcloud

משתמשים בפקודה gcloud edge-cloud container vpn-connections create:

gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME \
    --vpc-network=VPC_NETWORK_NAME \
    --nat-gateway-ip=NAT_GATEWAY_IP \
    --router=ROUTER_NAME \
    --high-availability

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

  • VPN_CONNECTION_NAME: שם תיאורי שמזהה באופן ייחודי את חיבור ה-VPN הזה.
  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.
  • REGION: האזור ב- Google Cloud שבו נוצר אזור היעד של Distributed Cloud.
  • CLUSTER_NAME: השם של אשכול היעד ב-Distributed Cloud.
  • VPC_NETWORK_NAME: השם של רשת ה-VPC של היעד שאליה מצביע חיבור ה-VPN הזה. הרשת הזו צריכה להיות באותו פרויקט Google Cloud שבו מותקן Distributed Cloud.
  • NAT_GATEWAY_IP: כתובת ה-IP של שער ה-NAT עבור אשכול היעד. אם לא משתמשים ב-NAT, לא צריך להוסיף את הדגל הזה.
  • ROUTER_NAME (אופציונלי): מציין משאב Cloud Router קיים לשימוש בחיבור ה-VPN הזה. אחרת, Distributed Cloud יוצר Cloud Router באופן אוטומטי אם הוא עדיין לא קיים בGoogle Cloud פרויקט ובאזור היעד.
  • --high-availability (אופציונלי): מגדיר את חיבור ה-VPN הזה לזמינות גבוהה בצד האשכול על ידי הגדרת שני לקוחות VPN נפרדים שפועלים בשני צמתים נפרדים. כדי להשבית את הזמינות הגבוהה, לא מציינים את הדגל הזה.

API

שולחים בקשת POST אל ה-method‏ projects.locations.vpnConnections.create:

POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
  "name": string,
  "labels": {
   },
  "natGatewayIp": NAT_GATEWAY,
  "cluster": CLUSTER_PATH,
  "vpc": VPC_NETWORK_ID
  "enableHighAvailability": HA_ENABLE,
  "router": ROUTER_NAME,
}

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

  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.
  • REGION: Google Cloud האזור שבו נוצר אזור היעד של Distributed Cloud.
  • VPN_CONNECTION_ID: מזהה ייחודי שניתן לתכנות ומזהה את משאב מאגר הצמתים הזה.
  • REQUEST_ID: מזהה ייחודי שנוצר באופן פרוגרמטי ומזהה את הבקשה הזו.
  • VPN_CONNECTION_NAME: שם תיאורי שמזהה באופן ייחודי את חיבור ה-VPN הזה.
  • NAT_GATEWAY: כתובת ה-IP של שער ה-NAT.
  • CLUSTER_PATH: הנתיב הקנוני המלא אל אשכול היעד.
  • VPC_NETWORK_ID: המזהה של רשת ה-VPC היעד.
  • HA_ENABLE: מציין אם להגדיר את חיבור ה-VPN הזה לזמינות גבוהה בצד האשכול. אם ההגדרה היא TRUE, מוגדרים שני לקוחות VPN נפרדים שפועלים בשני צמתים נפרדים.
  • ROUTER_NAME (אופציונלי): מציין משאב Cloud Router קיים לשימוש בחיבור ה-VPN הזה. אחרת, Distributed Cloud יוצר Cloud Router באופן אוטומטי אם הוא עדיין לא קיים בGoogle Cloud פרויקט ובאזור היעד.

הצגת רשימה של חיבורי VPN

כדי להציג את רשימת חיבורי ה-VPN שהוקצו לאשכול Distributed Cloud, צריך לבצע את השלבים שבקטע הזה.

כדי להשלים את המשימה הזו, צריך להיות לכם התפקיד 'צפייה במאגר תגים ב-Edge' (roles/edgecontainer.viewer) בפרויקט ב- Google Cloud .

gcloud

משתמשים בפקודה gcloud edge-cloud container vpn-connections list:

gcloud edge-cloud container vpn-connections list \
    --project=PROJECT_ID \
    --location=REGION

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

  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.
  • REGION: Google Cloud האזור שבו נוצר אזור היעד של Distributed Cloud.

API

שולחים בקשת GET אל ה-method‏ projects.locations.vpnConnections.list:

GET /v1/PROJECT_ID/locations/REGION/vpnConnections?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN

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

  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.
  • REGION: Google Cloud האזור שבו נוצר אזור היעד של Distributed Cloud.
  • FILTER: ביטוי שמגביל את התוצאות שמוחזרות לערכים ספציפיים.
  • PAGE_SIZE: מספר התוצאות שיוחזרו בכל דף.
  • SORT_BY: רשימה מופרדת בפסיקים של שמות שדות שלפיהם ימוינו התוצאות שיוחזרו. סדר המיון שמוגדר כברירת מחדל הוא סדר עולה. כדי להגדיר סדר יורד, מוסיפים את התו ~ לפני השדה הרצוי.
  • PAGE_TOKEN: אסימון שמתקבל בתגובה לבקשת הרשימה האחרונה בשדה nextPageToken בתגובה. שולחים את האסימון הזה כדי לקבל דף תוצאות.

קבלת מידע על חיבור VPN

כדי לקבל מידע על חיבור VPN של Distributed Cloud, צריך לבצע את השלבים שבקטע הזה.

כדי להשלים את המשימה הזו, צריך להיות לכם התפקיד 'צפייה במאגר תגים ב-Edge' (roles/edgecontainer.viewer) בפרויקט ב- Google Cloud .

gcloud

משתמשים בפקודה gcloud edge-cloud container vpn-connections describe:

gcloud edge-cloud container vpn-connections describe VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION

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

  • VPN_CONNECTION_NAME: השם של חיבור ה-VPN ליעד.
  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.
  • REGION: Google Cloud האזור שבו נוצר אזור היעד של Distributed Cloud.

API

שולחים בקשת GET אל ה-method‏ projects.locations.vpnConnections.get:

GET /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME

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

  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.
  • REGION: Google Cloud האזור שבו נוצר אזור היעד של Distributed Cloud.
  • VPN_CONNECTION_NAME: השם של חיבור ה-VPN ליעד.

מחיקת חיבור VPN

כדי למחוק חיבור Distributed Cloud VPN, צריך לבצע את השלבים שבקטע הזה.

אם אתם מוחקים את חיבור ה-VPN האחרון שמשויך למשאב Cloud Router ש-Distributed Cloud יצר בעבר בפרויקט Google Cloud , מחיקת חיבור ה-VPN תגרום למחיקה אוטומטית של משאב Cloud Router המשויך. עם זאת, במצב הזה נמחקים אוטומטית רק משאבי Cloud Router שנוצרו אוטומטית על ידי Distributed Cloud. ‫Distributed Cloud לא מוחק משאבי Cloud Router קיימים שצוינו באמצעות הדגל --router.

כדי להשלים את המשימה הזו, צריך להיות לכם תפקיד אדמין של Edge Container (roles/edgecontainer.admin) בפרויקט Google Cloud .

gcloud

משתמשים בפקודה gcloud edge-cloud container vpn-connections delete:

gcloud edge-cloud container vpn-connections delete VPN_CONNECTION_NAME \
    --location=REGION \
    --project=PROJECT_ID

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

  • VPN_CONNECTION_NAME: שם תיאורי שמזהה באופן ייחודי את חיבור ה-VPN הזה.
  • REGION: האזור ב- Google Cloud שבו נוצר אזור היעד של Distributed Cloud.
  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.

API

שולחים בקשת DELETE אל ה-method‏ projects.locations.vpnConnections.delete:

DELETE /v1/PROJECT_ID/locations/REGION/vpnConnections/VPN_CONNECTION_NAME?requestId=REQUEST_ID

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

  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.
  • REGION: Google Cloud האזור שבו נוצר אזור היעד של Distributed Cloud.
  • VPN_CONNECTION_NAME: השם של חיבור ה-VPN ליעד.
  • REQUEST_ID: מזהה ייחודי שנוצר באופן פרוגרמטי ומזהה את הבקשה הזו.

ניהול חיבורי VPN בין פרויקטים

בנוסף, Distributed Cloud מאפשר ליצור חיבורי VPN לרשתות VPC ב Google Cloud פרויקט ששונה מ Google Cloud הפרויקט שמכיל את אשכול Distributed Cloud. Google Cloud

דרישות מוקדמות

כדי ליצור חיבורי VPN בין פרויקטים, צריך לעמוד בדרישות המוקדמות שמפורטות בקטע הזה.

הרשאות בחשבון של המתקשר

לחשבון המשתמש שמבצע את הקריאה בפרויקט ה-VPC של היעד צריכות להיות ההרשאות הבאות. ההרשאות האלה כלולות בתפקיד אדמין IAM בפרויקט (roles/resourcemanager.projectIamAdmin):

  • resourcemanager.projects.get
  • resourcemanager.projects.getIamPolicy
  • resourcemanager.projects.setIamPolicy

במאמר ניהול הגישה לפרויקטים, לתיקיות ולארגונים מוסבר איך מגדירים תפקידים והרשאות ב-IAM.

הרשאות בחשבון שירות ב-Distributed Cloud

כדי לאפשר ל-Distributed Cloud ליצור את המשאבים Cloud Router ו-Cloud VPN בפרויקט ה-VPC של היעד, שמאפשר את חיבור ה-VPN בין הפרויקטים, צריך להעניק לחשבון השירות של Distributed Cloud באשכול Distributed Cloud את התפקיד אדמין של רשת Compute (roles/compute.networkAdmin).

כדי להקצות את התפקיד 'אדמין רשת Compute', מבצעים את הפעולות הבאות.

gcloud

משתמשים בפקודה gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding VPC_PROJECT_ID \
    --member="serviceAccount:service-PROJECT_NUM@gcp-sa-edgecontainer.iam.gserviceaccount.com" \
    --role="roles/compute.networkAdmin" \
    --project=VPC_PROJECT_ID

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

  • VPC_PROJECT_ID: מזהה פרויקט ה-VPC של היעד.
  • PROJECT_NUM: מספר הפרויקט של Distributed Cloud Google Cloud .

יצירת חיבור VPN בין פרויקטים

כדי ליצור חיבור VPN לרשת VPC בפרויקט אחר שלGoogle Cloud , צריך לבצע את השלבים שבקטע הזה.

gcloud

משתמשים בפקודה gcloud edge-cloud container vpn-connections create:

gcloud edge-cloud container vpn-connections create VPN_CONNECTION_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME \
    --vpc-project=VPC_PROJECT_ID \
    --vpc-network=VPC_NETWORK_NAME \
    --nat-gateway-ip=NAT_GATEWAY_IP \
    --high-availability

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

  • VPN_CONNECTION_NAME: שם תיאורי שמזהה באופן ייחודי את חיבור ה-VPN הזה.
  • PROJECT_ID: המזהה של פרויקט האשכול ב-Distributed Cloud Google Cloud .
  • REGION: Google Cloud האזור שבו נוצר אזור היעד של Distributed Cloud.
  • CLUSTER_NAME: השם של אשכול היעד ב-Distributed Cloud.
  • VPC_PROJECT_ID: מזההGoogle Cloud פרויקט היעד שמכיל את רשת ה-VPC של היעד.
  • VPC_NETWORK_NAME: השם של רשת ה-VPC של היעד שאליה מצביע חיבור ה-VPN הזה.
  • NAT_GATEWAY_IP: כתובת ה-IP של שער ה-NAT עבור אשכול היעד. אם לא משתמשים ב-NAT, לא צריך להוסיף את הדגל הזה.
  • --high-availability (אופציונלי): מגדיר את חיבור ה-VPN הזה לזמינות גבוהה בצד האשכול על ידי הגדרת שני לקוחות VPN נפרדים שפועלים בשני צמתים נפרדים. כדי להשבית את הזמינות הגבוהה, לא מציינים את הדגל הזה.

API

שולחים בקשת POST אל ה-method‏ projects.locations.vpnConnections.create:

POST /v1/PROJECT_ID/locations/REGION/vpnConnections?vpnConnectionId=VPN_CONNECTION_ID&requestId=REQUEST_ID
{
  "name": string,
  "labels": {
   },
  "natGatewayIp": NAT_GATEWAY,
  "cluster": CLUSTER_PATH,
  "vpc": VPC_NETWORK_ID,
  "vpcProject": VPC_PROJECT_ID,
  "vpcServiceAccount": var>VPC_PROJECT_SERVICE_ACCOUNT,
  "enableHighAvailability": HA_ENABLE,
}

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

  • PROJECT_ID: המזהה של Google Cloud פרויקט היעד.
  • REGION: Google Cloud האזור שבו נוצר אזור היעד של Distributed Cloud.
  • VPN_CONNECTION_ID: מזהה ייחודי שניתן לתכנות ומזהה את משאב מאגר הצמתים הזה.
  • REQUEST_ID: מזהה ייחודי שנוצר באופן פרוגרמטי ומזהה את הבקשה הזו.
  • VPN_CONNECTION_NAME: שם תיאורי שמזהה באופן ייחודי את חיבור ה-VPN הזה.
  • NAT_GATEWAY: כתובת ה-IP של שער ה-NAT.
  • CLUSTER_PATH: הנתיב הקנוני המלא אל אשכול היעד.
  • VPC_NETWORK_ID: המזהה של רשת ה-VPC היעד.
  • VPC_PROJECT_ID: מזהה פרויקט היעדGoogle Cloud שמכיל את רשת ה-VPC של היעד.
  • HA_ENABLE: מציין אם להגדיר את חיבור ה-VPN הזה לזמינות גבוהה בצד האשכול. אם ההגדרה היא TRUE, מוגדרים שני לקוחות VPN נפרדים שפועלים בשני צמתים נפרדים.

יומני ביקורת של Cloud לחיבורי VPN בין פרויקטים

כשיוצרים חיבור VPN בין פרויקטים, יומני הביקורת של Cloud נכתבים באופן הבא:

  • ביומני הביקורת של אשכול Distributed Cloud מתועדים נתונים על פעולות שפועלות לאורך זמן, על אימות ועל הרשאות לחיבור VPN בין פרויקטים. המידע הזה כולל את המתקשר של פעולת היצירה ואת ההרשאות שהוענקו למתקשר או שנמנעו ממנו.
  • בפרויקט ה-VPC של היעד, ביומני הביקורת מתועד מידע על Google Cloud המשאבים שמאפשרים את חיבור ה-VPN בין הפרויקטים, כמו משאבי Cloud Router ו-Cloud VPN. הגורם הקורא שמקבל גישה למשאבים האלה הוא חשבון השירות של Distributed Cloud, שהענקתם לו את התפקיד Edge Container Service Agent ‏(roles/edgecontainer.serviceAgent).

מגבלות של חיבורי VPN

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

  • אובדן לסירוגין של קישוריות VPN
  • אי אפשר ליצור חיבורי VPN באשכולות האחרים באזור של Distributed Cloud

מגבלות של חיבורי VPN בין פרויקטים

בנוסף, יש מגבלות על חיבורי VPN בין פרויקטים:

  • משאב החיבור ל-VPN בין פרויקטים קיים רק באשכול Distributed Cloud.
  • אם משנים את ההרשאות בחשבון השירות של Distributed Cloud בפרויקט ה-VPC של היעד, לא ניתן למחוק את חיבור ה-VPN בין הפרויקטים מאשכול Distributed Cloud.

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