อัพเดทบริการ AWS Application Migration Service ในปี 2024
บทความนี้แปลมาจากบทความที่เป็นภาษาญี่ปุ่นที่ชื่อว่า AWS入門ブログリレー2024 〜Application Migration Service編〜 โดยเจ้าของบทความนี้คือ คุณ 荒平 祐次(arap)
ภาพรวมของบริการ Application Migration Service
บริการนี้ช่วยให้สามารถย้ายเซิร์ฟเวอร์จาก On-premises หรือคลาวด์อื่นๆ ไปยัง AWS ได้ หากต้องการย้ายโครงสร้างพื้นฐานแบบ IaaS (P2C, V2C, C2C) บริการนี้ถือเป็นตัวเลือกที่ดีในการ Migration
นอกจากนี้ยังสามารถย้ายระหว่าง region ของ AWS ได้ด้วย ซึ่งมีลักษณะเด่นคือสามารถลดเวลา Downtime ที่เกิดขึ้นได้
นอกจากนี้ ชื่อย่ออย่างเป็นทางการคือ "AWS MGN" แม้ว่าในบทความนี้จะพยายามไม่ใช้ชื่อย่อมากนัก แต่ก็อาจปรากฏในบางส่วนของรูปภาพและข้อความ
ประวัติ
บริการนี้เคยเป็นผลิตภัณฑ์ของบริษัท CloudEndure ซึ่ง Amazon ได้เข้าซื้อกิจการในเดือนมกราคม 2019
AWS Application Migration Service จึงได้รับการพิจารณาให้เป็นบริการอย่างเป็นทางการ
ด้วยเหตุนี้ ในบางครั้งอาจพบชื่อ CloudEndure ในบางบันทึก, เอกสาร, หรือ blog ต่าง ๆ
ในกรณีที่ต้องการค้นหา Error ที่เกี่ยวข้องกับบริการนี้ อาจพบข้อมูลของ CloudEndure แต่เนื่องจากสเปกยังคงเหมือนเดิมในหลาย ๆ ด้าน วิธีแก้ไขปัญหาต่างๆจึงยังคงสามารถใช้งานได้
การทำความเข้าใจคำศัพท์
ต่อไปนี้เราจะทำความเข้าใจคำศัพท์โดยดูจาก Service architecture and network architecture overview
คำศัพท์ | คำบรรยาย |
---|---|
AWS Replication Agent | migration agent ที่ใช้ใน Application Migration Service จะถูกติดตั้งบนระบบปฏิบัติการของเกสต์ (Guest OS) และให้บริการการจำลองข้อมูลอย่างต่อเนื่องไปยัง AWS |
Source Server | เซิร์ฟเวอร์ต้นทาง หมายถึงเซิร์ฟเวอร์ที่เป็นแหล่งที่มาของการย้ายข้อมูล |
Replication Servers | ทำหน้าที่คัดลอกดิสก์ของเซิร์ฟเวอร์ต้นทาง และสื่อสารกับบริการต่างๆ ของ AWS เช่น MGN, EC2 และ S3 |
Test Instance | คืออินสแตนซ์ที่ถูกเปิดขึ้นเพื่อยืนยันการทำงานของแอปพลิเคชัน โดยใช้ข้อมูลที่ถูกจำลองมา การเปลี่ยนแปลงที่เกิดขึ้นใน Test Instance จะไม่ถูกบันทึกเมื่อมีการย้ายเฟส (Phase Transition) ดังนั้นจึงต้องระมัดระวังเพราะการเปลี่ยนแปลงเหล่านั้นจะสูญหาย (โดยพื้นฐาน) |
Cutover Instance | คืออินสแตนซ์ EC2 ที่ถูกสร้างขึ้นหลังจากการย้ายข้อมูล แตกต่างจาก Test Instance การเปลี่ยนแปลงที่ทำใน Cutover Instance จะถูกบันทึกไว้ตราบใดที่ยังไม่ได้สร้างอินสแตนซ์ใหม่ |
Finalize | คือการหยุดการจำลองข้อมูลจากเซิร์ฟเวอร์ต้นทางและลบข้อมูลที่คัดลอกมา หลังจากที่ดำเนินการนี้แล้ว จะไม่สามารถสร้าง Cutover Instance ใหม่ได้อีก (หากต้องการทำเช่นนั้น จะต้องเริ่มกระบวนการจำลองข้อมูลใหม่ตั้งแต่ต้น) |
Staging Area Subnet | หมายถึงเครือข่ายที่ใช้สำหรับการเปิด Replication Servers และ Test Instance เป็นหลัก ทั้งนี้สามารถเลือกแยกซับเน็ตสำหรับการสร้าง Cutover Instance ออกจากกันทั้งหมด หรือใช้ซับเน็ตเดียวกันทั้งหมดก็ได้ |
Post Launch Action | หมายถึงการดำเนินการต่างๆ ที่สามารถทำพร้อมกับการย้ายข้อมูลได้ เช่น การติดตั้ง SSM Agent หรือ CloudWatch Agent และการอัปเกรดระบบปฏิบัติการ (OS) เป็นต้น |
ขั้นตอนการย้ายข้อมูล
ขั้นตอนการย้ายข้อมูลมีดังนี้
- สร้าง IAM Instance Profile
- เตรียม network ปลายทาง
- ตั้งค่าการดำเนินการหลังการเปิดใช้งาน
- ติดตั้ง AWS Replication Agent
- ทดสอบ instance
- ทดสอบ application
- ใช้งาน cutover instance
- เปลี่ยน DNS
- สรุปขั้นตอน
Best Practices
ในบริการ Application Migration Service สามารถตรวจสอบข้อมูลเอกสาร Best Practices ได้ที่นี่
โดยในเอกสารมีการระบุข้อความไว้ว่า
Perform test at least two weeks before you plan to migrate your source servers.
(โปรดทำการทดสอบอย่างน้อย 2 สัปดาห์ก่อนวางแผนย้ายเซิร์ฟเวอร์ต้นทาง)
ตามที่ระบุไว้ ขอแนะนำให้ทำการตรวจสอบการเชื่อมต่อกับ Test Instance ก่อนการย้ายข้อมูลจริงประมาณ 2 สัปดาห์
ข้อกำหนดของ Application Migration Service
แบ่งออกเป็นสองส่วนใหญ่ ๆ คือ ข้อกำหนดในการติดตั้ง AWS Replication Agent บนระบบปฏิบัติการ (OS) และข้อกำหนดด้าน Network ที่ต้องตรวจสอบ
ข้อกำหนดในการติดตั้ง AWS Replication Agent
AWS Replication Agent รองรับระบบปฏิบัติการที่ค่อนข้างเก่า อย่างไรก็ตาม ระบบปฏิบัติการ Legacy OS อาจมีข้อจำกัดบางประการ เช่น การไม่รองรับ EC2 Nitro เป็นต้น ซึ่งต้องพิจารณาเพิ่มเติม
【Windows】
- Windows Server 2022 64bit
- Windows Server 2019 64bit
- Windows Server 2016 64bit
- Windows 10 64bit
- Windows Server 2012 R2 64bit
- Windows Server 2012 64bit
- Windows Server 2008 R2 64bit
- Windows Server 2008 64bit/32bit
- Windows Server 2003 R2 64bit/32bit
- Windows Server 2003 64bit/32bit
【Linux (64bit เท่านั้น)】
- Amazon Linux 1, 2, 2023
- CentOS 5.5 - 7.9
- Debian Linux 8 - 11
- Oracle Linux 6.0 - 7.0, 8.5 - 8.9
- Red Hat Enterprise Linux 5.5 - 9.0
- Rocky Linux 8, 9
- SUSE Linux Enterprise Server 11 SP4 - 15 SP5
- Ubuntu LTS 12.04 - 22.04
นอกจากนี้ ในแต่ละระบบปฏิบัติการยังมีข้อควรพิจารณาเพิ่มเติม เช่น ขนาดของดิสก์, .NET Framework, และเวอร์ชันของ Python เป็นต้น โดยสามารถตรวจสอบได้ที่ Supported operating systems
ข้อกำหนดด้าน Network
การสื่อสารของ Application Migration Service ทั้งหมดจะถูกเข้ารหัสด้วย TLS จำเป็นต้องอนุญาตการสื่อสาร TCP พอร์ต 443 และ 1500 บนอุปกรณ์เครือข่ายและ firewall
สามารถดูเอกสารอ้างอิงได้ที่ Network requirements
ค่าบริการของ Application Migration Service
สามารถตรวจสอบค่าบริการได้ที่ AWS Application Migration Service pricing
รายการ | ค่าบริการ |
---|---|
ค่าใช้จ่ายในช่วง 90 วันแรก (2,160 ชั่วโมง) ของการจำลองเซิร์ฟเวอร์ | ฟรี |
ค่าใช้จ่ายต่อชั่วโมง (หลังจากช่วงฟรี) | $0.042 ต่อเซิร์ฟเวอร์ |
ค่าใช้จ่ายต่อเดือน (หลังจากช่วงฟรี) | ~$30 ต่อเซิร์ฟเวอร์ |
นอกเหนือจากค่าธรรมเนียมการใช้งานข้างต้นแล้ว ค่าบริการจะถูกเรียกเก็บตามปริมาณการรับส่งข้อมูล การใช้ EC2 และขนาดดิสก์
โควต้าของ Application Migration Service
สามารถดูรายละเอียดได้ที่ AWS Application Migration Service endpoints and quotas
สิ่งที่มักจะเป็นปัญหาคือ "Concurrent jobs in progress: 20 (ปรับไม่ได้)" และ "Max Active Source Servers: 150" ซึ่งในกรณีการย้ายระบบขนาดใหญ่ จำเป็นต้องให้ความสนใจในส่วนนี้
ทดลองใช้บริการ Application Migration Service
หากต้องการใช้งานบริการ Application Migration Service สามารถดูขั้นตอนการใช้งานได้ที่ ลองใช้ AWS Application Migration Service(MGN) ย้าย Windows Server ขึ้น AWS
สรุป
บริการ AWS Application Migration Service เป็นบริการที่ออกแบบมาสำหรับการย้ายข้อมูลเซิร์ฟเวอร์ระหว่าง On-premises ไปยัง AWS หรือจากภายใน AWS แต่คนละ region ก็ได้ซึ่งช่วยลด downtime ขณะ Migration ได้ด้วย
บทความต้นฉบับ
- AWS入門ブログリレー2024 〜Application Migration Service編〜(ภาษาญี่ปุ่น)