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

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

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

בשיעור ה-Lab הזה תפרסו אפליקציה פשוטה ASP.NET ל-Windows Server שפועלת על Compute Engine. ה-Codelab הזה מתבסס על הקוד של Deploy Windows Server עם 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 כבר אמור להיות לכם משיעור ה-Lab הקודם, כך שלא צריך ליצור פרויקט חדש. נכנסים למסוף Google Cloud Platform ( console.cloud.google.com) ובוחרים את הפרויקט משיעור ה-Lab הקודם.

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. הוא כולל handler פשוט של HTTPWorld, 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 Console מכרטיסייה או מחלון אחרים בדפדפן, אל https://console.cloud.google.com. משתמשים בפרטי הכניסה שהגדרתם כשנרשמתם ל-Google Cloud Platform או בפרטי הכניסה שקיבלתם מנציג ה-Lab.

f6cb1591046097da.png

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

32152624d878d9f8.png

לאחר מכן עוברים אל Cloud Marketplace.

6c08c9a31e3a9c6c.png

חיפוש של ASP.NET Framework

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

d64d04962212c3c1.png

השקה ב-Compute Engine

במסך הבא, לוחצים על Launch on 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. מידע נוסף על הנושא הזה ועל סוגי מכונות בהתאמה אישית זמין במסמכי התיעוד בנושא סוגי מכונות.הערה: לפרויקט חדש יש ברירת מחדל של מכסת משאבים, שעשויה להגביל את מספר ליבות המעבדים. אפשר לבקש עוד פרויקטים.

גרסת מערכת ההפעלה של 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. המכונה הווירטואלית החדשה אמורה להופיע ברשימה מכונות וירטואליות.

fc50b1cfd8b1f4b3.png

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

iis.PNG

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

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

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

cf9b67269c4fa290.png

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

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

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

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

8163b495fda4a4c5.png

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

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

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

לוחצים על Publish (פרסום) כדי לפרוס את האפליקציה. בסיום הפרסום, אפליקציית 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 Attribution 2.0 גנרי.

/