การใช้งาน SSM เชื่อมต่อเข้า AWS EC2 Instance โดยไม่ต้องมี Inbound

2022.09.28

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

มีการอัพเดทวิธีในการใช้งาน SSM ใหม่
โปรดดูวิธีการใช้งาน SSM เชื่อมต่อเข้า AWS EC2 Instance โดยไม่ต้องมี Inbound เวอร์ชั่นอัพเดทของบทความต่อไปนี้

- [Update] การใช้งาน SSM Role เชื่อมต่อเข้า AWS EC2 Instance โดยไม่ต้องมี Inbound rules | DevelopersIO

เคยรู้สึกยุ่งยากเวลาต้องมาคอยอัพเดท myIP ใน inbound Security Group เวลาต้องการเข้าใช้งาน SSH ของ EC2 Instance
สำหรับคนที่รู้สึกยุ่งยากแบบผม วันนี้ ผม ต้า จะมาแนะนำการเชื่อมต่อเข้า EC2 Instance โดยไม่ต้องใช้ SSH Key หรือ Key Pair แต่เราจะใช้ Session Manager ในการเชื่อมต่อกัน

จะเป็นยังติดตามได้ในบทความนี้ได้เลยครับ

สำหรับใครที่อยากอ่านรายละเอียดเพิ่มเติมเกี่ยวกับ SSM สามารถอ่านได้ที่ลิ้งค์ต่อไปนี้ได้เลยครับ
What is AWS Systems Manager? - AWS Systems Manager

สร้าง IAM Role สำหรับ EC2 Instance

ในขั้นตอนแรกเราจะมาสร้าง IAM Role สำหรับ EC2 Instance กันครับ
โดยให้ไปที่ Service IAM แล้วไปที่ Roles Create role ครับ

เลือก AWS service EC2 Next ครับ

พิมพ์ AmazonEC2RoleforSSM เลือกติ้กถูก Policy name AmazonEC2RoleforSSM Next ครับ

ตั้งชื่อ Role เลื่อนลงมาล่างสุด กด Create role ครับ

เท่านี้ก็ถือว่าสร้าง IAM Role สำหรับ EC2 Instance เสร็จเรียบร้อยแล้วครับ

สร้าง EC2 Instance

ให้เราสร้าง EC2 Instance OS Linux ครับ
โดยสามารถสร้างตามลิ้งค์ด้านล่างได้เลยครับ แต่ไม่จำเป็นต้องตั้งค่า Port ใน Inbound Security Group ครับ(ปล่อยว่าง) และครั้งนี้ไม่จำเป็นต้องใช้ KeyPair ในส่วนตอนสร้างให้เราเลือกเป็น Proceed without a key pair (Not recommended) ได้เลยครับ เพราะเราจะเชื่อมต่อแบบ SSM กันนั่นเองครับ

หลังจากที่เราสร้างเสร็จแล้ว ให้เราใส่ IAM Role ลงไปใน Instance ครับ
ใครจะใส่ตั้งแต่ตอนสร้างเลยก็ได้นะครับ แต่ผมจะสอนใส่หลังจากสร้าง Instance เสร็จแล้วครับ

ให้เราเลือก Instance ที่เราสร้างขึ้น กด Actions Security Modify IAM Role ครับ

เลือก Role ที่เราสร้างขึ้น แล้วกด Update IAM Role แล้วหลังจากนั้นให้เราทำการกด Stop Instance แล้ว Start Instance เพื่อทำการ Reset การตั้งค่า

ให้เราเลือก Instance ที่เราสร้างขึ้น กด Connect ครับ

เลือก Session Manager กด Connect ครับ

จะเห็นว่าเราสามารถเข้ามาใน EC2 Instance แบบคล้ายๆกับ SSH ได้แล้วครับ

งั้นผมจะลองให้ Command ทั่วไปเพื่อแสดงให้เห็นว่าเราใช้งานได้จริงกันนะครับ

sudo su -
yum update -y
ll

ผลลัพท์

สรุป

ก็จบไปแล้วครับสำหรับการเชื่อมต่อ EC2 Instance ผ่าน Session Manager ที่เป็น 1 ในฟังก์ชั่นของ Systems Manager ครับ
สำหรับใครที่อยากอ่านรายละเอียดเพิ่มเติมเกี่ยวกับ SSM สามารถอ่านได้ที่ลิ้งค์ต่อไปนี้ได้เลยครับ
What is AWS Systems Manager? - AWS Systems Manager