במאמר הזה מוסבר איך לשפר את המהימנות של מופעים של מכונות וירטואליות (VM) על ידי יצירה והחלה של מדיניות מיקום מפוזרת. מידע נוסף על מדיניות בנושא מיקומי מודעות, כולל הגבלות ומחירים, זמין במאמר סקירה כללית של מדיניות בנושא מיקומי מודעות.
מדיניות למיקום מרווח קובעת שהמופעים שלכם יפוזרו על פני דומיינים שונים של זמינות. החלוקה הזו עוזרת לצמצם שיבושים שקשורים למיקום, כמו שגיאות בחומרה, והיא שימושית כשמריצים עומסי עבודה גדולים, מבוזרים ומשוכפלים כמו Hadoop Distributed File System (HDFS), Cassandra או Kafka.
לפני שמתחילים
-
אם עדיין לא עשיתם את זה, תצטרכו להגדיר אימות.
אימות הוא תהליך שבו מאמתים את הזהות שלכם כדי לקבל גישה לממשקי API ולשירותים של Cloud de Confiance by S3NS . כדי להריץ קוד או דוגמאות מסביבת פיתוח מקומית, אפשר לבצע אימות ל-Compute Engine באחת מהדרכים הבאות:
צריך לבחור את הכרטיסייה הרלוונטית לאופן שבו תכננתם להשתמש בדוגמאות בדף הזה:
המסוף
כשמשתמשים במסוף Cloud de Confiance כדי לגשת לשירותים ולממשקי ה-API, לא צריך להגדיר אימות. Cloud de Confiance by S3NS
gcloud
-
התקינו את ה-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.resourcePolicies.createבפרויקט -
כדי להחיל מדיניות מיקום על מופעים קיימים:
compute.instances.addResourcePoliciesבפרויקט -
כדי ליצור מופעים:
-
compute.instances.createבפרויקט - כדי להשתמש באימג' בהתאמה אישית ליצירת המכונה הווירטואלית (VM):
compute.images.useReadOnlyבקובץ אימג' - כדי להשתמש ב-snapshot ליצירת המכונה הווירטואלית:
compute.snapshots.useReadOnlyבקובץ ה-snapshot - כדי להשתמש בתבנית של הגדרות מכונה ליצירת המכונה הווירטואלית:
compute.instanceTemplates.useReadOnlyבתבנית של הגדרות המכונה - כדי להקצות רשת מדור קודם למכונה הווירטואלית:
compute.networks.useבפרויקט - כדי לציין כתובת IP סטטית למכונה הווירטואלית:
compute.addresses.useבפרויקט - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת מדור קודם:
compute.networks.useExternalIpבפרויקט - כדי לציין רשת משנה למכונה הווירטואלית:
compute.subnetworks.useבפרויקט או ברשת המשנה שנבחרה - כדי להקצות כתובת IP חיצונית למכונה הווירטואלית כשמשתמשים ברשת VPC:
compute.subnetworks.useExternalIpבפרויקט או ברשת המשנה שנבחרה - כדי להגדיר מטא-נתונים של המכונה הווירטואלית:
compute.instances.setMetadataבפרויקט - כדי להגדיר תגים למכונה הווירטואלית:
compute.instances.setTagsבמכונה הווירטואלית - כדי להגדיר תוויות למכונה הווירטואלית:
compute.instances.setLabelsבמכונה הווירטואלית - כדי להגדיר חשבון שירות לשימוש של המכונה הווירטואלית:
compute.instances.setServiceAccountבמכונה הווירטואלית - כדי ליצור דיסק חדש למכונה הווירטואלית:
compute.disks.createבפרויקט - כדי לצרף דיסק קיים במצב קריאה-בלבד או במצב קריאה וכתיבה:
compute.disks.useבדיסק - כדי לצרף דיסק קיים במצב קריאה-בלבד:
compute.disks.useReadOnlyבדיסק
-
-
כדי ליצור תבנית של הגדרות מכונה:
compute.instanceTemplates.createבפרויקט -
כדי ליצור קבוצת מופעי מכונה מנוהלים (MIG):
compute.instanceGroupManagers.createבפרויקט
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
יצירת מדיניות למיקום מרווח
אלא אם רוצים לבדוק את ההחלה של מדיניות מיקומי המודעות על המקרים שלכם, Cloud de Confiance by S3NS מומלץ ליצור מדיניות מיקומי מודעות עם שני תחומים או יותר של זמינות. כך מצטמצם הסיכון שכל המקרים יושפעו משגיאת חומרה אחת. מידע נוסף זמין במאמר מידע על מדיניות בנושא מיקומי מודעות.
כדי ליצור מדיניות לגבי מיקומי מודעות בגיליון אלקטרוני, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור מדיניות למיקום מרווח, השתמשו בפקודה gcloud compute resource-policies create group-placement עם הדגל --availability-domain-count.
gcloud compute resource-policies create group-placement POLICY_NAME \
--availability-domain-count=DOMAIN_COUNT \
--region=REGION
מחליפים את מה שכתוב בשדות הבאים:
POLICY_NAME: השם של מדיניות המיקום של המודעות.
DOMAIN_COUNT: מספר אזורי הזמינות השונים שבהם רוצים למקם את המופעים. הערך צריך להיות בין1ל-8.
REGION: האזור שבו רוצים ליצור את מדיניות המיקום.
REST
כדי ליצור מדיניות למיקום מרווח, שולחים בקשת POST אל ה-method resourcePolicies.insert.
בגוף הבקשה, כוללים את השדה availabilityDomainCount.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
{
"name": "POLICY_NAME",
"groupPlacementPolicy": {
"availabilityDomainCount": DOMAIN_COUNT
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו רוצים ליצור את מדיניות המיקום.
REGION: האזור שבו רוצים ליצור את מדיניות המיקום.
POLICY_NAME: השם של מדיניות המיקום של המודעות.
DOMAIN_COUNT: מספר אזורי הזמינות השונים שבהם רוצים למקם את המופעים. הערך צריך להיות בין1ל-8.
החלת מדיניות למיקום מרווח
אפשר להחיל מדיניות למיקום מרווח על מכונה וירטואלית או על קבוצת מופעי מכונה מנוהלים (MIG) קיימת, או כשיוצרים מופעים, תבניות של הגדרות מכונה או קבוצות MIG.
כדי להחיל מדיניות מיקום מפוזר על משאב של Compute Engine, בוחרים באחת מהשיטות הבאות:
- החלת המדיניות על מכונה וירטואלית קיימת.
- החלת המדיניות במהלך יצירת מכונה וירטואלית
- החלת המדיניות במהלך יצירת תבנית של הגדרות מכונה.
אחרי שמחילים מדיניות למיקום מרווח על מכונה וירטואלית, אפשר לוודא את תחום הזמינות שבו המכונה הווירטואלית ממוקמת על ידי הצגת הפרטים של המכונה הווירטואלית ובדיקת הערך של השדה availabilityDomain.
החלת המדיניות על מכונת VM קיימת
לפני שמחילים מדיניות למיקום מרווח על מכונה וירטואלית קיימת, כדאי לשקול את הנקודות הבאות:
אם במדיניות למיקום מרווח שלכם מצוינים כמה אזורי זמינות, תוכלו להחיל את המדיניות על מכונה וירטואלית בלי לעצור אותה. עם זאת, יכול להיות שיהיה צורך להעביר את המכונה הווירטואלית לדומיין זמינות אחר. במהלך התהליך הזה, Compute Engine מפסיק את המכונה הווירטואלית או מבצע העברה חיה שלה, בהתאם למדיניות תחזוקת המארח.
המכונה הווירטואלית ומדיניות המיקום המפוזר חייבים להיות באותו אזור. לדוגמה, אם מדיניות המיקום נמצאת באזור
us-central1, המכונה הווירטואלית חייבת להיות ממוקמת באזור ב-us-central1. אם אתם צריכים להעביר מכונה וירטואלית לאזור אחר, כדאי לעיין במאמר העברת מכונה וירטואלית בין אזורים או בין אזורי זמינות.
אם רוצים לציין את תחום הזמינות שבו ימוקם ה-VM, צריך לעדכן את המאפיינים שלו כדי להחיל עליו את מדיניות המיקום.
כשמעדכנים את המאפיינים של מכונת ה-VM, חשוב לכלול את השדות resourcePolicies ו-scheduling.availabilityDomain.
כדי להחיל מדיניות למיקום מרווח על מכונה וירטואלית קיימת, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי להחיל מדיניות למיקום מרווח על מכונה וירטואלית קיימת, משתמשים בפקודה gcloud compute instances add-resource-policies.
gcloud compute instances add-resource-policies VM_NAME \
--resource-policies=POLICY_NAME \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
VM_NAME: השם של מכונה וירטואלית קיימת.
POLICY_NAME: השם של מדיניות מיקום קיימת של דיסקים.
ZONE: האזור שבו נמצאת המכונה הווירטואלית.
REST
כדי להחיל מדיניות למיקום מרווח על מכונה וירטואלית קיימת, שולחים בקשת POST אל ה-method instances.addResourcePolicies.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies
{
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
]
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת מדיניות מיקום ההפצה והמכונה הווירטואלית.
ZONE: האזור שבו נמצאת המכונה הווירטואלית.
VM_NAME: השם של מכונה וירטואלית קיימת.
REGION: האזור שבו נמצאת מדיניות למיקום מרווח.
POLICY_NAME: השם של מדיניות מיקום קיימת של דיסקים.
החלת המדיניות במהלך יצירת מכונה וירטואלית
אפשר ליצור מכונה וירטואלית שבה מצוינת מדיניות מיקום של פיזור רק באותו אזור שבו מוגדרת מדיניות המיקום.
כדי ליצור מכונה וירטואלית שמציינת מדיניות למיקום מרווח, בוחרים באחת מהאפשרויות הבאות:
gcloud
כדי ליצור מכונה וירטואלית שבה מצוינת מדיניות מיקום של פיזור, משתמשים בפקודה gcloud compute instances create עם הדגל --resource-policies.
gcloud compute instances create VM_NAME \
--machine-type=MACHINE_TYPE \
--resource-policies=POLICY_NAME \
--zone=ZONE
מחליפים את מה שכתוב בשדות הבאים:
VM_NAME: השם של המכונה הווירטואלית שרוצים ליצור.
MACHINE_TYPE: סוג המכונה של ה-VM.
POLICY_NAME: השם של מדיניות מיקום קיימת של דיסקים.
ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית.
אופציונלי: כדי לציין את תחום הזמינות שבו רוצים ליצור את ה-VM, כוללים את הדגל --availability-domain.
gcloud compute instances create VM_NAME \
--availability-domain=DOMAIN_NUMBER \
--machine-type=MACHINE_TYPE \
--resource-policies=POLICY_NAME \
--zone=ZONE
מחליפים את DOMAIN_NUMBER במספר של תחום הזמינות שבו רוצים למקם את המכונה הווירטואלית. הערך צריך להיות בין 1 לבין מספר הדומיינים שצוין במדיניות למיקום מרווח. כדי לאמת את מספר הדומיינים במדיניות למיקום מרווח, צריך להציג את פרטי המדיניות בנושא מיקומי מודעות.
REST
כדי ליצור מכונה וירטואלית שמציינת מדיניות למיקום מרווח, שולחים בקשת POST אל ה-method instances.insert.
בגוף הבקשה, כוללים את השדה resourcePolicies.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "VM_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
]
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת מדיניות המיקום של הפיזור.
ZONE: האזור שבו רוצים ליצור את המכונה הווירטואלית ושבו נמצא סוג המכונה. אפשר לציין תחום (zone) רק בתוך אזור של מדיניות למיקום מרווח.
VM_NAME: השם של המכונה הווירטואלית שרוצים ליצור.
MACHINE_TYPE: סוג המכונה של ה-VM.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית ביותר במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
REGION: האזור שבו נמצאת מדיניות למיקום מרווח.
POLICY_NAME: השם של מדיניות מיקום קיימת של דיסקים.
אופציונלי: כדי לציין את תחום הזמינות שבו תיצור המכונה הווירטואלית, כוללים את השדה availabilityDomain בגוף הבקשה.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
{
"name": "VM_NAME",
"machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME"
],
"scheduling": {
"availabilityDomain": DOMAIN_NUMBER
}
}
מחליפים את DOMAIN_NUMBER במספר של תחום הזמינות שבו רוצים למקם את המכונה הווירטואלית. הערך צריך להיות בין 1 לבין מספר הדומיינים שצוין במדיניות למיקום מרווח. כדי לאמת את מספר הדומיינים במדיניות למיקום מרווח, צריך להציג את פרטי המדיניות בנושא מיקומי מודעות.
מידע נוסף על אפשרויות ההגדרה ליצירת מכונה וירטואלית זמין במאמר יצירה והפעלה של מופע של מכונה וירטואלית.
החלת המדיניות במהלך יצירת תבנית של הגדרות מכונה
לפני שיוצרים תבנית של הגדרות מכונה שמציינת מדיניות למיקום מרווח, כדאי לשים לב לנקודות הבאות:
אם רוצים ליצור תבנית של הגדרות מכונה אזורית, התבנית ומדיניות למיקום מרווח צריכות להיות באותו אזור. אחרת, יצירת תבנית של הגדרות מכונה תיכשל.
מומלץ לא ליצור את כל המופעים בדומיין זמינות יחיד. אחרת, לא תוכלו לצמצם את הסיכון ששגיאת חומרה אחת תשפיע על כל המקרים שלכם.
אחרי שיוצרים תבנית של הגדרות מכונה שמציינת מדיניות מיקום של פיזור, אפשר להשתמש בתבנית כדי לבצע את הפעולות הבאות:
כדי ליצור תבנית של הגדרות מכונה אזורית ומדיניות חדשה של מיקום מכונות עם שמונה אזורי זמינות, משתמשים במסוף Cloud de Confiance . כדי ליצור תבנית של הגדרות מכונה גלובלית או אזורית ולציין מדיניות למיקום מרווח קיימת, משתמשים ב-CLI של gcloud או ב-API בארכיטקטורת REST:
המסוף
נכנסים לדף Instance templates במסוף Cloud de Confiance .
לוחצים על Create instance template. מופיע הדף Create an instance template.
בשדה Region, מציינים את האזור שבו רוצים ליצור את מדיניות המיקום של המכונה ואת תבנית המכונה.
בקטע Machine configuration, מציינים את סדרת המכונות ואת הסוג שלהן.
בקטע Placement policy, ברשימה Placement policy, בוחרים באפשרות Spread.
לוחצים על יצירה.
gcloud
כדי ליצור תבנית של הגדרות מכונה שמציינת מדיניות מיקום של פיזור, משתמשים בפקודה gcloud compute instance-templates create עם הדגל --resource-policies.
לדוגמה, כדי ליצור תבנית של הגדרות מכונה גלובלית שמציינת מדיניות למיקום מרווח, מריצים את הפקודה הבאה:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--resource-policies=POLICY_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
MACHINE_TYPE: סוג המכונה של המכונות שנוצרו באמצעות תבנית של הגדרות מכונה.
POLICY_NAME: השם של מדיניות מיקום קיימת של דיסקים.
אופציונלי: כדי לציין את תחום הזמינות שבו רוצים ליצור את המכונות, מוסיפים את הדגל --availability-domain.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--availability-domain=DOMAIN_NUMBER \
--machine-type=MACHINE_TYPE \
--resource-policies=POLICY_NAME
מחליפים את DOMAIN_NUMBER במספר של תחום הזמינות שבו רוצים ליצור את המכונות. הערך צריך להיות בין 1 לבין מספר הדומיינים שצוין במדיניות המיקום. כדי לאמת את מספר הדומיינים במדיניות למיקום מרווח, צריך להציג את פרטי המדיניות בנושא מיקומי מודעות.
REST
כדי ליצור תבנית של הגדרות מכונה שמציינת מדיניות למיקום מרווח, שולחים בקשת POST לאחת מהשיטות הבאות:
כדי ליצור תבנית של הגדרות מכונה גלובלית: שימוש ב-method
instanceTemplates.insert.כדי ליצור תבנית של הגדרות מכונה אזורית:
regionInstanceTemplates.insertmethod.
בגוף הבקשה, מציינים את השדה resourcePolicies.
לדוגמה, כדי ליצור תבנית גלובלית של הגדרות מכונה שמציינת מדיניות למיקום מרווח, שולחים בקשת POST באופן הבא:
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"POLICY_NAME"
]
}
}
מחליפים את מה שכתוב בשדות הבאים:
PROJECT_ID: מזהה הפרויקט שבו נמצאת מדיניות המיקום של הפיזור.
INSTANCE_TEMPLATE_NAME: השם של תבנית הגדרות המכונה.
IMAGE_PROJECT: פרויקט התמונה שמכיל את התמונה, לדוגמהdebian-cloud. מידע נוסף על פרויקטים של תמונות נתמכות זמין במאמר תמונות ציבוריות.
IMAGE: מציינים אחת מהאפשרויות הבאות:גרסה ספציפית של תמונת מערכת ההפעלה – לדוגמה,
debian-12-bookworm-v20240617.משפחת תמונות, שצריכה להיות בפורמט
family/IMAGE_FAMILY. המאפיין הזה מציין את תמונת מערכת ההפעלה העדכנית ביותר שלא הוצאה משימוש. לדוגמה, אם מצייניםfamily/debian-12, נעשה שימוש בגרסה העדכנית ביותר במשפחת תמונות Debian 12. מידע נוסף על שימוש במשפחות של תמונות זמין במאמר בנושא שיטות מומלצות לשימוש במשפחות של תמונות.
MACHINE_TYPE: סוג המכונה של המכונות שנוצרו באמצעות התבנית של הגדרות המכונה.
POLICY_NAME: השם של מדיניות מיקום קיימת של דיסקים.
אופציונלי: כדי לציין את תחום הזמינות שבו ייצרו את המופעים, כוללים את השדה availabilityDomain בגוף הבקשה.
POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"disks": [
{
"boot": true,
"initializeParams": {
"sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE"
}
}
],
"machineType": "MACHINE_TYPE",
"networkInterfaces": [
{
"network": "global/networks/default"
}
],
"resourcePolicies": [
"POLICY_NAME"
],
"scheduling": {
"availabilityDomain": DOMAIN_NUMBER
}
}
}
מחליפים את DOMAIN_NUMBER במספר של תחום הזמינות שבו רוצים ליצור את המכונות. הערך צריך להיות בין 1 לבין מספר הדומיינים שצוין במדיניות המיקום. כדי לאמת את מספר הדומיינים במדיניות למיקום מרווח, צריך להציג את פרטי המדיניות בנושא מיקומי מודעות.
מידע נוסף על אפשרויות ההגדרה ליצירת תבנית של מכונה וירטואלית זמין במאמר יצירת תבניות של מכונות וירטואליות.
מה השלב הבא?
איך מחליפים, מסירים או מוחקים כללי מדיניות בנושא מיקום מודעות
במאמר הזה מוסבר איך לבצע את הפעולות הבאות באמצעות מכונה וירטואלית שמוגדרת בה מדיניות מיקום: