클라우드 보안 - AWS 기초 · EC2 완전 정리

Phase 2  |  Cloud Security

AWS 기초 · EC2 완전 정리

클라우드 vs 온프레미스 · 글로벌 인프라 · EC2 인스턴스 · User Data · 접속 방법까지

01 AWS 개요 — 클라우드란 무엇인가

AWS(Amazon Web Services)는 인터넷을 통해 서버, 스토리지, 데이터베이스, 네트워크 등 IT 리소스를 제공하는 클라우드 플랫폼이다. 필요할 때 즉시 생성하고 사용한 만큼만 비용을 낸다.

On-demand

  • 필요할 때 즉시 생성/삭제
  • 수분 내 서버 준비 완료
  • 사전 예약, 장기 계약 불필요
  • 실패해도 비용 최소화

종량제 (Pay-as-you-go)

  • 사용한 만큼만 과금
  • 초기 자본 지출(CapEx) 없음
  • 운영 비용(OpEx) 모델
  • 유휴 리소스 비용 제거 가능

유연성 (Elasticity)

  • 트래픽 급증 시 자동 확장
  • 트래픽 감소 시 자동 축소
  • Auto Scaling 기반 동작
  • 피크 트래픽 대비 과잉 설계 불필요
클라우드 vs 온프레미스 비교
항목클라우드 (AWS)온프레미스
초기 비용낮음 서버 구매 불필요높음 서버/네트워크 장비 구매
확장성자동/즉시 — 클릭 몇 번으로 수백 대물리적 증설 필요 — 수주~수개월 소요
운영 관리AWS가 인프라 관리 (Managed Service)전담 인력이 직접 관리
가용성글로벌 다중 리전 & AZ 기반단일 또는 제한적 위치
보안 책임공동 책임 모델 (Shared Responsibility)전부 사용자 책임
적합 환경스타트업, 변동성 높은 서비스규제 환경, 완전한 통제 필요 시
공동 책임 모델 (Shared Responsibility)  |  AWS는 클라우드의 보안(Security OF the Cloud) — 물리 인프라, 하이퍼바이저, 글로벌 네트워크를 책임진다. 고객은 클라우드 내 보안(Security IN the Cloud) — OS 패치, IAM 설정, 데이터 암호화, 방화벽 규칙을 책임진다.
02 AWS 글로벌 인프라 구조

AWS 인프라는 Data Center → Availability Zone → Region 3계층으로 구성된다. 계층 분리를 통해 물리적 장애가 발생해도 서비스를 지속한다.

REGION
리전
지리적 위치 단위. 2개 이상의 AZ로 구성. 리전 간 데이터는 기본적으로 이동하지 않음 (데이터 주권)
ap-northeast-2 (서울)
AZ
가용 영역
1개 이상의 데이터센터 묶음. 물리적으로 분리되어 장애 격리. 리전 내 AZ 간 저지연 연결
ap-northeast-2a / 2b / 2c
DATA CENTER
데이터센터
실제 서버, 스토리지, 네트워크가 위치하는 물리 시설. 독립 전원 및 냉각 시스템
수천 대 서버 운영
고가용성 설계 원칙  |  서비스를 다중 AZ(Multi-AZ)에 배포하면 하나의 AZ 장애 시 다른 AZ가 트래픽을 이어받는다. 리전 간 장애 대비는 Multi-Region 아키텍처로 구성한다.
주요 서비스와 AWS 서비스 매핑
온프레미스 자원AWS 서비스역할
물리 서버EC2가상 서버 (VM)
관계형 DBRDS관리형 데이터베이스
파일 스토리지S3오브젝트 스토리지
로드밸런서ELB (ALB/NLB)트래픽 분산
방화벽Security Group / NACL네트워크 접근 제어
DNSRoute 53도메인 관리 및 라우팅
03 EC2 (Elastic Compute Cloud) — 가상 서버

EC2는 AWS에서 제공하는 가상 서버(VM)다. AMI로 OS와 환경을 정의하고, 인스턴스 유형으로 CPU/메모리 사양을 선택한다.

AMI (Amazon Machine Image)

AMI 구성 요소

  • OS — Amazon Linux, Ubuntu, Windows 등
  • 패키지 — 사전 설치된 소프트웨어
  • 설정 — 네트워크, 볼륨 구성 포함
  • EBS 스냅샷 기반으로 저장

AMI 종류

  • AWS 제공 — Amazon Linux 2023, Ubuntu 등
  • Custom AMI — 사용자가 직접 생성 (골든 이미지)
  • AWS Marketplace — 서드파티 이미지 (유료 포함)
  • AMI는 리전 단위로 존재, 복사 가능
보안 관점  |  Custom AMI 사용 시 불필요한 패키지, 기본 자격증명, 디버그 설정을 반드시 제거 후 이미지화해야 한다. Marketplace AMI는 공급자 신뢰성 검증 필수.
04 EC2 인스턴스 유형
t3.micro
t
Family (계열)
3
Generation (세대)
micro
Size (성능 크기)
인스턴스 계열 정리
t
범용 Burstable

저비용, 테스트, 개발 환경. CPU 크레딧 기반

m
범용 (General)

CPU/메모리 균형. 프로덕션 일반 서버

c
컴퓨팅 최적화

CPU 집약 작업. 웹 서버, 배치 처리

r
메모리 최적화

대용량 인메모리 DB, 캐시 서버

p
GPU 가속

ML 학습, 딥러닝, 그래픽 렌더링

i
스토리지 최적화

고속 NVMe SSD. NoSQL, 데이터 웨어하우스

Size 종류
SizevCPU (예시)메모리 (예시)용도
nano / micro1~20.5~1 GB테스트, 마이크로서비스, 프리티어
small / medium1~22~4 GB개발 서버, 소규모 서비스
large / xlarge2~48~16 GB프로덕션 일반 서버
2xlarge 이상8+32 GB+고성능 DB, 빅데이터 처리
05 User Data — 인스턴스 자동 초기화

인스턴스 최초 부팅 시 root 권한으로 자동 실행되는 스크립트. 반복적인 수동 설정을 제거하고 일관된 환경을 구성하는 데 사용한다.

인스턴스 시작Launch
cloud-init 실행AWS 에이전트
User Data 스크립트root 권한 실행
초기화 완료서비스 준비 상태
User Data 예시 — Apache 웹 서버 자동 설치
#!/bin/bash # 패키지 업데이트 yum update -y # Apache 설치 yum install -y httpd # 서비스 시작 및 자동 시작 등록 systemctl start httpd systemctl enable httpd # 간단한 테스트 페이지 생성 echo "<h1>Hello from AWS EC2</h1>" > /var/www/html/index.html

주요 사용 시나리오

  • 패키지 설치 자동화
  • 환경 변수 / 설정 파일 생성
  • 애플리케이션 코드 배포
  • 보안 에이전트 설치 (CloudWatch, SSM)
  • 서비스 자동 시작 등록

주의 사항

  • 최초 1회만 실행 (재부팅 시 미실행)
  • 실행 로그: /var/log/cloud-init-output.log
  • 스크립트 오류 시 인스턴스는 정상 기동
  • 민감 정보(비밀번호, 키) 직접 포함 금지
  • 대신 SSM Parameter Store 또는 Secrets Manager 활용
보안 주의  |  User Data는 인스턴스 메타데이터 엔드포인트(169.254.169.254/latest/user-data)에서 평문으로 조회 가능하다. API 키, DB 패스워드 등 민감 정보를 직접 포함하지 말고 AWS Secrets Manager에서 런타임에 가져오는 방식을 사용해야 한다.
06 EC2 접속 방법
SSH Key Pair
SSH 접속 — Linux 인스턴스
  • 키페어 (.pem 파일) 기반 인증
  • 인스턴스 생성 시 키페어 지정 필수
  • 퍼블릭 IP 또는 탄력적 IP 필요
  • 보안 그룹에서 22번 포트 허용 필요
  • pem 파일 권한: chmod 400 key.pem
Browser / Web
EC2 Instance Connect
  • AWS 콘솔에서 브라우저로 직접 접속
  • 별도 SSH 클라이언트 설치 불필요
  • IAM 권한 기반 인증
  • Amazon Linux 2, Ubuntu 지원
  • 임시 키 자동 생성 — 별도 키페어 불필요
SSH 접속 명령어
# pem 파일 권한 설정 (최초 1회) chmod 400 key.pem # Amazon Linux 접속 ssh -i key.pem ec2-user@3.34.XXX.XXX # Ubuntu 접속 ssh -i key.pem ubuntu@3.34.XXX.XXX # 기본 사용자 계정 정리 # Amazon Linux → ec2-user # Ubuntu → ubuntu # RHEL / CentOS → ec2-user or centos # Windows → Administrator (RDP 사용)
추가 접속 방법  |  SSM Session Manager를 사용하면 퍼블릭 IP 없이, 22번 포트 없이 프라이빗 인스턴스에도 접속할 수 있다. IAM 권한 기반으로 동작해 키페어가 필요 없고 접속 이력이 CloudTrail에 기록되어 보안 감사에 유리하다.
보안 관점 접속 방법 비교
방법포트 필요키페어 필요퍼블릭 IP 필요감사 로그
SSH (Key Pair)22/tcp 필요필요필요제한적
EC2 Instance Connect22/tcp 필요불필요필요CloudTrail 기록
SSM Session Manager불필요불필요불필요CloudTrail + 세션 로그