ทำให้แอป ASP.NET ใช้งานได้กับเซิร์ฟเวอร์ Windows บน Compute Engine

1. ภาพรวม

ASP.NET เป็นเว็บเฟรมเวิร์กแบบโอเพนซอร์สสำหรับการสร้างเว็บแอปและบริการสมัยใหม่ด้วย .NET ASP.NET สร้างเว็บไซต์โดยใช้ HTML5, CSS และ JavaScript ที่ใช้งานง่าย รวดเร็ว และรองรับผู้ใช้หลายล้านคน

ในห้องทดลองนี้ คุณทำให้แอป ASP.NET ง่ายๆ ใช้งานได้กับ Windows Server ที่ทำงานบน Compute Engine Codelab นี้สร้างขึ้นบน Codelab ของการทำให้เซิร์ฟเวอร์ Windows ใช้งานได้ด้วย ASP.NET Framework กับ Compute Engine คุณอาจต้องทำงานห้องทดลองนั้นให้เสร็จก่อน

นอกจากนี้ คุณจะต้องใช้ Visual Studio 2013 ขึ้นไปเพื่อเขียนแอป ASP.NET และทำให้ใช้งานกับ Compute Engine ได้

สิ่งที่คุณจะได้เรียนรู้

  • วิธีสร้างแอป ASP.NET ง่ายๆ
  • วิธีเรียกใช้แอป ASP.NET ในเครื่องใน Visual Studio
  • วิธีปรับใช้และเรียกใช้แอป ASP.NET กับเซิร์ฟเวอร์ Windows บน Compute Engine

สิ่งที่ต้องมี

คุณจะใช้บทแนะนำนี้อย่างไร

อ่านเท่านั้น อ่านและทำแบบฝึกหัด

คุณจะให้คะแนนประสบการณ์การใช้งาน Google Cloud Platform อย่างไร

มือใหม่ ระดับกลาง ผู้ชำนาญ

2. การตั้งค่าและข้อกำหนด

การตั้งค่าสภาพแวดล้อมตามเวลาที่สะดวก

คุณควรมีโปรเจ็กต์ Google Cloud Platform จากห้องทดลองก่อนหน้าอยู่แล้ว จึงไม่จําเป็นต้องสร้างโปรเจ็กต์ใหม่ ลงชื่อเข้าใช้คอนโซล Google Cloud Platform ( 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 ดาวน์โหลดทรัพยากร Dependency ของ NuGet และสร้างแอปแล้ว คุณควรเห็นข้อความ Hello World ปรากฏขึ้นในเบราว์เซอร์

77768b92a41434c2.png

เมื่อแน่ใจว่าแอปทำงานภายในเครื่องแล้ว ให้กด Shift + F5 เพื่อหยุดแอปพลิเคชัน

5. ทำให้เซิร์ฟเวอร์ Windows ใช้งานได้ด้วย ASP.NET Framework

ในส่วนนี้ เราจะได้เรียนรู้วิธีสร้างอินสแตนซ์เครื่องเสมือน Google Compute Engine ใหม่ด้วย Windows Server และ ASP.NET Framework ที่ติดตั้งโดยใช้ Cloud Marketplace จาก Google Cloud Console

เข้าสู่ระบบคอนโซล Google Cloud

ไปยัง Google Cloud Console จากแท็บเบราว์เซอร์หรือหน้าต่างอื่น ไปที่ https://console.cloud.google.com ใช้ข้อมูลเข้าสู่ระบบที่คุณตั้งไว้เมื่อลงชื่อสมัครใช้ Google Cloud Platform หรือข้อมูลที่ผู้ดูแลของห้องทดลองมอบให้คุณ

f6cb1591046097da.png

ในคอนโซล Google Cloud ให้คลิกไอคอนเมนูสำหรับผลิตภัณฑ์และ บริการที่ด้านซ้ายบนของหน้าจอ

32152624d878d9f8.png

จากนั้นไปที่ Cloud Marketplace

6c08c9a31e3a9c6c.png

ค้นหา ASP.NET Framework

พิมพ์ ASP.NET เพื่อค้นหา ASP.NET Framework แล้วคลิกที่ช่องผลลัพธ์ด้านล่าง

d64d04962212c3c1.png

เปิดตัวบน Compute Engine

ในหน้าจอถัดไป ให้คลิกเปิดบน Compute Engine

คุณกำหนดค่าพารามิเตอร์จำนวนมากได้เมื่อสร้างอินสแตนซ์ใหม่ ลองใช้สิ่งต่างๆ ต่อไปนี้

ชื่อ

gcelab

ชื่อการทำให้ใช้งานได้

windows-aspnet-instance

โซน

europe-west1-dดูข้อมูลเพิ่มเติมเกี่ยวกับโซนในภูมิภาคและ เอกสารประกอบของโซน

ประเภทเครื่อง

1 vCPU (n1-standard-1)n1-standard-1 นั้นเพียงพอแล้วสำหรับเว็บไซต์ ASP.NET ที่มี RAM 1 แกนและ 3.75 GB แต่คุณสามารถเลือกเครื่องขนาดเล็กหรือขนาดใหญ่ได้ โดยจะรองรับ RAM ได้สูงสุดถึง 32 แกน / 208 GB ดูข้อมูลเพิ่มเติมเกี่ยวกับอุปกรณ์นี้และประเภทเครื่องที่กำหนดเองได้ในเอกสารประกอบประเภทเครื่อง หมายเหตุ: โปรเจ็กต์ใหม่มีโควต้าทรัพยากรเริ่มต้น ซึ่งอาจจำกัดจำนวนแกน CPU คุณขอเพิ่มโปรเจ็กต์ได้

เวอร์ชันระบบปฏิบัติการ Windows Server

2016

ประเภทดิสก์บูท

Standard persistent diskหมายเหตุ: คุณอาจเลือก Solid State ไดรฟ์ (SSD) ที่มีประสิทธิภาพมากขึ้นก็ได้ โปรดดูหัวข้อตัวเลือกพื้นที่เก็บข้อมูล

ขนาดของดิสก์เป็น GB

100เราใช้ค่าเริ่มต้นที่ 100GB แต่คุณสามารถปรับให้มากหรือน้อยกว่านี้ตามความต้องการของคุณ

ไฟร์วอลล์

Allow HTTP traffic
Allow HTTPS traffic
Allow WebDeploy traffic
Allow RDP trafficเก็บค่าเริ่มต้นซึ่งจะสร้างกฎไฟร์วอลล์เพื่ออนุญาตการเข้าชม HTTP, HTTPS รวมถึงการรับส่งข้อมูล WebDeploy และ RDF

คลิกทำให้ใช้งานได้เพื่อสร้างอินสแตนซ์เครื่องเสมือนใหม่ด้วย Windows Server และ ASP.NET Framework การดําเนินการนี้จะนำคุณไปยังหน้าใหม่ที่แสดงความคืบหน้า

3276c6d3647fd36.png

เมื่อเสร็จแล้ว ให้ไปที่ Compute Engine จากเมนูด้านซ้าย แล้วเลือกอินสแตนซ์ VM คุณควรเห็นเครื่องเสมือนใหม่ในรายการอินสแตนซ์ VM

fc50b1cfd8b1f4b3.png

หากคลิกที่ IP ภายนอก คุณจะเห็นเว็บไซต์ IIS เริ่มต้นที่แสดงจากอินสแตนซ์ด้วย

iis.PNG

โปรดทราบว่าคุณยังสามารถ Remote Desktop (RDP) เข้าไปในเครื่องได้ แต่เราต้องสร้างผู้ใช้และรหัสผ่าน Windows ก่อน

6. สร้างผู้ใช้และรหัสผ่าน Windows

หากต้องการสร้างผู้ใช้และรหัสผ่าน Windows ให้เลือกสร้างหรือรีเซ็ตรหัสผ่าน Windows

cf9b67269c4fa290.png

ซึ่งจะเปิดหน้าต่างใหม่ให้คุณสร้างผู้ใช้ได้ เก็บค่าเริ่มต้นไว้แล้วเลือกตั้งค่า หลังจากผ่านไป 2-3 วินาที คุณจะเห็นกล่องโต้ตอบรหัสผ่านใหม่ของ Windows พร้อมรหัสผ่านที่สร้างขึ้นใหม่ จดรหัสผ่านไว้เพราะจะต้องใช้ในส่วนถัดไป

7. ทำให้แอปพลิเคชันใช้งานได้ในเซิร์ฟเวอร์ Windows บน Compute Engine

ได้เวลาทำให้แอปพลิเคชันของคุณใช้งานได้ในเซิร์ฟเวอร์ Windows ที่ทำงานบนอินสแตนซ์ Compute Engine แล้ว

ก่อนอื่น คุณต้องหา IP ภายนอกของอินสแตนซ์ Compute Engine ที่คุณทำให้ใช้งานได้ในทำให้เซิร์ฟเวอร์ Windows ใช้งานได้ด้วยเฟรมเวิร์ก ASP.NET กับ Compute Engine ใน Cloud Console ให้ไปที่การประมวลผล > อินสแตนซ์ VM ให้ค้นหาอินสแตนซ์และจดบันทึกที่อยู่ IP ภายนอกของอินสแตนซ์

8163b495fda4a4c5.png

คุณจะต้องใช้ชื่อผู้ใช้และรหัสผ่าน Windows ที่สร้างขึ้นในขั้นตอนก่อนหน้า

ใน Solution Explorer ของ Visual Studio ให้คลิกขวาที่โปรเจ็กต์ แล้วเลือกเผยแพร่ในเมนูตามบริบท

31dc67741553583e.png

ในกล่องโต้ตอบเผยแพร่เว็บ ให้เลือกกำหนดเองเป็นเป้าหมายการเผยแพร่

ในกล่องโต้ตอบโปรไฟล์ที่กำหนดเองใหม่ ให้ใส่ชื่อสำหรับโปรไฟล์การทำให้ใช้งานได้ แล้วคลิกตกลง

กรอกข้อมูลโปรไฟล์ของคุณดังนี้

เซิร์ฟเวอร์

The external IP address of your Compute Engine instance. This address can be found on the หน้าอินสแตนซ์ VM in the Cloud Console. The IP address is ชั่วคราว, which is sufficient for our purposes.

ชื่อเว็บไซต์

Default Web Siteหมายเหตุ: ชื่อเว็บไซต์ที่คุณระบุที่นี่ต้องตรงกับชื่อที่ปรากฏในตัวจัดการ IIS บนอินสแตนซ์ 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.

URL ปลายทาง

http://หมายเหตุ: URL ปลายทางคือที่อยู่ซึ่งหน้าเว็บจะเข้าถึงได้หลังจากติดตั้งใช้งานแล้ว

คลิกตรวจสอบการเชื่อมต่อเพื่อให้มั่นใจว่าพร็อพเพอร์ตี้ถูกต้อง

5587e66e1f61acd6.png

เนื่องจากการติดตั้ง Microsoft IIS ในการทำให้ใช้งานได้ของคุณใช้ใบรับรองที่ลงชื่อด้วยตนเองโดยค่าเริ่มต้น คุณจะเห็นข้อผิดพลาดของใบรับรองในระหว่างกระบวนการตรวจสอบ เลือกช่องเพื่อบันทึกใบรับรองนี้สำหรับเซสชันในอนาคตของ Visual Studio แล้วคลิกยอมรับเพื่อยอมรับใบรับรอง

e7cc4bdef3064b9b.png

ถ้าการกำหนดค่าถูกต้อง ให้คลิกการตั้งค่า คลิกตัวเลือกการเผยแพร่ไฟล์ แล้วเลือกนำไฟล์เพิ่มเติมที่ปลายทางออก การดำเนินการนี้มีความสำคัญสำหรับขั้นตอนต่อๆ ไปเมื่อคุณเผยแพร่เว็บไซต์ใหม่ไปยังอินสแตนซ์ Compute Engine เดียวกัน

1014554485ba6720.png

คลิกเผยแพร่เพื่อทำให้แอปพลิเคชันใช้งานได้ หลังจากเผยแพร่เรียบร้อยแล้ว Visual Studio จะเปิดแอปพลิเคชันในเว็บเบราว์เซอร์เริ่มต้น

feab07f5ac573240.png

8. ล้างข้อมูล

เท่านี้ก็เรียบร้อย ตอนนี้ก็ถึงเวลาล้างทรัพยากรที่คุณใช้ (เพื่อประหยัดค่าใช้จ่ายและเป็นพลเมืองระบบคลาวด์ที่ดี)

คุณจะลบหรือหยุดอินสแตนซ์ได้ แต่โปรดทราบว่าอินสแตนซ์ที่หยุดอาจยังมีค่าใช้จ่ายที่เกี่ยวข้องกับพื้นที่เก็บข้อมูล

a3152ac7b76cdd4e.png

แน่นอน คุณยังสามารถลบทั้งโปรเจ็กต์ได้อีกด้วย แต่การตั้งค่าการเรียกเก็บเงินที่คุณได้ทำไว้จะหายไป (ต้องปิดใช้การเรียกเก็บเงินของโปรเจ็กต์ก่อน) นอกจากนี้ การลบโปรเจ็กต์จะหยุดการเรียกเก็บเงินโปรเจ็กต์เมื่อรอบการเรียกเก็บเงินปัจจุบันสิ้นสุดลงเท่านั้น

9. ยินดีด้วย

Google Compute Engine คือรากฐานของ Infrastructure-as-a-Service ของ Google Cloud Platform จากที่คุณจะเห็น การทำให้แอป ASP.NET ใช้งานได้กับ Windows Server บน Compute Engine นั้นง่ายมาก

หัวข้อที่ครอบคลุม

  • วิธีสร้างแอป ASP.NET ง่ายๆ
  • วิธีเรียกใช้แอป ASP.NET ในเครื่องใน Visual Studio
  • วิธีปรับใช้และเรียกใช้แอป ASP.NET กับเซิร์ฟเวอร์ Windows บน Compute Engine

ขั้นตอนถัดไป

ใบอนุญาต

ผลงานนี้ได้รับอนุญาตภายใต้ใบอนุญาตทั่วไปครีเอทีฟคอมมอนส์แบบระบุแหล่งที่มา 2.0

/