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

1. ภาพรวม

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

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

นอกจากนี้ คุณจะต้องมี 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.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 Console

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

f6cb1591046097da.png

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

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 ของเรา โดยมี 1 คอร์และ RAM 3.75 GiB อย่างไรก็ตาม คุณสามารถเลือกเครื่องที่มีขนาดเล็กหรือใหญ่กว่าได้ โดยมีขนาดสูงสุดถึง 32 คอร์ / RAM 208 GiB ดูข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้และประเภทเครื่องที่กำหนดเองได้ในเอกสารประกอบเกี่ยวกับประเภทเครื่องหมายเหตุ: โปรเจ็กต์ใหม่จะมีโควต้าทรัพยากรเริ่มต้น ซึ่งอาจจำกัดจำนวนแกน CPU คุณขอเพิ่มสำหรับโปรเจ็กต์ได้

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

2016

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

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

ขนาดดิสก์ในหน่วย GB

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

ไฟร์วอลล์

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

fc50b1cfd8b1f4b3.png

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

iis.PNG

โปรดทราบว่าคุณยังใช้เดสก์ท็อประยะไกล (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 ค้นหาอินสแตนซ์ของคุณและจดที่อยู่ 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 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.

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 Server บน Compute Engine

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

ใบอนุญาต

ผลงานนี้ได้รับอนุญาตภายใต้สัญญาอนุญาตครีเอทีฟคอมมอนส์สำหรับยอมรับสิทธิของผู้สร้าง (Creative Commons Attribution License) 2.0 แบบทั่วไป

/