# AWS 클라우드 기초 가이드
## 학습 목표
AWS 핵심 서비스를 활용해 클라우드 인프라를 구축합니다.
## 1. AWS란?
Amazon Web Services - 세계 최대 클라우드 플랫폼입니다.
- 200개 이상의 서비스
- 글로벌 인프라
- 종량제 과금
- 높은 확장성
## 2. 핵심 서비스 개요
EC2 - 가상 서버
S3 - 파일 저장소
RDS - 관리형 데이터베이스
Lambda - 서버리스 함수
VPC - 가상 네트워크
IAM - 권한 관리
CloudFront - CDN
Route 53 - DNS
## 3. EC2 인스턴스
인스턴스 유형:
t2.micro - 프리티어 (1 vCPU, 1GB RAM)
t3.small - 개발용 (2 vCPU, 2GB RAM)
t3.medium - 소규모 서비스
SSH 접속:
ssh -i key.pem ec2-user@ec2-xxx.compute.amazonaws.com
보안 그룹:
22 - SSH
80 - HTTP
443 - HTTPS
3306 - MySQL
## 4. S3 버킷
버킷 생성: aws s3 mb s3://my-bucket
파일 업로드: aws s3 cp file.txt s3://my-bucket/
파일 다운로드: aws s3 cp s3://my-bucket/file.txt ./
동기화: aws s3 sync s3://my-bucket/ ./backup/
Python boto3:
s3 = boto3.client("s3")
s3.upload_file("local.txt", "my-bucket", "remote.txt")
s3.download_file("my-bucket", "remote.txt", "local.txt")
## 5. RDS 데이터베이스
지원 엔진: MySQL, PostgreSQL, MariaDB, Oracle, Aurora
설정: 인스턴스 클래스, Multi-AZ, 자동 백업
접속: mysql -h mydb.xxx.rds.amazonaws.com -u admin -p
## 6. IAM 권한 관리
구성요소:
- User: 개별 사용자
- Group: 사용자 그룹
- Role: 서비스용
- Policy: 권한 정의
모범 사례:
- root 계정 사용 최소화
- MFA 활성화
- 최소 권한 원칙
## 7. Lambda 서버리스
def lambda_handler(event, context):
return {"statusCode": 200, "body": "Hello"}
트리거: API Gateway, S3, CloudWatch Events, SQS
설정: 메모리 128MB-10GB, 타임아웃 최대 15분
## 8. CloudFront CDN
S3 또는 EC2 앞에 배치
글로벌 엣지 로케이션
SSL 인증서 연결
캐시 무효화: aws cloudfront create-invalidation
## 9. Route 53 DNS
레코드: A, AAAA, CNAME, MX, TXT
라우팅: Simple, Weighted, Latency, Failover, Geolocation
## 10. VPC 네트워크
VPC - 가상 네트워크
Subnet - Public/Private
Internet Gateway - 인터넷 연결
NAT Gateway - Private 인터넷 접근
Security Group - 인스턴스 방화벽
## 11. 비용 관리
프리티어 활용 (12개월)
Reserved Instances (1-3년 약정)
Spot Instances (최대 90% 할인)
Cost Explorer, Budgets
## 12. 실전 아키텍처
웹앱: Route53 > CloudFront > ALB > EC2 > RDS
정적사이트: Route53 > CloudFront > S3
서버리스: API Gateway > Lambda > DynamoDB
## 추천 학습 순서
1. IAM 계정 및 권한 설정
2. EC2 인스턴스 생성
3. S3 버킷 활용
4. RDS 데이터베이스 연결
5. Lambda 서버리스 함수