EC2 인스턴스를 생성하고 SSH로 연결한 후 해야 할 일
발행: (2026년 1월 31일 오후 04:41 GMT+9)
5 min read
원문: Dev.to
Source: Dev.to
🧭 큰 그림 먼저
이 시점에서 이미:
- EC2 인스턴스를 생성함
- SSH를 통해 연결함
이제 서버 안에 있습니다. 무엇을 설치하거나 변경하기 전에 현재 실행 중인 것이 무엇인지 이해해야 합니다.
🧱 단계 1 — 시스템 식별
1️⃣ OS 및 커널 확인
uname -a
목적
- OS 종류, 커널 버전, 아키텍처, 환경(AWS) 파악
왜 중요한가
- 사용할 도구(
dnf,systemctl) 결정 - 잘못된 명령어 사용 방지(예: Amazon Linux에서
apt사용)
📦 단계 2 — 패키지 관리 기본
2️⃣ 시스템 패키지 업데이트
sudo dnf update
목적
- 설치된 모든 소프트웨어를 최신 상태로 유지
- 보안 패치 적용
왜 중요한가
- 보안
- 안정성
- 새 서버에서의 모범 사례
3️⃣ 설치된 커널 조회
rpm -q kernel
목적
- 패키지 데이터베이스를 통해 커널 버전 확인
왜 중요한가
- 커널도 다른 패키지처럼 설치됨
- 업그레이드 및 디버깅 시 도움
4️⃣ nginx 설치
sudo dnf install nginx
목적
- 신뢰할 수 있는 저장소에서 nginx 다운로드 및 설치
왜 중요한가
- 올바른 소프트웨어 설치 방법 시연
- 의존성 자동 해결
5️⃣ nginx 설치 확인
rpm -q nginx
목적
- RPM 레벨에서 nginx 존재 여부 확인
왜 중요한가
- 설치 ≠ 실행
- 항상 설치 결과를 검증
⚙️ 단계 3 — 서비스 관리 (systemd)
6️⃣ nginx 서비스 상태 확인
sudo systemctl status nginx
목적
- nginx가 실행 중인지, 로그, PID, 가동 시간, 설정 검증 등을 표시
왜 중요한가
- 서비스는 가정이 아니라 모니터링해야 함
7️⃣ nginx 시작 (필요한 경우)
sudo systemctl start nginx
목적
- nginx 서비스를 시작
왜 중요한가
- 설치된 서비스는 자동으로 실행되지 않음
🌐 단계 4 — 기능 확인
8️⃣ 로컬 테스트
curl localhost
목적
- nginx가 내부적으로 응답하는지 확인
왜 중요한가
- Linux 문제와 AWS 네트워킹 문제를 구분
9️⃣ AWS에서 포트 80 열기
작업
- 보안 그룹(Security Group)에서 HTTP(포트 80) 허용
목적
- 외부 트래픽 허용
왜 중요한가
- AWS 방화벽은 기본적으로 트래픽을 차단함
📁 단계 5 — 안전하게 구성 파일 이해
🔟 nginx 설정 파일 안전하게 보기
sudo less /etc/nginx/nginx.conf
목적
- 주요 nginx 설정을 읽기 전용으로 확인
왜 중요한가
- 수정 전에 이해
- 프로덕션 설정 파손 방지
🧠 배운 핵심 개념
- Linux 커널 vs. OS
- 패키지 관리자(
dnf,rpm) - 설치된 소프트웨어와 실행 중인 소프트웨어 구분
- systemd와 서비스
- 안전한 설정 파일 검사
- 무중단 재로드
- 클라우드 네트워킹 기본
- 프로덕션 위생
🧩 정신 모델 (매우 중요)
EC2 instance
├── Linux OS
│ ├── kernel (rpm)
│ ├── packages (dnf)
│ └── services (systemctl)
│
├── nginx installed (rpm)
├── nginx running (systemd)
├── nginx configured (/etc/nginx)
└── traffic allowed (AWS SG)
🎯 현재 위치
이제 클라우드 상에서 Linux 서비스를 운영하고 이해할 수 있습니다. 이 기반을 바탕으로 다음 분야를 더 학습할 수 있습니다:
- Docker
- Kubernetes
- CI/CD
- SRE
- 플랫폼 엔지니어링