우당탕탕
AWS EC2 프리티어 서버 처음 만들면서 겪은 삽질과 단계별 설정법 본문
AWS EC2 프리티어 서버를 처음 만들면서 생각보다 삽질을 많이 했어요. 특히 인스턴스 생성부터 보안 그룹 설정, SSH 접속까지 처음 해보면 막히는 부분이 한두 가지가 아니더라고요.
이 글에서는 제가 직접 겪은 좌충우돌 과정을 바탕으로, 프리티어 서버 만들기부터 접속, 기본 세팅까지 단계별로 꼼꼼하게 정리해봤어요. 각 단계별 구체적인 명령어와 설정값도 포함해서 그대로 따라 하면 쉽게 서버를 만들 수 있을 거예요.
AWS 프리티어 계정과 콘솔 접속부터 시작해요
사실 이 부분이 제일 간단할 줄 알았는데 의외로 로그인 후 서비스 찾는 게 살짝 헷갈렸던 기억이 있어요. AWS는 서비스가 워낙 많아서 EC2 대시보드 가는 길을 알면 시간을 아끼거든요.
- AWS 계정은 여기서 프리티어로 가입하세요.
- 가입 후 AWS Management Console에 로그인합니다.
- 상단 검색창에 EC2를 입력 후 클릭하면 EC2 대시보드로 이동해요.
이렇게 EC2 대시보드에 들어가면 인스턴스 생성부터 관리까지 한눈에 됩니다.
인스턴스 만들기 단계별 설정 이렇게 했어요
제가 처음에 가장 막혔던 부분이 바로 인스턴스 유형과 AMI 선택인데요. 프리티어 조건에 맞는 걸 골라야 무료로 쓸 수 있으니까요.
- AMI(Amazon Machine Image)에서 Amazon Linux 2 AMI (HVM), SSD Volume Type을 선택했어요. 이게 AWS에서 추천하는 프리티어용 이미지입니다.
- 인스턴스 유형은 t2.micro로 선택했는데요. 프리티어에서 무료로 제공하는 사양입니다.
- 스토리지는 기본 8GB gp2 SSD로 둬도 충분했어요.
이렇게 선택하고 다음 단계로 넘어가서 보안 그룹 설정을 해야 하는데, 여기서 SSH 접속이 안 되는 문제가 처음에 발생했어요.
보안 그룹 설정은 꼭 이렇게 하세요
많이들 헷갈려하시는 게 보안 그룹 설정이에요. 보안 그룹이 잘못 설정되면 SSH 접속이 막혀서 서버에 들어가지 못하거든요.
- 인바운드 규칙에 SSH (포트 22) 허용을 꼭 추가하세요.
- 소스는 처음엔 내 IP(내 컴퓨터 IP)로 제한하는 게 보안상 좋아요. 나중에 필요하면 IP 범위를 넓히면 됩니다.
- 추가로 웹 서비스를 하려면 HTTP (80) 포트도 열어두세요.
제가 이 부분 설정 안 해서 SSH 접속 실패 메시지가 계속 떠서 한참 헤맸는데, 보안 그룹 인바운드 규칙 확인만으로 해결됐어요.
SSH 키 페어 생성하고 접속하는 방법 알려드려요
처음에 키 페어에서 막히는 분 많아요. AWS EC2는 키 페어 없으면 SSH 접속이 안 돼서 반드시 만들어야 하거든요.
- EC2 생성 화면에서 새 키 페어 만들기를 클릭하세요.
- 키 페어 이름을 입력하고 키 다운로드(.pem 파일)을 꼭 저장하세요. 잃어버리면 접속 못 해요.
- 로컬 PC에서 다운받은 .pem 파일 권한을 변경해야 해요. 터미널에 다음 명령어를 입력하세요.
chmod 400 MyKeyPair.pem
권한 변경 후 다음과 같이 접속합니다.
ssh -i MyKeyPair.pem ec2-user@{퍼블릭IP}
{퍼블릭IP}는 EC2 대시보드에서 인스턴스 상세정보에 나와 있는 IPv4 퍼블릭 IP를 복사해서 넣으면 됩니다.
접속 후 초기 서버 세팅은 이렇게 했어요
접속이 되면 서버를 최신 상태로 업그레이드하는 게 먼저인데요, Amazon Linux 2는 yum으로 관리합니다.
sudo yum update -y
sudo yum install -y git nginx
이 명령어로 시스템 업데이트와 함께 git과 nginx를 설치했어요. nginx는 웹 서버 실행용입니다.
여기서 삽질했던 부분들
실제로 막혔던 에러 중에 "Permission denied (publickey)"라는 메시지가 처음에 계속 떴어요. 이게 ssh 키 권한 문제였는데, 해결법은 .pem 파일 권한을 400으로 변경하는 거였죠.
chmod 400 MyKeyPair.pem
또한, 보안 그룹에서 포트 22가 닫혀 있으면 SSH 접속 자체가 차단돼서 "Connection timed out" 에러가 났는데, 이 부분은 AWS 콘솔에서 인바운드 규칙 확인 후 해결했어요.
심화: 프리티어 서버 최적화 팁 하나 알려드릴게요
AWS 프리티어는 자원 제한이 엄격한 편이라 서버 부하가 걸리면 느려지기 쉬워요. 그래서 nginx 설정 중에서 worker_processes를 시스템 CPU 코어 수에 맞춰 설정하는 게 좋은데요.
다음 명령어로 코어 개수를 확인할 수 있어요.
nproc
출력된 숫자를 nginx 설정 파일 /etc/nginx/nginx.conf의 worker_processes 값에 넣으면 돼요.
자주 물어보시는 것들
Q. SSH 접속 시 "Permission denied (publickey)" 오류가 계속 뜰 때는 어떻게 해야 하나요?
A. 대부분은 키 페어 .pem 파일 권한 설정 문제예요. 터미널에서 chmod 400 MyKeyPair.pem 명령어를 꼭 실행하고 다시 접속 시도하세요. 그리고 접속 명령어에 키 파일 경로가 정확한지 확인해야 합니다.
Q. 인스턴스에 접속은 됐는데, nginx가 로컬에서 접속이 안 돼요.
A. 보안 그룹에서 인바운드 규칙에 HTTP(포트 80) 허용이 안 되어 있을 가능성이 큽니다. AWS 콘솔 EC2 보안 그룹 설정에서 80번 포트를 추가해 주세요.
직접 하나씩 셋업하면서 문제를 해결하다 보니 프리티어 서버 만드는 게 생각보다 어렵지 않다는 걸 알게 됐어요. 이 글에서 알려드린 명령어, 설정값 그대로 따라 하면 누구나 쉽게 AWS EC2 프리티어 서버를 만들 수 있습니다. 이제 이 서버에 원하는 앱이나 사이트도 올려 보세요!
'Tech > AWS' 카테고리의 다른 글
| AWS Lambda 비용 없이 사용하는 방법, 직접 세팅하며 겪은 삽질과 해결법 (0) | 2026.05.25 |
|---|---|
| AWS Lambda 비용 없이 사용하는 방법, 저도 직접 해보고 정리했어요 (0) | 2026.05.24 |
| AWS 비용 예상치 못하게 나왔을 때 원인 찾는 법, 제가 직접 겪은 사례로 풀어봤어요 (1) | 2026.05.23 |
| AWS S3 정적 웹사이트 호스팅에 CloudFront 연결하면서 겪은 삽질과 해결법 (0) | 2026.05.18 |
| AWS Lambda 비용 없이 사용하는 방법, 직접 세팅하며 겪은 삽질과 해결 (0) | 2026.05.17 |
