1. EC2(Elastic Compute Cloud): 클라우드에서 크기가 유연하게 변동 가능!
2. EC2 사용시 내는 다양한 지불 방법:
- On-demand: 시간 단위로 가격 고정
-> 오랜 시간동안 선불 내지 않고 최소한의 비용 지불하여 EC2 사용하고 싶을 때
- Reserved: 한정된 EC2 용량 사용 가능, 1-3년 동안 시간별 할인 적용 받을 수 있음
-> 안정된, 예상 가능한 workload시
- Spot: 입찰 가격 적용, 가장 큰 할인률 적용 받으며 인스턴스 시작, 끝기간 중요하지 않을 때
-> 단순 비용 절감 시 유용
3. EBS(Elastic Block Storage)
- 저장 공간이 생성되어지며 EC2 인스턴스에 부착
- 디스크 볼륨 위에 파일 시스템 생성
- 특정 Availability Zone(disaster recovery)에 생성
4. EBS 볼륨 타입
- SSD군: GP2 / I01
- HDD군: ST1, SC1, Sandard
5. ELB(Elastic Load Balancers)
- 수많은 서버의 흐름을 균형있게 흘려보내는데 중추적 역할
- 하나의 서버로 traffic 몰리는 병목현상 방지
- unhealthy -> healthy
6. ELB 타입
- Application Load Balancer: OSI 7계층에서 동작, traffic load balancing 에 적합
- Network Load Balancer: OSI 4계층에서 동작, 매우 빠른 속도 자랑, production환경에서 종종 쓰임
- Classic Load Balancer: 현재 Legacy 로 간주, 거의 쓰이지 않음
*X-Forwarded-For 헤더: EC2가 private ip address밖에 알지 못하는 상황에서
public ip address를 알아내기 위해 사용하는 방법
7. Route 53: AWS에서 제공하는 DNS 서비스
- EC2 instance
- S3 Bucket
- Load Balancer
*Route 53 메뉴에서 다음과 같이 도메인 네임 생성 가능
8. EC2 실습
1) EC2에서의 원격접속을 위해 putty 파일 다운
2) EC2 os, 태그 등의 옵션 선택 후 키 페어 생성
3) Puttygen 접속하여 다운로드 받은 키를 임포트
4) Putty.exe 실행하여 원격접속 성공한 모습
9.RDS(Relational DB Service) 관계형 데이터베이스
- 종류: Oracle, MySQL, Aurora
- Datawareshousing: Business Intelligence, 리포트 작성, 데이터 분석시 사용, 매우 방대한 분량의 데이터 로드 시 사용
- OLTP vs OLAP: OLTP는 insert와 같이 종종 사용되는 혹은 규모가 작은 데이터를 불러올때 사용되는 SQL 쿼리가 필요할 때, OLAP는 매우 큰 데이터를 불러올때, 주로 덩치큰 select 쿼리 사용됨
10. Database Backups
- Automated Mackups(자동백업): Retention Period 안의 어떤 시간으로 돌아가게 할 수 있음
- AB는 그 날 생성된 스냅샵, Transaction logs 참고
- 디포트로 설정돼 있음, 백업 정보 S3에 저장
- AB동안 I/O suspension 존재할 수 있음
11. DB Snapshots(데이터베이스 스냅샷): 주로 사용자에 의해 실행, 원본 RDS 인스턴스 삭제해도 스냅샷은 존재
- 백업시 인스턴스와 엔드포인트가 둘다 생성되며 둘은 전혀 다름
12. Multi AZ, Read Replicas
- Multi AZ: 원래 존재하는 RDS DB에 변화 생기면Availability Zone에 복제본 생성됨 / AWS에 의해 자동으로 관리 이루어짐 / 성능 개선이 아니라 Disaster Recovery Only!를 위한 것
- Read Replicas: Production DB의 읽기 전용 복제본이 생성됨 / 주로 Read-Heavy DB 작업시효율성 극대화를 위해 사용됨, Disaster Recovery 용도가 주는 아님 / 고유의 Replica가짐
13. ElasticCache
- 클라우드 내에서 In-memory 캐시를 만들어줌 -> 데이터가 많아질수록 효율적
- 데이터 베이스에서 데이터를 읽어오는 것이 아니라 캐시에서 데이터 읽어옴
- Read-Heavy 어플리케이션에서 Latency 감소 효과 누림
- Memcached: Object 캐시 시스템으로 잘 알려져 있음, 크기 유동적, 디폴트 값
- Redis: 정교한 데이터 타입 In-memory에 저장 가능, Multi-AZ 지원
14. RDS 실습
1) RDS 메뉴에서 프리티어로 지원되는 서비스를 선택하여 RDS 생성