1. EC2 원격 접속 방법
SSH 접속 (Linux 인스턴스)
가장 기본적인 방법. Public Key / Private Key 쌍을 이용해 인증한다.
EC2 생성 시 → Key Pair 발급
- Public Key → EC2 인스턴스 내부에 저장
- Private Key → .pem 파일로 로컬에 보관 (절대 유출 금지)
# 권한 설정 (최초 1회)
chmod 400 my-key.pem
# 접속
ssh -i my-key.pem ec2-user@<퍼블릭 IP>
RDP 접속 (Windows 인스턴스)
Windows EC2는 RDP(Remote Desktop Protocol) 를 사용한다.
- AWS 콘솔 → EC2 → 인스턴스 선택 → 연결
- RDP 클라이언트 탭 → .rdp 파일 다운로드
- 암호 가져오기 → .pem 파일로 관리자 비밀번호 복호화
- Windows 원격 데스크톱 연결 실행 → 접속
EC2 Instance Connect (브라우저 접속)
.pem 파일 없이 AWS 콘솔에서 바로 터미널 접속.
빠른 확인 작업이나 키 파일이 없을 때 유용하다.
- AWS 콘솔 → EC2 → 인스턴스 선택 → 연결
- EC2 Instance Connect 탭 → 연결 클릭
접속 방법 비교
방법 OS 키 파일 포트
| SSH | Linux | O (.pem) | 22 |
| RDP | Windows | O (비밀번호 복호화용) | 3389 |
| Instance Connect | Linux | X | 22 |
2. 인스턴스 유형 네이밍 규칙
EC2 인스턴스 이름은 규칙이 있다. 예: c7gn.xlarge
c 7 g n . xlarge
│ │ │ │ └─ 인스턴스 크기 (Instance size)
│ │ │ └─────── 추가 기능 (Additional capability)
│ │ └──────────── 프로세서 패밀리 (Processor family)
│ └──────────────── 인스턴스 세대 (Instance generation)
└──────────────────── 인스턴스 패밀리 (Instance family)
인스턴스 패밀리 (Instance Family)
코드 설명 대표 사용처
| C | 컴퓨팅 최적화 | 배치 처리, 게임 서버, 미디어 트랜스코딩 |
| D | 고밀도 스토리지 | 데이터 웨어하우스, Hadoop |
| F | FPGA | 금융 분석, 하드웨어 가속 |
| G | 그래픽 집약적 | 3D 렌더링, ML 추론 |
| Hpc | 고성능 컴퓨팅 | 복잡한 시뮬레이션, 딥러닝 |
| I | 스토리지 최적화 | NoSQL DB, 데이터 분석 |
| Inf | AWS Inferentia | ML 추론 전용 |
| M | 범용 | 웹 서버, 중소형 DB, 코드 레포 |
| Mac | macOS | iOS/macOS 앱 빌드 |
| P | GPU 가속 | 머신러닝 학습, HPC |
| R | 메모리 최적화 | 인메모리 DB, 대규모 데이터 처리 |
| T | 버스트 가능한 성능 | 개발/테스트, 소규모 웹앱 |
| Trn | AWS Trainium | 딥러닝 학습 전용 |
| U | 고용량 메모리 | SAP HANA 등 초대형 인메모리 |
| VT | 비디오 트랜스코딩 | 라이브 스트리밍, 비디오 처리 |
| X | 메모리 집약적 | 대용량 인메모리 DB |
프로세서 패밀리 (Processor Family)
코드 설명
| a | AMD 프로세서 |
| g | AWS Graviton 프로세서 (ARM 기반, 비용 효율 높음) |
| i | 인텔 프로세서 |
| (없음) | 기본값 (주로 인텔) |
추가 기능 (Additional Capability)
코드 설명
| d | 인스턴스 스토어 볼륨 포함 |
| n | 네트워크 및 EBS 최적화 |
| e | 추가 스토리지 또는 메모리 |
| z | 고성능 (고주파 CPU) |
| flex | Flex 인스턴스 |
인스턴스 크기 (Instance Size)
nano < micro < small < medium < large < xlarge < 2xlarge < ... < 48xlarge
크기가 커질수록 CPU, 메모리, 네트워크 대역폭이 배수로 증가한다.
3. ENI (Elastic Network Interface)
EC2의 가상 네트워크 인터페이스다.
EC2 인스턴스에 IP 주소, MAC 주소 등이 부여되고, 네트워크 통신을 담당한다.
- 인스턴스에 여러 개의 ENI를 추가로 연결할 수 있다
- 네트워크 인터페이스를 분리해서 용도별로 트래픽을 나눌 수 있음 (예: 관리용 / 서비스용 분리)
Public IP vs Private IP
구분 설명 인터넷 연결
| Public IP | 인터넷 통신에 사용 | 직접 연결 가능 |
| Private IP | VPC 내부에서만 사용 | 인터넷 게이트웨이(IGW)를 통해야 연결 가능 |
| Elastic IP | 고정 퍼블릭 IP | 직접 연결 가능, 사용 안 해도 비용 발생 ⚠️ |
Elastic IP 주의: 인스턴스에 연결하지 않고 보유만 해도 시간당 요금이 청구된다.
사용하지 않는 Elastic IP는 즉시 해제하는 습관을 들이자.
4. 보안그룹 (Security Group)
인스턴스 앞에서 인바운드 / 아웃바운드 트래픽을 제어하는 가상 방화벽이다.
- 기본값: 모든 인바운드 차단, 모든 아웃바운드 허용
- Stateful 방식 — 허용된 인바운드 요청의 응답은 자동으로 허용
규칙 설정 항목
항목 설명 예시
| 트래픽 유형 | 프리셋 선택 | SSH, HTTP, HTTPS, RDP, PostgreSQL |
| 프로토콜 | 통신 방식 | TCP, UDP, ICMP |
| 포트 | 허용할 포트 번호 | 22, 80, 443, 5432 |
| 소스/대상 | 허용할 IP 범위 | 0.0.0.0/0 (전체), 내 IP, 특정 CIDR |
자주 쓰는 포트 정리
용도 프로토콜 포트
| SSH (Linux 원격 접속) | TCP | 22 |
| RDP (Windows 원격 접속) | TCP | 3389 |
| HTTP (웹 서버) | TCP | 80 |
| HTTPS (보안 웹 서버) | TCP | 443 |
| MySQL / Aurora MySQL | TCP | 3306 |
| PostgreSQL / Aurora PG | TCP | 5432 |
| Oracle DB | TCP | 1521 |
| Redis | TCP | 6379 |
| DNS | UDP/TCP | 53 |
5. EC2 요금 모델 — 상황별 선택 가이드
요금 모델 비교
모델 약정 할인율 적합한 상황
| 온디맨드 | 없음 | 기준 | 개발/테스트, 단기 실험 |
| 스팟 | 없음 | 최대 90% | 중단 허용 가능한 배치 작업 |
| 예약 | 1년 / 3년 | 최대 75% | 수요가 꾸준하고 예측 가능한 서비스 |
| Saving Plans | 1년 / 3년 | 최대 66% | 유연하게 인스턴스 유형 바꾸면서 장기 운영 |
| 전용 호스트/인스턴스 | 온디맨드 또는 예약 | 최대 70% | 라이선스 규정, 규제 준수 필요 시 |
모델별 상세
온디맨드 (On-Demand)
- 약정 없이 초당 사용한 만큼 비용 지불
- EC2를 처음 써보거나, 개발/테스트 중인 앱에 적합
- 예측 불가능한 단기 워크로드에 유리
스팟 (Spot)
- AWS가 사용하지 않는 유휴 인스턴스를 경매 방식으로 저렴하게 제공
- 최대 90% 할인이지만 AWS가 필요하면 2분 예고 후 강제 회수
- 중단되어도 괜찮은 작업에 적합 (데이터 분석, 렌더링, ML 학습 등)
예약 인스턴스 (Reserved Instance)
- 1년 또는 3년 약정, 최대 75% 할인
- 수요가 꾸준하고 예측 가능한 서비스에 유리 (운영 중인 DB, 웹 서버 등)
- 선결제 비율이 높을수록 할인율 증가
Saving Plans
- 특정 인스턴스를 지정하는 대신 **시간당 사용금액(달러)**을 약정
- 인스턴스 패밀리나 리전을 바꿔도 할인 적용 — 예약 인스턴스보다 유연
전용 호스트 / 전용 인스턴스
- 물리적으로 격리된 전용 서버 사용
- 온디맨드 대비 66~77% 저렴
- 기존 소프트웨어 라이선스(Oracle, Windows Server 등) 재사용 가능, 컴플라이언스 요건 충족 필요 시 사용
의사결정 흐름
얼마나 쓸지 모르겠다 / 단기 → 온디맨드
중단 가능한 배치 / ML 학습 → 스팟
1년 이상 안정적으로 운영할 서비스 → 예약 인스턴스 or Saving Plans
└ 인스턴스 유형 고정 가능 → 예약 인스턴스
└ 유연하게 변경 가능성 있음 → Saving Plans
물리 격리 또는 라이선스 재사용 필요 → 전용 호스트
6. 웹 서버 실습 (Amazon Linux 2)
# 패키지 업데이트
yum update -y
# Apache 설치
yum install httpd -y
# 서비스 시작
service httpd start
# 재부팅 후에도 자동 시작
chkconfig httpd on
# 웹 루트로 이동
cd /var/www/html
# 테스트 페이지 생성
echo "Hello indstudy.$(hostname -f)" > index.html
브라우저에서 http://<EC2 퍼블릭 IP> 접속 시 Hello 메시지 확인.
보안그룹 인바운드에 포트 80 (HTTP) 이 열려 있어야 한다.
'AWS' 카테고리의 다른 글
| [AWS] 글로벌 인프라 (0) | 2026.05.19 |
|---|