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

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

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

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

บทความนี้เป็นการ Update ของบทความต่อไปนี้

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

การ Create Key Pair

Key Pair เป็นกุญแจสำคัญในการเชื่อมต่อกับ EC2 Instance ซึ่งก่อนที่จะสร้าง EC2 Instance เราจะต้องสร้าง Key Pair เตรียมไว้ล่วงหน้า เพราะว่าถ้าไม่มี Key Pair ก็จะไม่สามารถสร้าง EC2 Instance ได้

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

เลือกKey Pairs

คลิกCreate key pair

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

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

การ Launch Instance

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

เลือกInstance

คลิกLaunch instances

มาที่หัวข้อ Name and tags
» Name:ec2-tinnakorn(ชื่ออะไรก็ได้)
» คลิกAdd additional tags

ถ้าได้หน้าตาแบบนี้ การเพิ่ม tag ก็ถือว่าเสร็จ

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

» เลือกAmazon Linux
» เลือกAmazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type

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

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

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

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

เลื่อนลงมาที่หัวข้อ Firewall (security groups)
จากนั้นเปลี่ยนชื่อ Security group name - required และ Description - required เป็นชื่ออะไรก็ได้ เช่นec2-tinnakorn

ถัดมาหัวข้อ 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

คลิกView all instances

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

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

การ Connect to EC2 by PuTTY

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

สำหรับผู้ใช้งานที่ยังไม่เคยใช้โปรแกรม 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
ใส่ชื่อที่ Saved Sessions เช่นec2-tinnakorn

การตั้งค่า 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)

» เลือกSSHAuth
» คลิกBrowse...

มาที่เก็บไฟล์ Key pair ของเรา เช่น This PC › Downloads
แล้วคลิกที่ Key pair ของเรา เช่นec2-tinnakorn.ppk
ตามด้วยคลิกOpen(หรือจะดับเบิ้ลคลิกที่ตัวไฟล์เลยก็ได้)

เมื่อ Browse ไฟล์.ppkเสร็จแล้ว คลิกที่Session

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

คลิกAccept

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

Using username "ec2-user".
Authenticating with public key "ec2-tinnakorn"

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@ip-172-31-17-166 ~]$


ทีนี้มาทดสอบการเข้าสู่ระบบในฐานะผู้ใช้ที่มีสิทธิ์ root โดยการเปลี่ยน ec2-user ให้เป็น root กันครับ

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

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


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

[root@ip-172-31-17-166 ~]# yum update -y    // รันคำสั่งนี้
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                               | 3.7 kB     00:00
No packages marked for update
[root@ip-172-31-17-166 ~]#

สรุป

การสร้าง EC2 Instance ขึ้นมาเพื่อใช้งาน จำเป็นจะต้องใช้ Key Pair ในการสร้าง Instance เพราะว่า Key Pair จะเป็นส่วนสำคัญที่ทำให้สามารถเชื่อมต่อกับ EC2 Instance ได้ นอกจากนี้ EC2 Instance สามารถนำไปปรับใช้ให้เข้ากับทรัพยากรที่ต้องการได้ เช่น การนำ IP Instance ไปตั้งค่าในโปรแกรม PuTTY เพื่อทำการเชื่อมต่อไปยัง Server Amazon Linux 2 บน EC2 จากนั้นก็จะทำให้สามารถเข้าไปจัดการระบบ Server ได้ตามต้องการ

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