[AWS #4] EC2 서버 방화벽 & Shell 기본

도경원's avatar
Oct 01, 2025
[AWS #4] EC2 서버 방화벽 & Shell 기본
이번 글에서는 AWS EC2 인스턴스를 임대하고, 방화벽(보안 그룹) 설정과 Shell 개념을 정리한다.
앞선 네트워크 기본기(패킷, IP, 포트)에 이어 실습으로 연결되는 부분이다.

1. EC2 서버 임대하기

  • AWS에서 서버를 임대한다는 것은 곧 운영체제(OS)가 설치된 가상 컴퓨터를 빌린다는 의미다.
  • 예: Ubuntu 운영체제를 선택 → EC2 위에 Ubuntu OS 설치됨.
  • 사용자는 인터넷을 통해 퍼블릭 IP로 접속한다.
👉 이때 보안 그룹(Security Group)이 일종의 방화벽 역할을 한다.

2. 방화벽(보안 그룹)의 역할

notion image
  • AWS의 EC2 인스턴스는 보안 그룹(Security Group)을 통해 네트워크 포트를 관리한다.
  • 원칙: 모든 포트(0~65535)는 기본적으로 차단.
  • 필요할 때만 특정 포트를 열어준다.
    • 예: 22번 포트(SSH) → 원격 접속 허용
    • 예: 80번 포트(HTTP) → 웹 서비스 접속 허용
    • 예: 443번 포트(HTTPS) → 보안 웹 접속 허용
✅ 즉, 내 로컬 컴퓨터에서 EC2 서버로 SSH 접속하려면 22번 포트를 보안 그룹에서 열어야 한다.

3. SSH와 22번 포트

  • SSH (Secure Shell): 서버 원격 접속을 위한 프로토콜.
  • 기본 포트: 22
  • 명령 예시:
    • ssh -i doythan-aws-key.pem ubuntu@<EC2_PUBLIC_IP>
  • 보안 그룹에서 22번 포트를 열어두지 않으면 접속 자체가 차단된다.
👉 보안 원칙상, 22번 포트는 “내 IP만 허용”으로 제한하는 것이 안전하다. (0.0.0.0/0 전체 오픈은 위험)

4. Shell의 개념

notion image
  • 사람 ↔ 운영체제 ↔ 하드웨어 구조
    • 사람은 명령어(Command)를 입력한다.
    • OS가 이를 해석하고 CPU, RAM 같은 하드웨어 자원에 전달한다.
    • 결과를 다시 사용자에게 보여준다.
  • 이때 OS와 사용자 사이에서 다리 역할을 하는 것이 바로 Shell이다.

자주 쓰는 Shell 명령어

  • cd: 폴더 이동
  • mkdir: 폴더 생성
  • ls (리눅스) / dir (윈도우): 파일 목록 조회
👉 AWS EC2에 접속하면 결국 Shell 환경에서 서버를 조작하게 된다.

5. 정리

  • AWS EC2 인스턴스를 띄우면, 기본적으로 보안 그룹(방화벽)이 모든 포트를 막는다.
  • 필요한 포트(SSH 22, HTTP 80, HTTPS 443 등)만 선택적으로 열어야 한다.
  • EC2 접속은 SSH(22번 포트)로 하며, Shell을 통해 명령어로 서버를 다룬다.
  • 결국 “서버 임대 → 방화벽 설정 → SSH 접속 → Shell에서 제어” 흐름이 기본기다.

Share article

Gyeongwon's blog