החלפה, הסרה או מחיקה של מדיניות בנושא מיקומי מודעות

במאמר הזה מוסבר איך להחליף, להסיר או למחוק מדיניות מיקום.

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

  • להחליף מדיניות מיקום במכונה וירטואלית (VM) כדי להעביר את המכונה הווירטואלית למיקום אחר ביחס למכונות וירטואליות אחרות.

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

  • מוחקים מדיניות למיקום מודעה כשכבר לא צריך אותה.

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

  • מעיינים בהגבלות של מדיניות בנושא מיקומי מודעות.
  • אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות. אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:

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

    gcloud

    1. התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם. אחרי שנכנסתם לחשבון, אתחלו את ה-CLI של Google Cloud באמצעות הפקודה הבאה:

      gcloud init
  • הגדרת אזור ותחום כברירת מחדל
  • REST

    כדי להשתמש בסביבת פיתוח מקומית בדוגמאות של API בארכיטקטורת REST שבדף הזה, צריך להשתמש בפרטי הכניסה שאתם נותנים ל-CLI של gcloud.

      התקינו את ה-CLI של Google Cloud ואז היכנסו ל-CLI של gcloud באמצעות הזהות המאוחדת שלכם.

    מידע נוסף מופיע במאמר אימות לשימוש ב-REST במסמכי האימות של Cloud de Confiance .

התפקידים הנדרשים

כדי לקבל את ההרשאות שנדרשות להחלפה, להסרה או למחיקה של מדיניות מיקום, צריך לבקש מהאדמין להקצות לכם ב-IAM את התפקיד אדמין מכונות של Compute ‏ (v1) (roles/compute.instanceAdmin.v1) בפרויקט. כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.

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

ההרשאות הנדרשות

כדי להחליף, להסיר או למחוק כללי מדיניות בנושא מיקומי מודעות, נדרשות ההרשאות הבאות:

  • כדי להחליף או להסיר מדיניות מיקום ממכונה וירטואלית: ‫compute.instances.update בפרויקט
  • כדי למחוק מדיניות מיקום: compute.resourcePolicies.delete בפרויקט

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

החלפת מדיניות מיקום במכונה וירטואלית

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

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

כדי להחליף מדיניות מיקום במכונה וירטואלית, בוחרים באחת מהאפשרויות הבאות:

gcloud

  1. יוצרים קובץ YAML ריק.

  2. כדי לייצא את המאפיינים של מכונה וירטואלית לקובץ ה-YAML שיצרתם, משתמשים בפקודה gcloud compute instances export.

    gcloud compute instances export VM_NAME \
        --destination=FILE_PATH \
        --zone=ZONE
    

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

    • VM_NAME: השם של מכונה וירטואלית קיימת שמוגדרת בה מדיניות מיקום.

    • FILE_PATH: הנתיב לקובץ ה-YAML שיצרתם בשלב הקודם.

    • ZONE: האזור שבו נמצאת המכונה הווירטואלית.

  3. בקובץ ההגדרות של YAML, עורכים את הערך של השדה resourcePolicies כדי לציין מדיניות מיקום אחרת.

    resourcePolicies:
    - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME
    

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

    • PROJECT_ID: מזהה הפרויקט שבו נמצאת מדיניות המיקום. אפשר לציין רק מדיניות מיקום שנמצאת באותו פרויקט כמו מכונת ה-VM.

    • REGION: האזור שבו נמצאת מדיניות המיקום.

    • POLICY_NAME: השם של מדיניות המיקום.

  4. כדי לעדכן את המכונה הווירטואלית ולהפעיל אותה מחדש, משתמשים בפקודה gcloud compute instances update-from-file עם הדגל --most-disruptive-allowed-action שמוגדר לערך RESTART.

    gcloud compute instances update-from-file VM_NAME \
        --most-disruptive-allowed-action=RESTART \
        --source=YAML_FILE \
        --zone=ZONE
    

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

    • VM_NAME: שם ה-VM.

    • YAML_FILE: הנתיב לקובץ ה-YAML עם נתוני ההגדרה ששיניתם בשלב הקודם.

    • ZONE: האזור שבו נמצאת המכונה הווירטואלית.

REST

  1. יוצרים קובץ JSON ריק.

  2. כדי לראות את המאפיינים של מכונה וירטואלית קיימת, שולחים בקשת GET אל ה-method‏ instances.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    

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

    • PROJECT_ID: מזהה הפרויקט שבו נמצאת המכונה הווירטואלית.

    • ZONE: האזור שבו נמצאת המכונה הווירטואלית.

    • VM_NAME: השם של מכונה וירטואלית קיימת שמוגדרת בה מדיניות מיקום.

  3. בקובץ ה-JSON הריק שיצרתם בשלבים הקודמים, מבצעים את הפעולות הבאות:

    1. מזינים את מאפייני המכונה הווירטואלית מהפלט של הבקשה GET.

    2. מאתרים את השדה resourcePolicies ועורכים את הערך שלו כדי לציין מדיניות מיקום שונה.

      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ]
      

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

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

      • REGION: האזור שבו נמצאת מדיניות המיקום.

      • POLICY_NAME: השם של מדיניות המיקום.

  4. כדי לעדכן את ה-VM ולהפעיל אותו מחדש, שולחים בקשת PUT ל-method‏ instances.update. בבקשה, מבצעים את הפעולות הבאות:

    • בכתובת ה-URL של הבקשה, כוללים את פרמטר השאילתה most_disruptive_allowed_action שמוגדר לערך RESTART.

    • בגוף הבקשה, משתמשים בפרטי ההגדרה של ה-VM מקובץ ה-JSON שיצרתם ועדכנתם בשלבים הקודמים.

    PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME?most_disruptive_allowed_action=RESTART
    
    {
      ...
      "resourcePolicies": [
        "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
      ],
      ...
    }
    

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

הסרת מדיניות מיקום ממכונה וירטואלית

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

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

כדי להסיר מדיניות מיקום מ-VM, בוחרים באחת מהאפשרויות הבאות:

gcloud

כדי להסיר מדיניות מיקום ממכונה וירטואלית, משתמשים בפקודה gcloud compute instances remove-resource-policies.

gcloud compute instances remove-resource-policies VM_NAME \
    --resource-policies=POLICY_NAME \
    --zone=ZONE

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

  • VM_NAME: השם של מכונה וירטואלית קיימת שמציינת מדיניות מיקום.

  • POLICY_NAME: השם של מדיניות המיקום שהוחלה על המכונה הווירטואלית. כדי לאמת את השם של מדיניות המיקום, צופים בפרטים של מכונת ה-VM ובודקים את הערך של השדה resourcePolicies.

  • ZONE: האזור שבו נמצאת המכונה הווירטואלית.

REST

כדי להסיר מדיניות מיקום ממכונה וירטואלית, שולחים בקשת POST ל-method‏ instances.removeResourcePolicies.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/removeResourcePolicies

{
  "resourcePolicies": [
    "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
  ]
}

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת המכונה הווירטואלית.

  • ZONE: האזור שבו נמצאת המכונה הווירטואלית.

  • VM_NAME: השם של מכונה וירטואלית קיימת שמציינת מדיניות מיקום.

  • REGION: האזור שבו נמצאת מדיניות המיקום.

  • POLICY_NAME: השם של מדיניות המיקום שהוחלה על המכונה הווירטואלית. כדי לאמת את השם של מדיניות המיקום, צופים בפרטים של מכונת ה-VM ובודקים את הערך של השדה resourcePolicies.

מחיקת מדיניות מיקום

אפשר למחוק מדיניות מיקום רק אם היא לא חלה על אף משאב של Compute Engine. אחרת, המדיניות למקומות להצגת מודעות לא תימחק. אם רוצים למחוק מדיניות מיקום שחלה על משאב אחד או יותר של Compute Engine, אפשר לבצע אחת מהפעולות הבאות:

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

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

    2. מוחקים את מדיניות מיקום המודעות כמו שמתואר בקטע הזה.

  • אם לא, פועלים לפי השלבים הבאים:

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

    2. מוחקים כל משאב אחר של Compute Engine שהוחלה עליו מדיניות המיקום, לפי הסדר הבא:

      1. VMs (מכונות וירטואליות)

      2. הזמנות

      3. תבניות של הגדרות מכונה

    3. מוחקים את מדיניות מיקום המודעות כמו שמתואר בקטע הזה.

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

gcloud

כדי למחוק מדיניות מיקום, משתמשים בפקודה gcloud compute resource-policies delete.

gcloud compute resource-policies delete POLICY_NAME \
    --region=REGION

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

  • POLICY_NAME: השם של מדיניות מיקום קיימת.

  • REGION: האזור שבו נמצאת מדיניות המיקום.

REST

כדי למחוק מדיניות מיקום, שולחים בקשת DELETE ל-method‏ resourcePolicies.delete.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME

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

  • PROJECT_ID: מזהה הפרויקט שבו נמצאת מדיניות המיקום.

  • REGION: האזור שבו נמצאת מדיניות המיקום.

  • POLICY_NAME: השם של מדיניות מיקום קיימת.

מה השלב הבא?