🐤 S3
Simple Storage Service의 약자
특징
- 안전하고 가변적인 Object 저장공간을 제공
- 운영체제는 저장할 수 없음
- 파일크기는 0KB ~ 5TB
- 저장공간 무제한 (하드디스크와 달리 디스크 할당이 필요 없음)
- Bucket이라는 이름을 사용함 (디렉토리와 유사함)
- Bucket은 보편적인 namespace를 사용(Bucket이름은 고유해한다는 뜻)
구성요소
- Key, Value
- Version ID (버전별로 쉽게 복원할 수 있음)
- Metadata
- CORS (Cross Origin Resource Sharing, 한 버킷의 파일을 다른 버킷)
S3 Data Consistency Model
- Read after Write Consistency (PUT)
S3에 올라가면 바로 사용할 수 있다는 의미
- Eventual Consistency (UPDATE, DELETE)
바로 적용되지 않는다는 의미
스토리지 종류
- 일반 S3
가장 보편적임, 특별한 특징은 없고 높은 내구성과 가용성을 자랑함
- IA (Infrequent Access)
자주 접근되지 않으나, 빠른 접근이 요구되는 파일이 많을시 유용하다
비용이 저렴하지만 접근시 추가 비용이 발생한다
가용성이 상당히 높다
- One Zone IA
단일 AZ를 통한 데이터 저장, 데이터 접근이 제한되어있음 고로 가용성이 낮다
데이터의 접근시 위에 2개보다 20% 저렴하다
- Glacier
거의 접근하지 않을 데이터를 저장시 유용하고, 매우 저렴하다
데이터 접근시 대략 4~5시간이 소요된다
- Intelligent Tiering
데이터 접근 주기를 알아서 분석하고 2가지 티어로 나눈다(Frequent Tier, Infrequent Tier)
최고의 비용 절감 효율을 누릴 수 있다
요금
- GB당
- PUT, GET, COPY 요청 횟수당
- 데이터 다운로드시/다른 리소스로 전송시
- Metadata(Object tag)
사용 용례
- 파일 저장소
- 웹사이트 호스팅
- CORS (Cross Origin Resource Sharing)
Bucket 생성시 알아야할 점
- 최초 S3 버켓 생성시 -> 비공개(private)
- 버켓 정책 변경(Bucket Policy)
json 형태로 버켓에 대한 정책 변경
- 접근 제어 리스트 변경 (Access Control List)
사용자마다 접근 제어
암호화
S3에서의 암호화는 크게 2가지로 나눌 수있음
1. 파일 업로드/다운로드시
SSL/TLS, S3 자체적으로 암호화 함
2. 가만히 있을시
SSE : ServerSideEncryption의 약자
암호화 과정
PUT 요청이 생성되고 파일이 서버에 업로드 될 때
HEADER에 x-amz-server-side-encryption-parameter라는 파라미터가 있다
헤더에 이 파라미터를 포함하면 S3 암호화를 걸어준다는 뜻
ex)
x-amz-server-side-encryption-parameter : AES-256
버킷에 암호화를 설정하면 그 안의 파일또한 암호화를 필수로 해야한다
🐤 CloudWatch
우리가 사용하는 AWS 리소스를 실시간으로 모니터링할 수 있는 기능
이벤트를 수집해서 -> 로그파일로 저장
CloudWatch 사용 가능한 서비스들
: EC2, RDS, S3, ELB ...
모니터링 종류
- Basic Monitoring
무료, 5분 간격으로 최소의 Metrics 제공
- Detailed Monitoring
유료, 1분 간격으로 자세한 Metrics 제공
Alarm
임의로 정해놓은 값에 도달시 알람을 울림
알람이 울리면 특정 이벤트를 작동시킬 수 있음
Alarm State
Billing Alarm
우리들이 정해놓은 지출 임계값을 초과할 경우
💛 느낀점
클라우드를 도입하면 비용절감을 할 수 있다는 문구는 많이봤지만
왜 그런지에 대해서는 구체적으로 느낄 수 없었습니다.
이번 Alarm 실습을 통해 어떻게 리소스를 관리하는지 배우고 이에 따른 비용절감 효과를 알 수 있었습니다.
또한 S3에의 여러가지 종류와 암호화 옵션을 배우면서 S3에 대해서 입체적으로 경험할 수 있었습니다!
클클 최고!😊