ย้ายเว็บแอปพลิเคชัน 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 (ถัดไป)
เลือกคู่คีย์ที่มีอยู่หรือ create a key pair (สร้างคู่คีย์) หากไม่มี แล้วคลิก Next (ถัดไป)

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

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

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

คลิก Attach existing policies directly (แนบนโยบายที่มีอยู่แล้วโดยตรง) และพิมพ์ Beanstalk ในแถบการค้นหาเพื่อกรองนโยบาย
คลิกที่กล่องทำเครื่องหมายสำหรับนโยบายที่มีการจัดการโดย AWS ดังต่อไปนี้ แล้วคลิก Next:Tags (ถัดไป: แท็ก)
- IAMReadOnlyAccess
- AWSElasticBeanstalkFullAccess

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

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

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

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

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

PS C:\> Import-Module AWSPowerShell
PS C:\> Set-AWSCredential -AccessKey ACCESS_KEY -SecretKey SECRET_ACCESS_KEY -StoreAs default
ค. แตกไฟล์ตัวช่วยการย้ายข้อมูล
ตัวช่วยการย้ายข้อมูลถูกดาวนโหลดไว้ล่วงหน้าแล้วในไดรฟ์ C:\ โดยเทมเพลต CloudFormation ไฟล์นั้นคือ wwama.zip
คลิกขวาที่ wwama.zip และแตกไฟล์ตัวช่วย

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

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 ของคุณและแสดงรายการดังในตัวอย่างด้านล่าง

ป้อนหมายเลข 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:

ป้อนประเภทอินสแตนซ์ที่แอปพลิเคชันของคุณจะใช้งาน พิมพ์ t2.micro โปรดดูประเภท Amazon EC2 Instance สำหรับรายการทั้งหมด
Enter the instance type (default t3.medium) : t2.micro
ตัวช่วยการย้ายจะย้ายแอปพลิเคชันของคุณไปยัง Elastic Beanstalk

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

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


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

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

ข. ลบสแตก 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 เพื่อเรียนรู้เพิ่มเติม