EC2 Instance Connect
ผมอยากจะแนะนำวิธีเชื่อมต่อ EC2 ที่ง่ายกว่า SSH แบบดั้งเดิม นั่นก็คือ EC2 Instance Connect
วิธีใช้คือ กดไปที่ "My First Instance" แล้วคลิกปุ่ม "Connect" ด้านบน คุณจะเห็นตัวเลือกหลายแบบ รวมถึง SSH Client ที่เราเคยใช้ก่อนหน้านี้
สิ่งที่ผมอยากให้ดูคือ EC2 Instance Connect ที่ช่วยให้เราเปิด SSH session ผ่านเว็บเบราว์เซอร์ เพื่อเข้าถึง EC2 Instance ได้โดยตรง
การเชื่อมต่อ
- เมื่อเปิดขึ้นมา ระบบจะแสดง Public IP Address ให้เราตรวจสอบ ซึ่งถูกต้องแล้ว
- ค่า Username จะถูกกำหนดให้อัตโนมัติเป็น
ec2-userเพราะ AWS เดาว่าเรากำลังใช้ Amazon Linux 2 ซึ่งผู้ใช้ที่ถูกต้องก็คือec2-user - แม้ว่าเราจะสามารถแก้ไข username ได้ แต่จริง ๆ จะเชื่อมต่อได้ก็ต่อเมื่อใช้
ec2-userเท่านั้น
สิ่งที่น่าสังเกตคือ ไม่มีตัวเลือก SSH Key เพราะระบบจะอัปโหลด Temporary SSH Key ให้เองเพื่อสร้างการเชื่อมต่อ ดังนั้นเราไม่ต้องจัดการ SSH Keys เองเลย ซึ่งผมมองว่าเป็นข้อดีมาก
จากนั้นเพียงคลิก "Connect" จะเปิดแท็บใหม่ และในไม่กี่วินาทีเราก็จะเข้าไปยัง Amazon Linux 2 AMI พร้อมใช้คำสั่ง เช่น whoami หรือ ping google.com ได้ทันที
จุดที่เจ๋งคือ ทุกอย่างทำงานใน Browser โดยไม่ต้องเปิด Terminal หรือโปรแกรมอื่น ๆ
ความยืดหยุ่นในการใช้งาน
ในคอร์สนี้ เวลาที่ผมพูดว่า “ใช้ SSH” คุณสามารถเลือกวิธีใดก็ได้ เช่น
- Terminal ของตัวเอง
- MobaXterm
- PuTTY
- SSH command บน Windows, Linux หรือ Mac
- หรือจะใช้ EC2 Instance Connect ก็ได้
แม้ว่าภายในเบื้องหลัง EC2 Instance Connect จะยังคงใช้ SSH อยู่ แต่เราไม่ต้องยุ่งกับ SSH Keys เลย
การตั้งค่า Security Group สำหรับ EC2 Instance Connect
เพื่อให้ EC2 Instance Connect ใช้งานได้ เราต้องตรวจสอบการตั้งค่า Security Group
- ไปที่ Instance → เลือก Security Group
- กด Edit inbound rules
- ถ้าลบกฎ SSH (port 22) ออก แล้วลองเชื่อมต่อใหม่ จะขึ้นว่าเชื่อมต่อไม่ได้
ดังนั้น เราต้องกลับไปเพิ่ม Inbound rule อีกครั้ง:
- SSH (port 22) จาก Anywhere (IPv4)
- ถ้าใช้ IPv6 ก็ต้องเพิ่มกฎ SSH (port 22) จาก Anywhere (IPv6) ด้วย
เมื่อแก้ไขเรียบร้อยแล้ว เราก็สามารถเชื่อมต่อเข้า Instance ได้สำเร็จ
สรุป (Key Takeaways)
- EC2 Instance Connect = เครื่องมือที่ให้เรา SSH เข้า EC2 ผ่าน Browser โดยไม่ต้องจัดการ SSH Keys เอง
- สำหรับ Amazon Linux 2 AMI → Username เริ่มต้นคือ
ec2-user - ต้องเปิด Port 22 ใน Security Group (ทั้ง IPv4 และ IPv6 ถ้าจำเป็น) จึงจะเชื่อมต่อได้
- วิธีนี้ยังใช้ SSH อยู่เบื้องหลัง แต่ช่วยลดภาระเรื่องการจัดการกุญแจ SSH