פריסה של אפליקציית ASP.NET ל-Windows Server ב-Compute Engine

1. סקירה כללית

ASP.NET היא מסגרת אינטרנט בקוד פתוח ליצירת אפליקציות ושירותי אינטרנט מודרניים באמצעות ‎ .NET. ‏ ASP.NET יוצרת אתרים שמבוססים על HTML5,‏ CSS ו-JavaScript, שהם פשוטים, מהירים וניתנים להרחבה למיליוני משתמשים.

במעבדת ה-Lab הזו, תפרסו אפליקציית ASP.NET פשוטה ב-Windows Server שפועל ב-Compute Engine. ה-Codelab הזה מבוסס על ה-Codelab Deploy Windows Server with ASP.NET Framework to Compute Engine. מומלץ להשלים את ה-Lab הזה קודם.

בנוסף, תצטרכו Visual Studio 2013 או גרסה מתקדמת יותר כדי לכתוב את אפליקציית ASP.NET ולפרוס אותה ב-Compute Engine.

מה תלמדו

  • איך יוצרים אפליקציית ASP.NET פשוטה.
  • איך מריצים את אפליקציית ASP.NET באופן מקומי ב-Visual Studio.
  • איך פורסים ומריצים את אפליקציית ASP.NET ב-Windows Server ב-Compute Engine.

הדרישות

איך תשתמשו במדריך הזה?

רק לקרוא לקרוא ולבצע את התרגילים

איזה דירוג מגיע לדעתך לחוויה שלך עם Google Cloud Platform?

מתחילים ביניים מומחים

2. הגדרה ודרישות

הגדרת סביבה בקצב אישי

כבר אמור להיות לכם פרויקט Google Cloud Platform מהשיעור הקודם, אז אין צורך ליצור פרויקט חדש. נכנסים אל Google Cloud Platform Console‏ ( console.cloud.google.com) ובוחרים את הפרויקט מהשיעור הקודם.

3. הורדת אפליקציית ASP.NET

מורידים את הקובץ לדוגמה כקובץ ZIP ומחלצים אותו.

אפשר גם לשכפל את מאגר ה-Git שלו.

git clone https://github.com/GoogleCloudPlatform/getting-started-dotnet.git

בכל מקרה, אמורה להיות לכם תיקייה בשם getting-started-dotnet עם התוכן הבא.

1acce2c66bc3b8aa.png

4. הרצת האפליקציה באופן מקומי

לוחצים לחיצה כפולה על aspnet\1-hello-world\hello-world.sln. הפתרון ייפתח ב-Visual Studio.

8a699ba7495ab79e.png

כדאי לעיין ב- WebApiConfig.cs.. הוא כולל מטפל HTTP פשוט של HelloWorld.

public class HelloWorldHandler : HttpMessageHandler
{
  protected override Task<HttpResponseMessage> SendAsync(
       HttpRequestMessage request,
       CancellationToken cancellationToken)
  {
    return Task.FromResult(new HttpResponseMessage()
    {
      Content = new ByteArrayContent(Encoding.UTF8.GetBytes("Hello World."))
    });
  }
};

ב-Visual Studio, מקישים על F5 כדי ליצור ולהריץ את האפליקציה. אחרי ש-Visual Studio מוריד את התלויות של NuGet ובונה את האפליקציה, אמורה להופיע הודעה עם הכיתוב Hello World בדפדפן.

77768b92a41434c2.png

אחרי שמוודאים שהאפליקציה פועלת באופן מקומי, לוחצים על Shift + F5 כדי להפסיק את פעולת האפליקציה.

5. פריסת Windows Server עם ASP.NET Framework

בקטע הזה נלמד איך ליצור מכונה וירטואלית חדשה של Google Compute Engine עם Windows Server ו-ASP.NET Framework מותקנים באמצעות Cloud Marketplace מ-מסוף Google Cloud.

כניסה למסוף Google Cloud

עוברים אל מסוף Google Cloud מכרטיסייה או מחלון אחרים בדפדפן, לכתובת https://console.cloud.google.com. משתמשים בפרטי הכניסה שהגדרתם כשנרשמתם ל-Google Cloud Platform או בפרטים שקיבלתם מהבוחן במעבדה.

f6cb1591046097da.png

ב-Google Cloud Console, לוחצים על סמל התפריט Products & services בפינה הימנית העליונה של המסך:

32152624d878d9f8.png

ואז עוברים אל Cloud Marketplace.

6c08c9a31e3a9c6c.png

חיפוש של ASP.NET Framework

מקלידים ASP.NET כדי לחפש את ASP.NET Framework ואז לוחצים על תיבת התוצאה שלמטה.

d64d04962212c3c1.png

השקה ב-Compute Engine

במסך הבא, לוחצים על השקה ב-Compute Engine.

יש פרמטרים רבים שאפשר להגדיר כשיוצרים מכונה חדשה. נשתמש בנתונים הבאים:

שם

gcelab

שם הפריסה

windows-aspnet-instance

תחום (zone)

europe-west1-dמידע נוסף על אזורים זמין במסמכי התיעוד בנושא אזורים ותחומים.

סוג מכונה

1 vCPU (n1-standard-1)n1-standard-1 מספיק בהחלט לאתר ASP.NET שלנו, עם ליבה אחת ו-3.75GiB של RAM. עם זאת, אפשר לבחור מכונות קטנות או גדולות יותר, עד 32 ליבות / 208GiB RAM. מידע נוסף על הנושא הזה ועל סוגי מכונות בהתאמה אישית זמין במסמכי העזרה בנושא סוגי מכונות.הערה: לכל פרויקט חדש יש ברירת מחדל של מכסת משאבים, שעשויה להגביל את מספר הליבות של המעבד (CPU). אתם יכולים לבקש מכסות גבוהות יותר לפרויקטים שלכם.

גרסת מערכת ההפעלה Windows Server

2016

סוג דיסק האתחול

Standard persistent diskהערה: אפשר לבחור כונן SSD עם ביצועים טובים יותר. אפשרויות אחסון

גודל הדיסק ב-GB

‫100 אנחנו משתמשים בברירת המחדל של 100GB, אבל אתם יכולים להגדיל או להקטין את הנפח בהתאם לצרכים שלכם.

חומת אש

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP trafficמשאירים את הגדרות ברירת המחדל, שיצרו כללי חומת אש כדי לאפשר תעבורת HTTP ו-HTTPS, יחד עם תעבורת WebDeploy ו-RDF.

לוחצים על Deploy (פריסה) כדי ליצור את המכונה הווירטואלית החדשה עם Windows Server ו-ASP.NET Framework. תועברו לדף חדש שבו תוכלו לראות את ההתקדמות.

3276c6d3647fd36.png

אחרי שמסיימים, עוברים אל Compute Engine מהתפריט שמימין ובוחרים באפשרות VM Instances. המכונה הווירטואלית החדשה אמורה להופיע ברשימה VM Instances.

fc50b1cfd8b1f4b3.png

אם לוחצים על External IP, אמור להופיע גם אתר ברירת המחדל של IIS שמוצג מהמופע.

iis.PNG

שימו לב שאפשר גם להיכנס למכונה באמצעות Remote Desktop ‏ (RDP), אבל קודם צריך ליצור שם משתמש וסיסמה ב-Windows.

6. יצירת משתמש וסיסמה ב-Windows

כדי ליצור משתמש וסיסמה ב-Windows, בוחרים באפשרות יצירה או איפוס של סיסמה ב-Windows.

cf9b67269c4fa290.png

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

7. פריסת האפליקציה ב-Windows Server ב-Compute Engine

הגיע הזמן לפרוס את האפליקציה ב-Windows Server שפועל במכונה של Compute Engine.

קודם צריך למצוא את כתובת ה-IP החיצונית של מופע Compute Engine שפרסתם במאמר פריסת Windows Server עם ASP.NET Framework ב-Compute Engine. ב-Cloud Console, עוברים אל Compute > VM Instances (מכונות וירטואליות), מוצאים את המופע ומציינים את כתובת ה-IP החיצונית שלו.

8163b495fda4a4c5.png

עכשיו תצטרכו את שם המשתמש והסיסמה של Windows שיצרתם בשלב הקודם.

ב-Visual Studio Solution Explorer, לוחצים לחיצה ימנית על הפרויקט ובוחרים באפשרות Publish (פרסום) בתפריט ההקשר.

31dc67741553583e.png

בתיבת הדו-שיח פרסום באינטרנט, בוחרים באפשרות התאמה אישית בתור יעד הפרסום.

בתיבת הדו-שיח פרופיל חדש בהתאמה אישית, נותנים שם לפרופיל הפריסה ולוחצים על אישור.

ממלאים את הפרופיל לפי ההוראות הבאות.

שרת

The external IP address of your Compute Engine instance. This address can be found on the דף המכונות הווירטואליות in the Cloud Console. The IP address is זמני, which is sufficient for our purposes.

שם האתר

Default Web Siteהערה: שם האתר שאתם מציינים כאן חייב להיות זהה לשם שמופיע ב-IIS Manager במכונת Compute Engine.

שם משתמש

The username of the Windows user account you created on your Compute Engine instance.

סיסמה

The password of the Windows user account you created on your Compute Engine instance.

כתובת היעד

http://הערה: כתובת היעד היא הכתובת שבה הדף יהיה נגיש אחרי הפריסה.

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

5587e66e1f61acd6.png

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

e7cc4bdef3064b9b.png

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

1014554485ba6720.png

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

feab07f5ac573240.png

8. הסרת המשאבים

זהו! עכשיו הגיע הזמן לנקות את המשאבים שבהם השתמשתם (כדי לחסוך בעלויות וכדי להיות משתמשים אחראיים בענן).

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

a3152ac7b76cdd4e.png

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

9. מעולה!

‫Google Compute Engine הוא הבסיס של התשתית כשירות של Google Cloud Platform. כמו שראיתם, קל מאוד לפרוס אפליקציית ASP.NET ב-Windows Server ב-Compute Engine.

מה נכלל

  • איך יוצרים אפליקציית ASP.NET פשוטה.
  • איך מריצים את אפליקציית ASP.NET באופן מקומי ב-Visual Studio.
  • איך פורסים ומריצים את אפליקציית ASP.NET ב-Windows Server ב-Compute Engine.

השלבים הבאים

רישיון

עבודה זו מורשית תחת רישיון Creative Commons שמותנה בייחוס 2.0 כללי.

/