วิธีติดตั้ง Amazon Linux 2023 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY

การติดตั้ง Amazon Linux 2023 บน EC2 เราสามารถเลือก Instance Type หรือสเปคของ Instance ให้เหมาะสมกับการใช้งานในสภาพแวดล้อมของเราได้ตามต้องการ นอกจากนี้ EC2 Instance เป็นบริการประมวลผลแบบยืดหยุ่นที่สามารถปรับแต่ง Instance ได้ตามต้องการ และนำไปปรับใช้กับบริการอื่นๆ ได้มากมายครับ

สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ

ครั้งนี้จะมาอธิบายเกี่ยวกับการเปิดใช้งาน Amazon Linux 2023 บน EC2 ในเวอร์ชันใหม่ปี 2023 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY ด้วยขั้นตอนที่ละเอียดและเข้าใจง่าย ถ้าพร้อมแล้วไปดูกันเลยครับ

Amazon EC2 คืออะไร?

Amazon-EC2_icon

ชื่อเรียกอย่างเป็นทางการคือ Amazon Elastic Compute Cloud ซึ่งเป็นหนึ่งใน IaaS (Infrastructure-as-a-Service) ของ AWS สามารถสร้างและเรียกใช้งาน Virtual machine (คอมพิวเตอร์เสมือน) ได้หลากหลายสเปค นอกจากนี้ยังสามารถใช้งานร่วมกับ EBS (Elastic Block Store) และ ELB (Elastic Load Balancing) ได้อีกด้วย ซึ่งในบทความนี้ เราจะใช้ Amazon EC2 เพื่อสร้าง Server Linux

การสร้าง Key Pair

Key Pair เป็นกุญแจสำคัญในการเชื่อมต่อกับ EC2 Instance จากภายนอกโดยใช้โปรแกรมต่างๆ เช่น PuTTY, Bitvise, WinSCP, Tera Term, Visual Studio Code และอื่นๆ เป็นต้น
อย่างไรก็ตาม ต่อให้ไม่มี Key Pair ก็สามารถสร้าง EC2 Instance ได้ แต่เราจะไม่สามารถเชื่อมต่อกับ Instance จากภายนอกโดยใช้โปรแกรมที่กล่าวมาได้
ในกรณีที่สร้าง EC2 Instance โดยไม่มี Key Pair เราสามารถสร้าง Key Pair และนำไปเพิ่มใน Instance ได้ในภายหลังครับ

ดูวิธีการเปลี่ยน Key Pair ได้ที่ลิงก์บทความด้านล่างนี้ (ลิงก์บทความนี้เป็นการแนะนำการเปลี่ยน Key Pair ในกรณีที่ทำ Key Pair หาย แต่เราสามารถเพิ่ม Key Pair ในภายหลังได้โดยทำตามลิงก์นี้ครับ)
ควรทำอย่างไร? เมื่อทำ Key Pair หายไปจาก EC2 – บทความนี้มีคำตอบ

หากเราเข้าใจเกี่ยวกับ Key pair แล้วเรามาเริ่มสร้าง Key pair กันเลยครับ

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

เลือก Key Pairs จากเมนูด้านซ้าย

คลิก Create key pair

ใส่ชื่อที่ต้องการในช่อง Name เช่น tinnakorn-linux-2023 ตามด้วยเลือก .ppk และคลิก Create key pair

หลังจากสร้าง Key Pair เสร็จแล้ว จะมีลักษณะดังนี้
» มีข้อความแจ้งเตือนขึ้นมาว่า Successfully created key pair
» ไฟล์.ppkจะถูกดาวน์โหลดมาที่คอมพิวเตอร์และชื่อไฟล์จะเปลี่ยนไปตามที่เราได้ตั้งชื่อไว้โดยอัตโนมัติ

การเปิดใช้งาน Instance

การเปิดใช้งาน Instance จะดำเนินการใน Service EC2 เช่นเดียวกับการสร้าง Key Pair ครับ

เลือก Instances จากเมนูด้านซ้าย

คลิก Launch instances

มาที่หัวข้อ Name and tags
» Name: tinnakorn-linux-2023 (ชื่ออะไรก็ได้)

หัวข้อถัดมา Application and OS Images (Amazon Machine Image) - Instance จะมีเซิร์ฟเวอร์ให้เลือกใช้มากมาย เช่น macOS, Red Hat, SUSE Linux, Ubuntu, Microsoft Windows, Debian เป็นต้น
ในบทความนี้จะใช้ Amazon Linux 2023 AMI ในการติดตั้ง

» เลือก Amazon Linux
» เลือก Amazon Linux 2023 AMI

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

ค้นหา ?︎ t3a.micro และเลือก t3a.micro
ก็จะได้สเปค Family: t3a | 2 vCPU | 1 GiB Memory ตามที่เราเลือก

ถัดมาหัวข้อ Key pair (login)
เลือก Key pair name - required ที่สร้างไว้เมื่อสักครู่นี้ เช่น tinnakorn-linux-2023

ถัดมาหัวข้อ Network settings คลิก Edit

เลื่อนลงมาที่หัวข้อ Firewall (security groups)
แล้วเปลี่ยนชื่อ "Security group name" และ "Description" ตามต้องการ เช่น tinnakorn-linux-2023

ถัดมาหัวข้อ Inbound security groups rules - การตั้งค่า My IP เพื่อจำกัดการเชื่อมต่อ SSH จากทุกตำแหน่ง ซึ่งในส่วนนี้จะทำให้สามารถเชื่อมต่อ SSH จาก My IP (ที่อยู่ IP ปัจจุบันของคุณ) ได้เท่านั้น และในกรณีที่ใช้ HTTP จะเป็นการแสดงผลหน้าเว็บไซต์นั่นเอง

» เปลี่ยน Source type ของ ssh ให้เป็น Source type: My IP

ถัดมาหัวข้อ Configure storage - เราสามารถเพิ่ม Storage ในส่วนของ Size (GiB) ได้ โดยค่าเริ่มต้นจะเป็น 8 GB
ในตัวอย่างนี้จะใช้เป็นค่าเริ่มต้น ก็จะไม่ทำการตั้งค่าใดๆ

เมื่อตั้งค่าทุกอย่างเสร็จแล้ว มาที่หัวข้อ Summary ด้านขวา
แล้วตรวจสอบรายละเอียดการตั้งค่า และคลิก Launch instance

เมื่อแสดงหน้าจอแบบนี้แล้ว ระบบจะเริ่มต้นเปิดใช้งาน Instance ตามที่เราตั้งค่าไว้
ทีนี้ให้คลิกที่ (i-xxxxxxxxxx) หรือเลื่อนลงมาด้านล่างสุด แล้วคลิก View all instances ก็ได้ครับ

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

เมื่อระบบเปิดใช้งาน Instance เสร็จแล้ว จะมีสถานะเป็น ✅ 2/2 checks passed

การเชื่อมต่อกับ EC2 Instance ด้วย PuTTY

ขั้นตอนนี้จะทดสอบ Login เข้าใช้งาน Server ของ Amazon Linux 2023

สำหรับผู้ใช้งานที่ยังไม่เคยใช้โปรแกรม PuTTY สามารถคลิกลิงก์ Download PuTTY ได้เลย
หากผู้ใช้งานที่มีโปรแกรม PuTTY อยู่แล้ว ให้ข้ามขั้นตอนการดาวน์โหลดโปรแกรมไปได้เลยครับ

การดาวน์โหลดและติดตั้งโปรแกรมควรเลือกให้ตรงกับระบบ Windows ของเรา เช่น ถ้าระบบ Windows ของเราเป็น 64-bit ก็ให้เลือกดาวน์โหลดเป็น64-bit x86เป็นต้น ซึ่งในปัจจุบันนี้ 32-bit ก็ไม่ค่อยมีแล้ว หรือ อาจจะพบได้ในคอมพิวเตอร์รุ่นเก่าที่มีขนาด RAM ต่ำกว่า 4 GB นั่นเอง ทั้งนี้ทั้งนั้นเพื่อความชัวร์ !แนะนำให้ตรวจสอบระบบ Windows ของเราก่อนดาวน์โหลดและติดตั้งโปรแกรมจะดีที่สุดครับ

เมื่อเรามีโปรแกรม PuTTY แล้ว ให้เปิดโปรแกรม PuTTY เตรียมไว้
แล้วไปที่หน้า Instance ของเราเพื่อคัดลอก Public IPv4 address มาใส่ที่ Host Name ใน PuTTY

PuTTY Configuretion

กลับมาที่หน้า PuTTY แล้วตั้งค่าเพื่อทดสอบ Login ไปยัง Server ตามขั้นตอนด้านล่างนี้

การตั้งค่า Basic options for your PuTTY session นี้คือ
» เลือก Session
» นำ Public IPv4 address ที่คัดลอกมาสักครู่นี้มาวางที่ "Host Name (or IP address)"
» ป้อนชื่อที่ Saved Sessions เช่น tinnakorn-linux-2023

การตั้งค่า Options controlling the connection นี้คือ
» เลือก Connection
» ป้อนค่าการเชื่อมต่อที่ช่อง Seconds between keepalives (0 to turn off): 60

การตั้งค่า Data to send to the server นี้คือ
» เลือก Data
» ป้อน Auto-login username: ec2-user (โปรดระวังในส่วนนี้ด้วย เนื่องจากไม่ใช่ "ubuntu" และ "bitnami")

» คลิก +SSH › +Auth › Credenials
» คลิก Browse... ที่ Private key file for authentication แล้วเลือกไฟล์ Key pair ของเรา เช่น tinnakorn-linux-2023.ppk

แล้วจะแสดง Path ตามที่เราเลือก จากนั้นคลิก Session จากเมนูด้านซ้ายอันแรก

เมื่อกลับมาที่หน้า Session แล้ว ทำการบันทึกการตั้งค่าดังนี้
» คลิก Save
» ชื่อที่เราป้อนไว้จะไปอยู่ในช่องตามลูกศร ทีนี้ให้คลิกที่ชื่อเรา (สามารถดับเบิ้ลคลิกเพื่อ Login ได้เลย)
» คลิก Open หรือดับเบิ้ลคลิกที่ชื่อ Session ของเราได้เลย

คลิก Accept

เมื่อเข้ามาแล้วจะได้หน้าตาแบบนี้โดยมี username "ec2-user" ก็คือเราสามารถ Login เข้ามายัง Amazon Linux 2023 ได้แล้ว

ec2-user@ip-xx-xx-xx-xx:~

Using username "ec2-user".
Authenticating with public key "tinnakorn-linux-2023"
   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
[ec2-user@ip-xx-xx-xx-xx ~]$


ทีนี้มาลองรันคำสั่งพื้นฐานของ Linux กันครับ

รันคำสั่ง sudo su - นี้เพื่อเข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ root

root@ip-xx-xx-xx-xx:~

[ec2-user@ip-xx-xx-xx-xx ~]$ sudo su -    // รันคำสั่งนี้
[root@ip-xx-xx-xx-xx ~]#


รันคำสั่ง yum update -y นี้เพื่อ Update server ให้เป็นปัจจุบันเสมอ

root@ip-xx-xx-xx-xx:~

[root@ip-xx-xx-xx-xx ~]# yum update -y    // รันคำสั่งนี้
Last metadata expiration check: 0:32:07 ago on Tue Jul 25 10:36:59 2023.
Dependencies resolved.
Nothing to do.
Complete!
[root@ip-xx-xx-xx-xx ~]#

สรุป

การสร้าง EC2 Instance เราจะสร้างโดยใช้ Key Pair หรือไม่ใช้ Key Pair ก็ได้ หรือหากสร้างโดยไม่ใช้ Key Pair ไปแล้วต้องการเพิ่ม Key Pair ในภายหลัง ก็สามารถทำได้เช่นกัน

  • กรณีที่ใช้ Key Pair: สามารถเชื่อมต่อกับ Instance จากภายใน AWS Management Console และเชื่อมต่อกับ Instance จากภายนอกโดยใช้โปรแกรมต่างๆ ได้
  • กรณีที่ไม่ใช้ Key Pair: สามารถเชื่อมต่อกับ Instance จากภายใน AWS Management Console แต่ไม่สามารถเชื่อมต่อกับ Instance จากภายนอกโดยใช้โปรแกรมต่างๆ ได้

ดาวน์โหลดโปรแกรมสำหรับเชื่อมต่อกับ Instance โดยใช้ Key Pair ได้ที่นี่:

* โปรแกรมเหล่านี้เป็นโปรแกรมที่ผมเคยใช้งานมาแล้ว แต่ผมคิดว่าอาจมีโปรแกรมอื่นๆ ที่สามารถใช้เชื่อมต่อกับ Instance ได้เช่นเดียวกันกับที่กล่าวมานี้ครับ

ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ

POP จากบริษัท Classmethod (Thailand) ครับ !

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