วิธีแก้ปัญหาการเชื่อมต่อ Security Group

การเกิดปัญหา Connection timed out เป็นเพราะว่า Security Group ที่เชื่อมต่อกับ EC2 นั้นจะอนุญาตการเชื่อมต่อ SSH จาก My IP เท่านั้น สามารถแก้ไขได้โดยเปลี่ยน IP Address ใน Security Group ให้ตรงกับเราท์เตอร์อินเทอร์เน็ตที่เรากำลังใช้งานอยู่ ก็จะทำให้กลับมาเชื่อมต่อ Server ได้ตามปกติ

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

ในบล็อกนี้ ผมจะมาเขียนบล็อกเกี่ยวกับวิธีแก้ปัญหาการเกิด Connection timed out ในขณะที่ทำการเชื่อมต่อ SSH ไปยัง Server Linux EC2 ด้วย PuTTy ซึ่งผมได้เจอปัญหานี้มาและทำการแก้ไขให้กลับมาใช้งานได้ปกติ ก็เลยอยากจะมาแบ่งปันและแนะนำให้กับเพื่อนๆ
S-G-P-1

โดยปกติแล้ว หลังจากที่ทำการเชื่อมต่อ SSH ไปยัง Server Linux EC2 ด้วย PuTTy แล้ว โปรแกรมจะสามารถเข้าถึง Server Linux EC2 ได้และมีลักษณะเหมือนกับรูปภาพด้านล่างนี้
S-G-P-2

สถานการณ์เมื่อเกิดปัญหา

ถ้าเราท์เตอร์ของที่บ้านตัวเองหรือที่ทำงานมีการรีสตาร์ท จะทำให้ IP Address มีการเปลี่ยนแปลง และจะเกิดปัญหา Connection timed out ตามมา สาเหตุก็เป็นเพราะว่า Security Group ที่เชื่อมต่อกับ EC2 นั้นจะอนุญาตการเชื่อมต่อ SSH จาก My IP เท่านั้น

การตรวจสอบ IP Address ปัจจุบัน

ค้นหาคำว่าip address current
S-G-P-9-IP

IPv4นี้คือ IP Address ปัจจุบันที่เรากำลังใช้งานอยู่
S-G-P-10-IP

วิธีเปลี่ยน IP Address ของ Security Group

เรามาเริ่มทำการแก้ปัญหาโดยการเปลี่ยน IP Address ของ Security Group ไปพร้อมๆ กันเลยครับ

ค้นหา?︎ EC2» เลือกEC2
S-G-P-3

คลิกInstances
S-G-P-4

คลิกInstance IDที่เราสร้างขึ้นมา
S-G-P-5

เลื่อนลงมาด้านล่าง » เลือกSecurity»คลิก❐ Security groups name
S-G-P-6

ให้ดูที่ Type:SSH| Source:IP Address/32เราจะแก้ไขในส่วนนี้ จากนั้นคลิกEdit inbound rules
S-G-P-7

ก่อนที่จะทำการเปลี่ยน IP Address ในส่วนของ Type:SSH นี้ให้ทำการเช็ก IP Address ที่การตรวจสอบ IP Address ปัจจุบัน จะเห็นว่า IP Address นั้นไม่ตรงกัน
S-G-P-8

ให้ทำการเปลี่ยน IP Address ให้เป็นปัจจุบันตามขั้นตอนด้านล่างนี้
คลิกCustom ▼
เลือกMy IP
S-G-P-11

จะเห็นว่า IP Address เดิมถูกเปลี่ยนเป็นปัจจุบันแล้ว จากนั้นคลิกSave rules
S-G-P-12

ให้ดูที่ Type:SSH| Source:IP Address/32ตามรูปภาพด้านล่างนี้และดูที่การตรวจสอบ IP Address ปัจจุบันอีกครั้ง จะเห็นว่า IP Address ทั้งสองนั้นตรงกันแล้ว
S-G-P-13

วิธีเชื่อมต่อ Linux Server ของ EC2 ด้วย PuTTy โดยใช้การตั้งค่าเดิม

คลิกขวาที่แถบด้านบน » เลือกNew Session...
S-G-P-14

เลือกec2-tinnakorn » คลิกLoad

!ec2-tinnakornนี้คือชื่อที่เราทำการบันทึกการตั้งค่าก่อนหน้านี้ ซึ่งถ้ากดLoadก็จะทำให้ดึงข้อมูลการตั้งค่าก่อนหน้านี้กลับมาทั้งหมด
S-G-P-15

จะเห็นว่าในส่วนของ Host Name จะมี Public IPv4 address ของ EC2 Instance ที่เคยกำหนดค่าไว้แสดงขึ้นมา รวมถึงข้อมูลอื่นๆ อีกด้วย เช่น Connection Data หรือ SSH เป็นต้น จากนั้นคลิกOpen
S-G-P-16

เพียงเท่านี้ก็สามารถเชื่อมต่อ Server Linux EC2 ได้แล้ว
S-G-P-17

สรุป

เมื่อมีการรีสตาร์ทเราท์เตอร์หรือเปลี่ยนการใช้งานอินเทอร์เน็ตในสถานที่ต่างๆ ก็จะทำให้ IP Address ที่กำลังใช้อยู่นั้นถูกเปลี่ยนไปด้วย ก็เลยทำให้เกิด Connection timed out จึงไม่สามารถเชื่อมต่อ Server Linux EC2 ได้ เป็นเพราะว่า Security Group ที่เชื่อมต่อกับ EC2 นั้นจะอนุญาตการเชื่อมต่อ SSH จาก My IP เท่านั้น