วิธีการเปลี่ยน CPU และ Memory สำหรับ Windows Server 2019 บน EC2

EC2 สามารถเพิ่ม Memory ได้ง่ายๆ รวดเร็ว ทันใจ ในระยะเวลาอันสั้น เพียงแค่คลิกจากหน้าจอ Console ก็จะสามารถทำให้การใช้งาน AWS มีประสิทธิภาพมากยิ่งขึ้น เช่น การเพิ่ม Memory ใน EC2 Instance สามารถคลิกจากหน้าจอ Console ได้เลย

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

ครั้งนี้ ผมจะมาแนะนำวิธีการเปลี่ยน CPU และ Memory สำหรับ Windows Server 2019 บน EC2

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

สำหรับคนที่รู้วิธีเริ่มต้นระบบ EC2 บน Windows สามารถข้ามไปที่หัวข้อ การเชื่อมต่อกับ Instance เพื่อเข้าใช้งาน Windows ผ่านไฟล์ RDP ได้เลย

การสร้าง Key Pairs

ก่อนที่จะทำการสร้าง EC2 Instance เราต้องสร้าง Key Pair ก่อนเสมอ ในบทความนี้จะสร้าง Key pair เป็นไฟล์.pem

ค้นหา?︎ EC2» เลือกEC2
Search-EC2

คลิกKey Pairs
KP-1

คลิกCreate key pair
KP-2

ใส่ชื่อที่ต้องการในช่อง Name เช่นwindows-tinnakorn» คลิกCreate key pair
KP-3

หลังจากสร้าง Key Pair เสร็จแล้ว ไฟล์.pemจะถูกดาวน์โหลดมาที่คอมพิวเตอร์และชื่อไฟล์จะเปลี่ยนไปตามที่เราได้ตั้งชื่อไว้โดยอัตโนมัติ
KP-4

การสร้าง Windows Instance

เมื่อสร้าง key pair เสร็จแล้ว ทำการสร้าง Windows Instance ได้เลย

ค้นหา?︎ EC2» เลือกEC2
Search-EC2

คลิกInstance
Instance-select

คลิกLaunch instances
Ins-win-1

Step 1: Choose an Amazon Machine Image (AMI) คือ Instance จะมีเซิร์ฟเวอร์ให้เลือกใช้มากมาย เช่น macOS, Red Hat, SUSE Linux, Ubuntu, Microsoft Windows, Debian เป็นต้น ซึ่งในบทความนี้จะใช้ Microsoft Windows Server 2019 Base ในการติดตั้ง

» คลิกSelect
Ins-win-2

Step 2: Choose an Instance Type คือ เราสามารถเลือก Type CPU Memory ที่จะนำไปใช้งานได้ตามความต้องการ ไม่ว่าเว็บไซต์จะมีขนาดเล็กหรือขนาดใหญ่ ก็สามารถเลือกขนาดความจุของ CPU Memory ได้ตามความเหมาะสม

» เลือก Family =>t3a| Type =>t3a.medium| vCPUs =>2| Memory =>4(สามารถเลือกใช้งานได้ตามความต้องการ)
» คลิกNext: Configure Instance Details
Ins-win-3

Step 3: Configure Instance Details » คลิกNext: Add Storage
Ins-win-4

Step 4: Add Storage คือ ในส่วนของ Size (GiB) เราสามารถเพิ่ม Storage ได้ โดยค่าเริ่มต้นจะเป็น 30GB

» คลิกNext: Add Tags
Ins-win-5

Step 5: Add Tags » คือ การเพิ่มชื่อของ Tag ที่ต้องการใช้งาน

» คลิกAdd Tag
chang_memory-1

เพิ่ม Tag ตามนี้
» Key:Name
» Value:windows-tinnakorn(ใส่ชื่ออะไรก็ได้)
» คลิกNext: Configure Security Group
Ins-win-6-2

Step 6: Configure Security Group คือ การตั้งค่า My IP เพื่อจำกัดการเชื่อมต่อ RDP จากทุกตำแหน่ง ซึ่งในส่วนนี้จะทำให้สามารถเชื่อมต่อ RDP จาก My IP (ที่อยู่ IP ปัจจุบันของคุณ) ได้เท่านั้น

» เปลี่ยนชื่อ Security group name เพื่อไม่ให้สับสนกับผู้ใช้ของคนอื่น เช่นwindows-tinnakorn(ค่าเริ่มต้นจะเป็นชื่อlaunch-wizard-1)
» เลือก Source:My IP
» คลิกReview and Launch
Ins-win-7

Step 7: Review Instance Launch » คลิกLaunch
Ins-win-8

ในส่วนของ POPUP ให้ทำตามขั้นตอนด้านล่าง
» Select a key pair:windows-tinnakorn | RSA(ให้เลือก key pair ที่สร้างไว้ตอนแรก key pair)
» คลิก Checkbox
» คลิกLaunch Instances
Ins-win-9

ถ้ามีข้อความแจ้งเตือนสีเขียวเหมือนรูปภาพด้านล่างนี้ เท่ากับว่าการสร้าง Instance เสร็จสิ้น
จากนั้นให้คลิกView Instances
Ins-win-10

หลังจากสร้าง Instance เสร็จแล้ว ให้สังเกตที่ Status Checks จะเห็นว่ามีสถานะเป็น? Initializingคือ Instance กำลังสตาร์ทระบบขึ้นมานั่นเอง
Ins-win-Initializing

เมื่อ Instance มีสถานะเป็น✅ 2/2 checks passedการสร้าง Instance ก็เสร็จสมบูรณ์
Ins-win-checks_passed

เมื่อสร้าง Instance เสร็จเรียบร้อยแล้ว ขั้นตอนต่อไปจะเป็นการเชื่อมโยง Elastic IP เข้ากับ EC2 Instance เพื่อ ไม่ให้ IP ของ Instance เกิดการเปลี่ยนแปลง

การเชื่อมโยง Elastic IP (EIP) เข้ากับ EC2 Instance

ขั้นตอนนี้เป็นการเชื่อมโยง Elastic IP เข้ากับ EC2 Instance คือการล็อก IP ที่เชื่อมต่อกับ Instance ในการใช้งานให้เป็น IP เดิมทุกครั้งที่มีการเปิดหรือปิด Instance ใหม่

ค้นหา?︎ EC2» เลือกEC2
Search-EC2

คลิกElastic IPs
Select-EIP

คลิกAllocate Elastic IP address
Allocate-EIP

คลิกAdd new tag
Allocate-EIP-1

» Key:Name
» Value-optional:windows-tinnakorn(ใส่ชื่อ Tag ตามต้องการ หรือจะใช้ชื่อเดียวกับ Instance ก็ได้)
» คลิกAllocate
Allocate-EIP-2

เมื่อสร้าง EIP เสร็จแล้ว ต่อไปจะทำการเชื่อมโยง EIP เข้ากับ EC2 Instance
Allocate-EIP-3-1

คลิกActions ▼» เลือกAssociate Elastic IP address
Allocate-EIP-3-2

เลือก Instance ตามนี้
» คลิกChoose an instanceในช่องสีฟ้า แล้วเลือก Instance ของเราที่มีสถานะ running เท่านั้น เช่นi-***************** (windows-tinnakorn) - running
» คลิกAssociate
Allocate-EIP-4-fix

การเชื่อมโยง IP เสร็จเรียบร้อยแล้ว ต่อไปจะตรวจสอบ IP ที่หน้า Elastic IP และหน้า Instance
» คลิกที่ Allocated IPv4 address ตามรูป
Allocate-EIP-5

หน้า Elastic IP
ให้ดูที่ Allocated IPv4 address นี้จะเหมือนกับ Public IPv4 address ของ Instance
Allocate-EIP-6-fix

หน้า Instance
ให้ดูที่ Public IPv4 address ของ Instance จะเห็นว่า IP จะถูกเปลี่ยนไปตาม Allocated IPv4 address ของ Elastic IP

ตัวอย่างเช่น ตอนแรก IP ของ Instance คือ❐ 11.222.333.44 | open addressและ IP ของ Elastic IP คือ❐ 54.179.80.76ซึ่งหลังจากที่เชื่อมโยง IP เข้าด้วยกันแล้ว IP ของ Instance จะเปลี่ยนไปตาม Elsatic IP เป็น❐ 54.179.80.76 (windows-tinnakorn) | open addressตามรูปภาพ
Allocate-EIP-7

การเชื่อมต่อกับ Instance เพื่อเข้าใช้งาน Windows ผ่านไฟล์ RDP

คลิกInstance IDของเรา
Ins-win-ip_instance

คลิกConnect
connect_to_windows-1

ในส่วนของConnect to instanceจะเป็นการ Download remote desktop file และ Get password

» เลือกหัวข้อRDP client
» คลิกDownload remote desktop fileแล้วตัวไฟล์จะถูกดาวน์โหลดมาที่คอมพิวเตอร์และเป็นชื่อตาม Instance ของเราโดยอัตโนมัติ
connect_to_windows-2

คลิกGet password
connect_to_windows-3

ในส่วนของ Get Windows password ต้องรอประมาณ 5 นาทีจนกว่าการเริ่มต้นระบบของ Windows จะเสร็จสมบูรณ์ จึงจะสามารถทำขั้นตอนถัดไปได้
Get-windows-password

คลิกBrowse(เป็นการเพิ่มไฟล์.pemเข้ามายัง Instance เพื่อ Generate Password ขึ้นมา)
connect_to_windows-4

มาที่ไฟล์.pemที่สร้างมาจาก Key pair (ของผมจะเป็นชื่อwindows-tinnakorn.pem) จากนั้นคลิกOpen
connect_to_windows-5

คลิกDecrypt Password
connect_to_windows-6

จะเห็นว่ามี Password ขึ้นมาแล้ว
connect_to_windows-7

กลับมาที่ไฟล์remote desktopหรือไฟล์.rdpที่ดาวน์โหลดมาจาก Instance ของเรา (ของผมจะเป็นชื่อwindows-tinnakorn.rdp) จากนั้นดับเบิ้ลคลิกที่ไฟล์ได้เลย
connect_to_windows-8-0

คลิกConnect
connect_to_windows-8

ในส่วนนี้เราต้องใส่ Password ที่ Generate ใน Instance เมื่อสักครู่นี้
connect_to_windows-9

กลับมาที่ Instance ของเรา จากนั้น Copy Password ตามรูปได้เลย
connect_to_windows-10

นำ Password ที่ Copy มาจาก Instance แล้ววางในช่อง Administrator เพื่อ Login เข้ามาใน Windows Server
connect_to_windows-11

คลิกYes
connect_to_windows-12

เมื่อทำการ Login เข้ามาแล้ว ก็จะมีหน้าตาเป็น Windows Server 2019 เหมือนกับรูปด้านล่าง
connect_to_windows-13

การเพิ่มขนาด Memory และ จำนวน CPU ของ Windows Server

EC2 ที่กำลังใช้งานด้วยt3a.mediumนี้ เราจะเปลี่ยนให้เป็นr5a.xlarge

Instance Type CPU Memory
t3a.medium 2 4 GB
r5a.xlarge 4 32 GB

โดยเพื่อนๆ สามารถดูหน่วย Memory และหน่วย CPU ของอินสแตนซ์ที่มีอยู่ใน EC2 ได้ว่ามีอินสแตนซ์ประเภทอะไรบ้าง สามารถดูที่ลิงก์นี้ได้เลย https://aws.amazon.com/th/ec2/pricing/on-demand/

เช่น เราต้องการเปลี่ยนจากt3a.mediumเป็นr5a.xlargeให้ตรวจสอบดังนี้

เลือกเป็นWindowsจากนั้นใส่ Instance type:r5aลงไปแล้วกด Enter ได้เลย
แล้วจะมีรายละเอียดที่เป็นของr5aขึ้นมา ถ้าต้องการใช้r5a.xlargeก็สามารถตรวจสอบรายละเอียดได้ที่หน้านี้เลย
ec2_type

1. ตรวจสอบหน่วย Memory และ CPU

การตรวจสอบ Memory และ CPU จะมี 3 วิธีดังนี้
1.1 ตรวจสอบที่หน้าจอ Desktop

Instance Size: t3a.medium
Architecture: AMD64
Total Memory: 4096 MB

connect_to_windows-13-fix-2

1.2 ตรวจสอบที่ระบบ System
คลิกที่ปุ่ม Windows แล้วเลือก⚙ Setting
check_cm-1

เลือกSystem
check_cm-2

เลือกAboutแล้วทำการตรวจสอบ

Processor       AMD EPYC 7571 2.20 GHz
Installed RAM   4.00 GB

check_cm-3

1.3 ตรวจสอบที่ Task Manager
คลิกที่ปุ่ม?︎ ค้นหาแล้วใส่คำว่า?︎ Task Managerจากนั้นคลิกที่Task Manager
check_cm-4

คลิกที่More detailsตามรูป
check_cm-5

เลือกหัวข้อPerformanceแล้วทำการตรวจสอบ

CPU                 AMD EPYC 7571
Virtual processors: 2
Memory              1.5/40 GB

check_cm-6-fix

เมื่อตรวจสอบเสร็จแล้ว ให้ออกจาก remote Desktop ตามนี้
เลื่อนไปด้านบนสุดจนแถบด้านบนเลื่อนลงมา จากนั้นคลิก✕ กากบาทและคลิกOK
check_cm-close

2. เปลี่ยน Type Instance

กลับมาที่หน้า EC2 Instance แล้วดูที่ Instance Type ที่ช่องสีน้ำเงิน จะเห็นว่าเป็นt3a.medium
จากนั้นทำการ Stop Instance โดยคลิกInstance state ▼» เลือกStop instance
change_type-1

คลิกStop(การ Stop instance จะใช้เวลาประมาณ 1-2 นาที)
change_type-2

เลือกAction ▼» เลือกInstance settings ▶» เลือกChange instance type
change_type-3

เลือก Instance type:r5a.xlarge ▼» คลิกApply
change_type-4

ดูที่ Instance Type ที่ช่องสีน้ำเงินอีกครั้ง จะเห็นว่าเป็นr5a.xlargeแล้ว
จากนั้นเลือกInstance state ▼» เลือกStart instance
change_type-5-fix

รอประมาณ 1-2 นาทีจนกว่าจะเป็นสถานะ✅ Runningเพื่อให้การ Start instance เสร็จสมบูรณ์
change_type-6

3. ตรวจสอบหน่วย Memory และ CPU อีกครั้ง

เข้ามาใน Windows Server เพื่อทำการตรวจสอบหน่วย Memory และ CPU อีกครั้ง
connect_to_windows-11

จากนั้นทำการตรวจสอบด้วย 3 วิธีดังนี้
3.1 ตรวจสอบที่หน้าจอ Desktop

Instance Size: r5a.xlarge
Architecture: AMD64
Total Memory: 32768 MB

change_type-7

3.2 ตรวจสอบที่ระบบ System

Processor       AMD EPYC 7571 2.20 GHz
Installed RAM   32.0 GB (31.6 GB usable)

change_type-8

3.3 ตรวจสอบที่ Task Manager

CPU                 AMD EPYC 7571
Virtual processors: 4
Memory              1.7/31.6 GB

change_type-9

สรุป

ถ้าใช้ AWS Cloud ก็จะสามารถปรับเปลี่ยนขนาดของ Memory ได้ง่ายมากๆ มาลองปรับใช้ขนาด Memory ให้มีความเหมาะสมเพื่อลดต้นทุนในการใช้งานกันดูนะครับ

บทความที่เกี่ยวข้อง