ย้ายเว็บแอปพลิเคชัน ASP.NET ไปยัง AWS Elastic Beanstalk

ด้วยตัวช่วยการย้ายเว็บแอปพลิเคชัน Windows (WWAMA)

ภาพรวม

วัตถุประสงค์ของแล็บนี้คือเพื่อย้ายเว็บแอปพลิเคชัน ASP.NET ตัวอย่างไปยังสภาพแวดล้อม AWS Elastic Beanstalk ที่มีการจัดการอย่างเต็มรูปแบบโดยใช้ตัวช่วยการย้ายเว็บแอปพลิเคชัน Windows (WWAMA) ดูข้อมูลเพิ่มเติมเกี่ยวกับตัวช่วยการย้ายเว็บแอปพลิเคชัน Windows ที่นี่

ผลที่คาดหวัง

คุณจะได้ย้ายเว็บแอปพลิเคชัน ASP.NET ตัวอย่างไปยังสภาพแวดล้อม AWS Elastic Beanstalk ที่มีการจัดการอย่างเต็มรูปแบบ

ข้อกำหนดเบื้องต้น

คุณจำเป็นต้องมีบัญชี AWS และสิทธิ์การใช้งาน IAM เพื่อสร้าง EC2 instance, คู่คีย์, กลุ่มความปลอดภัย, ผู้ใช้ IAM และสภาพแวดล้อม Elastic Beanstalk บทแนะนำสอนการใช้งานนี้จะปรับใช้เทมเพลต AWS CloudFormation ซึ่งมีการจัดเตรียมเว็บไซต์ตัวอย่างโดยอัตโนมัติบน EC2 instance ซึ่งจะเป็นเว็บแอปพลิเคชันต้นทางสำหรับการย้าย  

เกี่ยวกับบทแนะนำสอนการใช้งานนี้
เวลา 15 นาที                                           
ค่าใช้จ่าย สิทธิ์ใช้งานแบบ Free Tier
กรณีใช้งาน การย้ายแอปพลิเคชัน Windows
ผลิตภัณฑ์ AWS Elastic Beanstalk
ผู้เข้าร่วม นักพัฒนา
ระดับ ผู้เริ่มต้น
อัปเดตล่าสุด 3/30/2020

1. สมัครใช้งาน AWS

เทมเพลต CloudFormation ที่ใช้ในบทแนะนำสอนการใช้งานนี้จะเปิดใช้งาน EC2 instance ประเภท t2.micro ประเภทอินสแตนซ์แบบ t2.micro เป็นส่วนหนึ่งของการใช้งานแบบ Free Tier หากเลือกประเภทอินสแตนซ์อื่นๆ อาจมีค่าใช้จ่ายของ EC2 คุณสามารถประเมินค่าใช้จ่ายของ EC2 ได้ในหน้าการกำหนดราคาของ EC2

 

มีบัญชีอยู่แล้วใช่ไหม ลงชื่อเข้าใช้

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

ใช้ CloudFormation เพื่อเปิดใช้งาน EC2 instance ซึ่งจะโฮสต์เว็บไซต์ตัวอย่าง จากนั้น การติดตั้งจำเป็นต้องมีสิทธิ์การใช้งานของ IAM

ก. เปิดใช้งาน EC2 instance ผ่าน CloudFormation

ใช้ CloudFormation เพื่อเปิดใช้งาน EC2 instance ใน US-East-1

เปิดใช้งานสแตก CloudFormation >>

แล้วคลิก Next (ถัดไป)

WWAMA - CFN

เลือกคู่คีย์ที่มีอยู่หรือ create a key pair (สร้างคู่คีย์) หากไม่มี แล้วคลิก Next (ถัดไป)

WWAMA - 2

ในหน้าจอ Configure Stack Options (กำหนดค่าตัวเลือกสแตก) ให้คลิก Next (ถัดไป) ที่ด้านล่างสุดของหน้าจอ Review (ตรวจสอบ) ให้คลิก Create Stack (สร้างสแตก)  

 

WWAMA - 3

เมื่อสร้างสแตกขึ้นมาแล้ว คุณจะพบว่าสถานะเปลี่ยนเป็น 'CREATE_COMPLETE' (สร้างเสร็จสมบูรณ์)

 

WWAMA - 5

ข. สร้างผู้ใช้ IAM

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

ในเมนูการนำทางด้านซ้าย คลิก Users (ผู้ใช้) แล้วคลิก Add User (เพิ่มผู้ใช้)

ป้อน User name (ชื่อผู้ใช้) MigrationUser (ผู้ใช้การย้ายข้อมูล) ทำเครื่องหมายกับช่องสำหรับ Programmatic access (การเข้าถึงทางโปรแกรม) แล้วคลิก Next:Permissions (ถัดไป: สิทธิ์)

WWAMA - 6

คลิก Attach existing policies directly (แนบนโยบายที่มีอยู่แล้วโดยตรง) และพิมพ์ Beanstalk ในแถบการค้นหาเพื่อกรองนโยบาย

คลิกที่กล่องทำเครื่องหมายสำหรับนโยบายที่มีการจัดการโดย AWS ดังต่อไปนี้ แล้วคลิก Next:Tags (ถัดไป: แท็ก)

  • IAMReadOnlyAccess
  • AWSElasticBeanstalkFullAccess

 

WWAMA - 8

คลิก Next:Review (ถัดไป: ตรวจสอบ) แล้วคลิก Create User (สร้างผู้ใช้)


 

 

WWAMA - 9

หลังจากที่สร้างผู้ใช้ขึ้นมาแล้ว คลิก Download CSV (ดาวน์โหลด CSV) เมื่อมีหน้าจอแสดงขึ้นมา

 

 

WWAMA - 10

3. เข้าสู่ระบบคอนโซล EC2 และติดตั้งเพื่อรันเครื่องมือ WWAMA

ก. ไปยังคอนโซล EC2 และเข้าสู่ระบบ

เข้าสู่ระบบ EC2 ที่นี่ >>

เมื่อคุณได้เข้าสู่ระบบของคอนโซล EC2 ให้เลือกอินสแตนซ์ WWAMA แล้วคลิก Connect (เชื่อมต่อ)

WWAMA - launch-instance

คลิกที่ไฟล์ Download Remote Desktop (ดาวน์โหลดเดสก์ท็อประยะไกล) และบันทึกไฟล์ RDP แล้วคลิก Get Password (ขอรับรหัสผ่าน) แล้วอัปโหลดไฟล์คู่คีย์เพื่อขอรับรหัสผ่าน Widows Server คุณจะเห็นรหัสผ่านเป็นข้อความธรรมดา ให้คัดลอกไว้เนื่องจากจำเป็นต้องใช้ในขั้นตอนถัดไป

 

 

WWAMA - RDP_LI

เข้าสู่ระบบ EC2 instance โดยใช้ไฟล์ RDP ที่คุณบันทึกไว้ก่อนหน้าและป้อนรหัสผ่านของคุณ

 

 

ข. เปิดเทอร์มินัล PowerShell บน EC2 Windows Server

เปิดเทอร์มินัล PowerShell ในฐานะผู้ดูแลระบบและเรียกใช้งานคำสั่งที่เตรียมไว้ให้ในตัวอย่างด้านล่างทางขวาเพื่อกำหนดค่าข้อมูลประจำตัวของ AWS แทนค่า ACCESS_KEY (คีย์การเข้าถึง) และ SECRET_ACCESS_KEY (คีย์ลับการเข้าถึง) ด้วยค่าในไฟล์ .CSV ที่ดาวน์โหลดไว้ล่วงหน้าในระหว่างการสร้าง MigrationUser (ผู้ใช้การย้ายข้อมูล)

 

WWAMA - 13
PS C:\> Import-Module AWSPowerShell
PS C:\> Set-AWSCredential -AccessKey ACCESS_KEY -SecretKey SECRET_ACCESS_KEY -StoreAs default

ค. แตกไฟล์ตัวช่วยการย้ายข้อมูล

ตัวช่วยการย้ายข้อมูลถูกดาวนโหลดไว้ล่วงหน้าแล้วในไดรฟ์ C:\ โดยเทมเพลต CloudFormation ไฟล์นั้นคือ wwama.zip

คลิกขวาที่ wwama.zip และแตกไฟล์ตัวช่วย

WWAMA - 14

ง. ดูตัวอย่างเว็บไซต์ก่อนการย้ายข้อมูล

เปิดเว็บเบราว์เซอร์บนอินสแตนซ์ EC2 Windows Server instance แล้วไปที่ http://localhost/ คุณจะพบตัวอย่างเว็บไซต์ที่ตัวช่วยการย้ายข้อมูลจะทำการย้าย

WWAMA - localhost_LI

4. เรียกใช้ตัวช่วยการย้ายข้อมูล

ก. เปิดใช้สคริปต์ MigrateIISWebsiteToElasticBeanstalk.ps1

ในเทอร์มินัล PowerShell ที่คุณเปิดไว้ก่อนหน้านี้ ให้เปิดใช้สคริปต์การย้ายข้อมูล

ตัวช่วยจะร้องขอตำแหน่งไฟล์ข้อมูลประจำตัว กด ENTER เพื่อข้าม

เมื่อถูกร้องขอให้ตั้งชื่อโปรไฟล์ AWS ให้ป้อน default(เริ่มต้น)

   

PS C:\> .\MigrateIISWebsiteToElasticBeanstalk.ps1

ข. เลือกเขต AWS

ป้อนเขต AWS ที่คุณต้องการให้สภาพแวดล้อม Elastic Beanstalk ทำงาน ตัวอย่างเช่น: us-east-1 สำหรับรายการเขต AWS ที่ Elastic Beanstalk พร้อมให้บริการ ดูที่ ตำแหน่งข้อมูลและโควต้าของ AWS Elastic Beanstalk ในข้อมูลอ้างอิงทั่วไปของ AWS

 

Enter the AWS Region (default us-east-1):

ค. เลือกเว็บแอปพลิเคชันที่ต้องการย้ายข้อมูล

ตัวช่วยจะค้นหาเว็บไซต์ที่ทำงานบนเซิร์ฟเวอร์ IIS ของคุณและแสดงรายการดังในตัวอย่างด้านล่าง

 

 

WWAMA - 16

ป้อนหมายเลข 2 เพื่อย้ายข้อมูลเว็บไซต์ตัวอย่าง

Enter the number of the website to migrate: (default 1):

ง. อัปเดตสตริงการเชื่อมต่อ

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

ข้อความนี้จะปรากฏขึ้น:

"The migration assistant didn't find any connection strings." (ตัวช่วยการย้ายไม่พบสตริงการเชื่อมต่อใดๆ)

Enter the number of the connection string you would like to update, or press ENTER:

จ. ติดตั้งแอปพลิเคชัน Elastic Beanstalk

ถัดไป ให้ตั้งชื่อแอปพลิเคชัน Elastic Beanstalk ใหม่ของคุณ

 

 

เมื่อมีการขอให้เลือกเวอร์ชันของ Windows Server ให้พิมพ์ ‘6’ แล้วกด Enter

Enter a unique name for your new Elastic Beanstalk application:
WWAMA - 17

ป้อนประเภทอินสแตนซ์ที่แอปพลิเคชันของคุณจะใช้งาน พิมพ์ t2.micro โปรดดูประเภท Amazon EC2 Instance สำหรับรายการทั้งหมด

Enter the instance type (default t3.medium) : t2.micro

ตัวช่วยการย้ายจะย้ายแอปพลิเคชันของคุณไปยัง Elastic Beanstalk

 

WWAMA - 18

เมื่อการย้ายเสร็จสิ้น คุณจะเห็นข้อความแสดงการเสร็จสมบูรณ์ใน CLI

 

WWAMA - 19

5. ไปยังเว็บแอปพลิเคชันของคุณที่โฮสต์อยู่บน Elastic Beanstalk

เมื่อเว็บไซต์ถูกย้ายข้อมูลอย่างเสร็จสมบูรณ์แล้ว ให้ตรวจสอบยืนยันว่าเว็บไซต์ได้เริ่มต้นและทำงานได้

ก. เข้าถึงในเว็บเบราว์เซอร์

คุณสามารถรับ URL ได้จากเอาต์พุตของสคริปต์ PowerShell

ป้อน URL ลงในเว็บเบราว์เซอร์ของคุณ คุณควรจะเห็นว่าเว็บแอปพลิเคชันของคุณทำงานอยู่บน Elastic Beanstalk แล้ว

 

WWAMA - 20
WWAMA - 21

ข. เข้าถึงในคอนโซล Elastic Beanstalk

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

 

WWAMA - 22

6. การล้างข้อมูลทรัพยากรของคุณ

ในขั้นตอนสุดท้ายนี้ คุณจะได้ล้างข้อมูลและลบทรัพยากรของคุณ

ก. ลบแอปพลิเคชัน Elastic Beanstalk

ไปที่คอนโซล Elastic Beanstalk และคลิกที่เมนู Actions (การดำเนินการ) ทางด้านขวามือ จากนั้นเลือก Terminate Environment (ยกเลิกการใช้งานสภาพแวดล้อม)

 

 

WWAMA - 22

ข. ลบสแตก CloudFormation

ไปยังคอนโซล CloudFormation และลบสแตก WWAMAStack ของ CloudFormation ที่สร้างขึ้นเมื่อเริ่มต้นแล็บนี้

 

 

ขอแสดงความยินดี

คุณได้ย้ายเว็บแอปพลิเคชัน ASP.NET ตัวอย่างไปยังสภาพแวดล้อม Elastic Beanstalk ที่มีการจัดการอย่างเต็มรูปแบบโดยใช้ตัวช่วยการย้ายเว็บแอปพลิเคชัน Windows (WWAMA) โดยเสร็จสมบูรณ์


AWS Elastic Beanstalk เป็นบริการที่ใช้งานง่ายสำหรับการปรับใช้งานและการปรับขนาดเว็บแอปพลิเคชัน และเป็นบริการที่พัฒนาขึ้นด้วย Java, .NET, PHP, Node.js, Python, Ruby, Go และ Docker บนเซิร์ฟเวอร์ที่คุ้นเคย เช่น Apache, Nginx, Passenger และ IIS

เพียงแค่อัปโหลดโค้ดของคุณ Elastic Beanstalk จะจัดการการปรับใช้โดยอัตโนมัติ ตั้งแต่การจัดเตรียมขีดความสามารถ การปรับสมดุลโหลด การปรับขนาดอัตโนมัติ ไปจนถึงการติดตามสภาพแอปพลิเคชัน ในขณะเดียวกัน คุณสามารถควบคุมทรัพยากร AWS ที่ทำงานให้กับแอปพลิเคชันได้อย่างเต็มที่ และเข้าถึงทรัพยากรพื้นฐานได้ตลอดเวลา

ไปที่ AWS Elastic Beanstalk เพื่อเรียนรู้เพิ่มเติม

บทช่วยสอนนี้เป็นประโยชน์หรือไม่

ขอบคุณ
โปรดบอกเราว่าคุณชอบอะไร
ขออภัยที่ทำให้คุณผิดหวัง
มีเนื้อหาที่ไม่อัปเดต คลุมเครือ หรือไม่ถูกต้องหรือไม่ โปรดช่วยเราในการปรับปรุงบทช่วยสอนนี้โดยการให้คำติชม