졸프에서 AWS EC2로 연동서버를 만들 예정이다. 물론 평소에 AWS를 공부하고 있긴하지만 실 프로젝트에서 적용하는 것은 처음이므로 그래도 자세히 들여다보기로함!
1. 인스턴스 이름 및 AMI (Amazon Machine Image)
AMI 선택
- AMI란? 인스턴스에서 사용할 운영체제(OS)와 기본 소프트웨어 구성이 저장된 이미지.
- 예시:
- Amazon Linux 2
- Ubuntu Server 20.04 LTS
- Windows Server
- Custom AMI (사용자가 만든 이미지)
2. 인스턴스 유형 (Instance Type)
인스턴스 유형이란?
- 인스턴스가 사용할 CPU, 메모리, 네트워크 성능 등을 결정하는 스펙.
- 유형은 사용 목적에 따라 선택함.
| 유형 | 설명 | 예시 |
|---|
t 시리즈 (t2, t3) | 저렴하고 범용적인 버스트 성능 | t2.micro (프리티어) |
m 시리즈 | 범용 – CPU/메모리 균형 | m5.large |
c 시리즈 | 컴퓨팅 최적화 | c5.large |
r 시리즈 | 메모리 최적화 | r5.large |
g, p, inf | GPU 인스턴스 (딥러닝 등) | g4dn.xlarge |
i, d, h | 스토리지 최적화 | i3.large |
3. 키 페어 (Key Pair)
키 페어란?
- SSH 로그인에 사용되는 인증 수단 (공개키/비공개키).
- Linux 인스턴스의 경우 비밀번호 로그인은 불가능하고 오직 키 페어로 접속.
- 새 키페어 생성 시
.pem 파일을 꼭 다운로드 후 보관해야 함 (재발급 불가).
4. 네트워크 설정 (VPC, 서브넷)
VPC (Virtual Private Cloud)
- 인스턴스가 속하게 될 가상 네트워크.
- 기본 VPC가 제공되지만, 보통 직접 구성한 VPC와 서브넷 사용.
Subnet
- VPC 내의 네트워크 구역.
- 퍼블릭 서브넷: 외부 인터넷 연결 가능 (보통 웹 서버 배포에 사용)
- 프라이빗 서브넷: 외부 인터넷 차단 (DB 서버 등 보안 중요 리소스)
5. 방화벽 설정 (보안 그룹)
보안 그룹 (Security Group)
- 인스턴스에 대한 트래픽 허용 규칙 설정 (일종의 가상 방화벽).
- 규칙은 포트, IP, 프로토콜 기준으로 설정 가능.
| 예시 | 설명 |
|---|
| 22번 포트 | SSH 접속 허용 |
| 80번 포트 | HTTP 접속 허용 (웹서버) |
| 443번 포트 | HTTPS 접속 허용 |
IP 범위를 0.0.0.0/0으로 설정하면 누구나 접근 가능 → 주의
6. 저장소 구성 (EBS)
루트 볼륨 (Root Volume)
- 인스턴스의 운영체제가 설치되는 디스크.
- 보통 gp3 (범용 SSD) 사용.
추가 EBS 볼륨
- 데이터 저장용 추가 디스크를 붙일 수 있음.
- 선택한 AMI에 따라 기본 크기와 타입이 자동 설정됨 → 수동으로 변경 가능.
7. 인스턴스 세부 설정
IAM 역할
- 인스턴스가 AWS 리소스에 접근할 권한을 부여받을 수 있게 하는 역할.
- 예: S3 접근이 필요한 경우
AmazonS3ReadOnlyAccess 권한 부여된 역할 연결.
사용자 데이터 (User Data)
8. 고급 설정
종료 보호
- 실수로 인스턴스를 종료하지 못하게 방지할 수 있음.
스팟 인스턴스 여부
- EC2 요금을 절약할 수 있는 방식이지만, 언제든 종료될 수 있음.
- 가용성이 중요한 경우에는 사용 비추천.
- 인스턴스에 이름을 붙이거나, 관리 편의상
Key-Value 형식으로 태그를 부여.
- 예:
Name = qnb-backend-server
Environment = dev
10. Elastic IP (선택 사항)
- 고정 퍼블릭 IP 주소.
- EC2 인스턴스를 중지/재시작해도 동일 IP 유지 가능.
- 웹 서비스 배포 시 유용함.
사실 이렇게만 보면 어렵지만 실제로 사용하기 전에 읽고 써보는 것만으로도 도움이 된다..