개발일기
AWS EC2 인바운드 규칙, 포트 설정 하기 본문
📋 개요
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는 보안이 정말 중요한 것 같다.
모든 것이 보안으로 밖에 보이지 않는다.
차근차근 또 해보자.
'배포 > aws' 카테고리의 다른 글
AWS EC2 배포 환경 만들기 (준비하기) (0) | 2025.04.19 |
---|---|
EC2에 내 프로젝트 클론하기, 리눅스 명령어 파악하기, env파일 생성하기 (0) | 2025.04.18 |
EC2 생성하기 및 탄력적 IP 연결하기, 인스턴스 연결하기 (0) | 2025.04.16 |