이번 장은 EC2를 다룬다.
EC2는 Elastic Compute Cloud의 약자다.
한마디로 "클라우드에서 켜는 가상 서버"다.
AWS에서 가장 기본이 되는 컴퓨팅 서비스다.
이 장의 목표는 다음과 같다.
- 인스턴스, AMI, 인스턴스 유형의 개념을 잡는다.
- 키페어로 SSH 접속하는 원리를 이해한다.
- 보안그룹으로 방화벽을 설정한다.
1. 인스턴스와 AMI
인스턴스(Instance)는 실행 중인 가상 서버 한 대다.
인스턴스를 만들려면 두 가지를 골라야 한다. AMI와 인스턴스 유형이다.
AMI(Amazon Machine Image)는 서버의 "밑그림"이다.
운영체제와 기본 소프트웨어가 담긴 템플릿이다.
예를 들어 Ubuntu 24.04 AMI를 고르면 우분투가 깔린 서버가 뜬다.
Amazon Linux, Windows Server 등 다양한 AMI가 있다.
2. 인스턴스 유형 고르기
인스턴스 유형(Instance Type)은 서버의 "사양"이다.
CPU와 메모리 크기를 정한다. 이름에 규칙이 있다.
| 예시 | 계열 | 특징 |
|---|---|---|
t3.micro |
T (범용, 버스트) | 저렴, 가벼운 워크로드 |
m5.large |
M (범용) | CPU:메모리 균형 |
c5.xlarge |
C (컴퓨팅) | CPU 집약적 |
r5.large |
R (메모리) | 메모리 집약적 |
이름 뒤의 micro, large, xlarge는 크기다. 클수록 CPU/메모리가 많고 비싸다.
처음 실습은 프리티어 대상인 t3.micro로 충분하다.
3. 키페어와 SSH 접속
리눅스 인스턴스에 접속할 때는 비밀번호가 아니라 키페어를 쓴다.
키페어는 공개 키(public key)와 개인 키(private key) 한 쌍이다.
- 공개 키는 AWS가 인스턴스에 넣어 둔다.
- 개인 키(
.pem파일)는 내가 안전하게 보관한다.
접속할 때 개인 키로 신원을 증명한다.
# 키 파일 권한 설정 (최초 1회)
chmod 400 my-key.pem
# SSH 접속
ssh -i my-key.pem ubuntu@<퍼블릭_IP>
개인 키를 잃어버리면 그 인스턴스에는 다시 접속할 수 없다. 잘 보관해야 한다.
4. 보안그룹 — 인스턴스의 방화벽
보안그룹(Security Group)은 인스턴스 앞에 있는 방화벽이다.
어떤 포트로 들어오는 트래픽을 허용할지 정한다.
예를 들어 웹 서버라면 이렇게 연다.
| 유형 | 포트 | 소스 | 용도 |
|---|---|---|---|
| SSH | 22 | 내 IP | 관리 접속 |
| HTTP | 80 | 0.0.0.0/0 | 웹 |
| HTTPS | 443 | 0.0.0.0/0 | 웹(보안) |
중요한 특징이 두 가지 있다.
첫째, 보안그룹은 허용(allow) 규칙만 있다. 명시하지 않은 것은 자동으로 막힌다.
둘째, 상태 저장(stateful)이다. 들어오는 걸 허용하면, 그에 대한 응답은 자동으로 나간다.
SSH(22)는 0.0.0.0/0(전 세계)으로 열지 말고 내 IP로 제한하는 게 안전하다.
5. 퍼블릭 IP와 탄력적 IP
인스턴스를 켜면 퍼블릭 IP가 붙는다.
하지만 이 IP는 인스턴스를 껐다 켜면 바뀐다.
고정 IP가 필요하면 탄력적 IP(Elastic IP)를 할당해 연결한다.
탄력적 IP는 인스턴스에 연결돼 있는 동안은 무료지만, 할당만 하고 안 쓰면 요금이 나온다.
6. 인스턴스 시작 실습 (CLI)
aws ec2 run-instances \
--image-id ami-xxxxxxxx \
--instance-type t3.micro \
--key-name my-key \
--security-group-ids sg-xxxxxxxx \
--tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=web-01}]'
--tag-specifications로 이름표(Name 태그)를 붙이면 콘솔에서 알아보기 쉽다.
정리
- 인스턴스 = 가상 서버, AMI = OS 밑그림, 인스턴스 유형 = 사양.
- 리눅스 접속은 키페어(.pem)로 한다. 개인 키는 잘 보관한다.
- 보안그룹은 허용 규칙만 있는 상태 저장 방화벽이다.
- 고정 IP가 필요하면 탄력적 IP를 쓴다.
다음 장에서는 데이터를 저장하는 스토리지 서비스를 다룬다.
댓글 0
댓글은 운영자만 작성할 수 있어요.