개발일기

AWS EC2 인바운드 규칙, 포트 설정 하기 본문

배포/aws

AWS EC2 인바운드 규칙, 포트 설정 하기

황대성 2025. 4. 18. 04:23

📋 개요

EC2 인스턴스를 만들고 나면 "보안 그룹(Security Group)"이라는 걸 설정하라는 말이 나온다.

이게 바로 방화벽 역할을 하는데, 그 중에서도 중요한 게 바로 인바운드 규칙이다.

설정을 해보자.


📜 인바운드 규칙이란?

 

"누가, 어떤 방식으로, 내 서버(EC2)에 접근할 수 있게 할 것인가?"

를 정하는 거다.
예를 들어, 브라우저에서 https://내사이트.com으로 접속하거나, 터미널에서 EC2에 접속할 수 있으려면,

그에 맞는 **포트(port)**를 열어줘야 한다.


🚪 포트 번호란?

포트는 컴퓨터에서 특정 서비스로 연결되는 문 같은 거다.

프로토콜 마다 정해진 포트가 있는데 이것은 "정해진 약속" 이라고 한다.

HTTP로 443 포트를 사용할 순 있지만 브라우저에 포트를 입력해 주어야 한다.

브라우저 또한 "정해진 약속"을 잘 지키는가 보다.


 

프로토콜 포트 번호설명
SSH 22 터미널로 EC2 접속할 때 사용
HTTP 80 일반 웹사이트 접속 (http://)
HTTPS 443 보안 웹사이트 접속 (https://)
커스텀 3000 개발중인 서버

 

✅ 인바운드 규칙 예시

타입 프로토콜 포트 소스 (접속 허용 대상) 설명
SSH TCP 22 내 IP 내 컴퓨터에서만 접속 허용
HTTP TCP 80 0.0.0.0/0 누구나 접속 가능 (http://)
HTTPS TCP 443 0.0.0.0/0 누구나 접속 가능 (https://)
Custom TCP TCP 3000 0.0.0.0/0 개발용 포트 열기

 

📦 TCP란? (Transmission Control Protocol)

  • 컴퓨터들끼리 데이터를 주고받는 방식 중 하나 이다.
  • 이메일, 웹사이트, 파일 다운로드 등 거의 대부분의 인터넷 서비스가 TCP 기반이다.

📌 0.0.0.0/0 은 누구의 접속을 허용하는 걸까?

소스에 0.0.0.0/0 을 넣으면 전 세계 누구나 접속 가능하다는 뜻이다.

그렇기 때문에 SSH에는 절대 사용하면 안되고, 내 IP에서만 접속 가능하도록 선택해야 한다.


🔒 보안을 위한 길

  • SSH 포트(22)는 내 IP 주소만 허용 하도록 설정하자.
  • 배포한 웹사이트는 HTTP(80) 또는 HTTPS(443)만 열면 된다.
  • 개발 중이라면 3000 같은 포트도 열 수 있지만, 서비스할 땐 닫는 게 좋다.

❓ 배포하려는 사이트가 HTTPS만 쓰는 경우는 어떻게 해야할까

간단하게 443 포트만 열면 된다.

하지만 사람들이 실수로 http://example.com으로 접속할 수도 있으니,
80 포트도 열고 443으로 자동 리디렉션 해주는게 일반적 이다.


🛠 설정하는 곳

AWS 콘솔 > EC2 > 인스턴스 > 네트워크 보안 > 보안 그룹 > 인바운드 규칙 수정


마무리

인바운드 규칙을 설정하기 위해 찾아보면서 내가 궁금했던 것들을 마구잡이로 적었다.

글을 적으면서 느끼는 거지만 AWS는 보안이 정말 중요한 것 같다.

모든 것이 보안으로 밖에 보이지 않는다.

차근차근 또 해보자.