본문 바로가기

Server

[AWS] EC2 인스턴스와 SSH를 연결할 때 "Connection timed out" 에러

어제까지만 해도 SSH에 잘 접속되던게 갑자기 되지 않았다. Connection timed out..?

 

Whyrano

 

해결법 : 인스턴스 보안그룹의 인바운드 규칙을 수정하자

 

1. EC2 > 인스턴스 > 보안 > 보안 그룹 선택

 

 

2. Edit inbound rules 선택

 

3. 유형을 SSH로, 소스를 내 IP로 선택하고 규칙 저장

 

만약 모든 IP에서 EC2 인스턴스로 SSH 접속을 허용 접속을 허용하고 싶다면 SSH, TCP, 22, 0.0.0.0/0 으로 규칙을 설정한다.

 

사실 나는 보안 그룹을 수정한 적이 없는데, 뭔가 변경되었나보다.

 

재실행하면 접속 성공!

 

인바운드와 아웃바운드란?

 

  • Inbound: 외부에서 EC2 인스턴스로 들어오는 트래픽. 대표적인 것들로는 HTTP, HTTPS, SSH, RDP 등이 있다.
  • Outbound: EC2 인스턴스에서 외부로 나가는 트래픽. EC2 인스턴스 안에서 인터넷을 사용할 경우 Outbound라 할 수 있다. 대표적으로 파일을 다운로드하거나, 외부 SSH로 접속하는 것 등이 있다.
  • Type: 프토토콜 형태. 프로토콜은 크게 TCP, UDP, ICMP로 나눌 수 있다.
  • Port, Port Range: 포트 번호이다. TCP, UDP 프로토콜은 0~65535 사이의 포트 번호를 사용하게 된다(ICMP는 포트 번호를 사용하지 않는다). 우리가 익히 알고 있는 HTTP는 80번 SSH는 22번처럼 각 서버 애플리케이션들은 고유의 포트 번호를 사용하고 있다.
  • Source/Destination: 연결 혹은 접속 가능한 IP 대역을 뜻한다. Inbound 일 경우 Source, Outbound일 경우 Destination이라 부른다. IP 주소 하나만 지정할 수도 있고 CIDR 표기 방법을 이용하여 일정한 대역을 설정할 수 있다.
  • Rule: 지금까지 설명한 Inbound, Outbound, Type, Port, Source/Destination을 조합한 것을 Rule(규칙)이라고 한다.

Reference :

 

AWS Amazon EC2 Linux 인스턴스용 사용설명서 - 인스턴스 연결 문제 해결

AWS Amazon EC2 Linux 인스턴스용 사용설명서 - Linux 인스턴스의 인바운드 SSH 트래픽에 대한 규칙 추가