אתם יכולים לשלוט במכונה וירטואלית (VM) ב-Compute Engine כמו בכל שרת Windows רגיל. במדריך הזה נסביר איך לפרוס שרת אינטרנט פשוט של IIS כדי ללמוד את היסודות של הפעלת שרת אינטרנט במכונת VM.
לפני שמתחילים
תצטרכו ליצור מופע חדש של Windows שמאפשר תנועת HTTP.
- פועלים לפי ההוראות שבמדריך למתחילים כדי ליצור מכונת Windows חדשה ולהתחבר אליה באמצעות RDP.
התקנה של IIS
בשורת המשימות של Windows, בשדה החיפוש, מקלידים
PowerShellואז מקישים עלEnter. אם אין שדה חיפוש בסרגל המשימות, לוחצים על סמל החיפוש, מקלידיםPowerShellואז לוחצים עלEnter. אם לא שדה החיפוש ולא סמל החיפוש מופיעים בשורת המשימות, אפשר לעיין במאמר הסתרה וביטול הסתרה של תיבת החיפוש ב-Windows.בתוצאות החיפוש, בקטע אפליקציות, לוחצים לחיצה ימנית על Windows PowerShell ובוחרים באפשרות הפעלה כמנהל מערכת.
מריצים את הפקודות הבאות כדי להתקין את שירותי IIS:
import-module servermanager
add-windowsfeature web-server -includeallsubfeature
מחליפים את דף האינטרנט שמוגדר כברירת מחדל בשרת האינטרנט IIS באמצעות הפקודה הבאה:
echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' > C:\inetpub\wwwroot\index.html
בדיקת השרת
בודקים שהמופע משרת תנועה בכתובת ה-IP החיצונית שלו:
נכנסים לדף VM instances במסוף Google Cloud .
כדי לראות את הדף
Hello World!, מעתיקים את כתובת ה-IP מהעמודה External IP ומדביקים אותה בכרטיסייה חדשה בדפדפן. אם הדףHello World!לא מופיע, צריך לפעול לפי השלבים לפתרון בעיות.
הסרת המשאבים
כשמסיימים את הניסוי, צריך לפעול לפי הוראות הניקוי שבמדריך למתחילים כדי להימנע מחיובים על המופע הזה.
פתרון בעיות
מקבלים שגיאה Connection Refused
אם מופיעה שגיאה Connection Refused, יכול להיות ש:
למכונה הווירטואלית שלכם אין גישה ציבורית כי כללי חומת האש או התגים שלכם לא מוגדרים בצורה נכונה באחת מהדרכים הבאות:
- למכונה הווירטואלית אין את התג המתאים שמאפשר ל-Compute Engine להחיל את כללי חומת האש המתאימים על המכונה.
- בפרויקט אין כלל חומת אש שמאפשר תעבורת נתונים לכתובת ה-IP החיצונית של המכונה.
אתם מנסים לגשת למכונה הווירטואלית באמצעות כתובת
https. בודקים שהכתובת שלכם היאhttp://[EXTERNAL_IP]ולאhttps://[EXTERNAL_IP].
כדי לוודא שלמופע של מכונת ה-VM יש את התגים הנכונים:
- נכנסים לדף VM instances במסוף Google Cloud .
- לוחצים על שם המכונה שאליה מנסים להתחבר.
- לוחצים על עריכה בחלק העליון של הדף.
- גוללים למטה אל Firewalls (חומות אש) ומוודאים שהתיבה Allow HTTP traffic (התרת תעבורת HTTP) מסומנת. אם היא לא מסומנת, מסמנים אותה.
- שומרים את השינויים. כך מוודאים שהתגים הנכונים נוספים למופע של מכונה וירטואלית.
כדי לוודא שקיים כלל חומת האש הנכון:
- נכנסים לדף Firewall rules במסוף Google Cloud .
- חפשו כלל חומת אש שמאפשר את כל טווחי כתובות ה-IP דרך tcp:80. בדרך כלל, הכלל הזה נקרא כלל
default-allow-http. - אם הכלל לא קיים, צריך ליצור אותו.
- לוחצים על יצירת כלל לחומת האש.
- מזינים שם לכלל, למשל
default-allow-http. - בקטע טווחים של כתובות IP של מקורות, מזינים
0.0.0.0/0כדי לאפשר תנועה מכל המקורות. - בקטע Protocols and ports (פרוטוקולים ויציאות), מסמנים את האפשרות Specified protocols and ports (פרוטוקולים ויציאות שצוינו) ומזינים
tcp:80. - יוצרים את הכלל לחומת האש.
כדי לבדוק את השרת שוב, עוברים לכתובת ה-IP החיצונית של המכונה:
http://[EXTERNAL_IP]