CS log
클라우드 컴퓨팅 6강~8강 본문
6강
EC2 Lifecycle
not billed : pending, shutting down, terminated, stopping(stop하려고 하면), stopped, stop-hibernated
billed : running, rebooting, stopping(hibernate 하려고 하면)
scaling option - 여러 scaling 간 차이
vertical scaling
: 일단 stop하고 type 바꿀 수 있음
- parallelize 안된다고 가정 + 너무 헤비한 app일때
horizontal scaling
: 서비스 중에 scale in/out 가능
- auto scaling 으로 가능(ec2가 health check기능이 있어서 주기적으로 ec2 instance가 서비스 할 수 있는지 체크, elb도 optionally check ➡️ unhealthy 감지 ➡️ terminate하고 computing rsrc는 유지 ➡️ healthy한걸로 대체)
- request가 계속 들어올 때 (인스턴스 멈추면 사용자가 불편하니까) / cpu 개수 증가시키면 알아서 분산됨
auto scaling
: 특정 조건에서 자동으로 로드밸런서와 진행되어서 인스턴스 추가
- across availability zones
- unhealthy 한걸 healthy 한걸로 대체 혹은 추가 / demand가 줄어들면 instance 삭제
- auto scaling group(에서는 min, max number of instances, desired capacity)을 auto scaling 하기 전 먼저 생성해줘야 함.
- lanuch template : ec2 launch할 때 ami, security group, instance type을 template 형태로 만듦
- life cycle
- scale-in : low demand ➡️ terminate
- terminate : unhealthy or redundant ➡️ terminate ➡️ replace
scaling policy
- scheduled scaling : workload 변화 알고 있을 때
- dynamic scaling : workload 변화 몰라도 후조치.
- predictive scaling : ml로 ec2 workload 예측. 선조치 (cpu 사용량에 따른 파라미터 조정 안해도 됨)
ELB
horizontal scaling 하려면 새로 생성된 instance로 distribute된다는 전제가 있어야 함.
특징)
health check : unhealthy 하면 traffic routing 을 멈추고 redirect to healthy instance
cross-zone load balancing
auto scale하면 elb가 거기에 알아서 분산을 시켜줌
types
- application load balancer(alb)
- os의 application layer(7)에서 동작
- http/https traffic (traffic 내용을 보고 해당 사이트로 routing)
- microservice, container-based app
- network load balancer(nlb)
- tcp, udp, tls(layer 4)
- 성능 더 좋고 faster
- real-time, 성능좋고 low latency 요하는 app
7강
우리가 말하는 storage : dram아니고 ssd, hd 같은거
cloud storage
- data is saved across multiple servers (해킹 당해도 part만 가져가게 됨)
- s3는 global : different availability zone에 copy되어 있어서 안전
Type
- block storage : id 가진 block, 여러 sys에 저장하는 flexibility & fast, os & san에 의해 관리
- file storage : 계층 구조, metadata, over the network에서 사용 시(공유) protocol(nfs, smb)로 접근
- object storage : data & metadata& object key, api(http,https)로 object id에 접근
object storage
bucket 안에 object가 저장됨 : bucket name, object's key, object's version id
flat address space : 진짜 폴더 구조는 아니지만 prefix를 앞에 붙임
physical storage를 붙이는 방식 / replicated across multiple nodes
EBS, EFS, instance storage 그리고
S3
- region 고르고 relicated across a minimum of 3 az : durability, availability
- fully scalable service : 크기 개수 형식 제한 없음
- data 양에는 제한이 없지만, 각 object는 5tb를 넘으면 안됨
- GB per month
- 5GB of S3 1년동안
S3 Storage classes
얼마나 자주 데이터에 access 하느냐?에 따라 구분
- active storage
- you use all the time, 접근은 덜하는데 중요한 데이터
- ex) 웹사이트를 위한 static files, html(항상 access될 수 있어야 함)
- archive storage
- 거의 접근 안하는데 꼭 유지되어야 하는거
- ex) 방송사 테이프
8강
bucket
- globally unique 근데 region을 택하긴 해야 함 (일단은 내가 속한 region으로 됨)
- https://photobucket.s3.amazons.com/2021-04-13/myphotos.zip 에서 photobucket은 prefix, 2021-04-13/myphotos.zip 은 object를 구별할 수 있는 key
- object ownership (acl) : 누가 어떤 object에 접근할 수 있는지 list. 각 object가 가짐. 설정 안하면 자동으로 꺼짐
- block public access : aws acc 밖에 사람들이 object를 어떻게 보고 사용할 수 있는지 / 디폴트는 다 block public access
versioning
- 실수, 고친 거, 최종, 찐최종 이런 느낌. 혹은 임시저장. 잘못되면 돌아가기.
- default : 불가, 한번 versioning 하면 돌아갈 수 없음. 잠깐 중단은 가능
- 가장 최근 거는 key가 url에 없음
- versioning 하면 유니크 Id 부여
- tag를 달아서 track your storage costs (tag는 unique, key는 유니크 아니어도 됨)
uploading objects
- storage 언제든 바꿀 수 있음
- multipart upload : fully utilize nw bandwidth 하면 speed를 높일 수 있음 (세개 파트로 나눠서 object는 upload하고 동시에 s3 bucket에 업로드하면 s3가 모아서 obejct 생성해줌)
working with objects
- 진짜 aws 작업 area에서는 rename, move api가 없고 실제로는 copy하는 거. 왜냐면 http api 베이스여서.
- 복사본 만들기, rename object, move an object, change object metadata
- url로 download object 혹은 from url, console
- deleting objects : multi-fator authentication
additional features
transition actions : storage class to another
expiration actions : objects expire and are deleted (1년후 자동으로)
replication rules : automatic copying of objects across s3 buckets / availability, durability를 높임
cross-region repliaction & same-region replication
- cross-region repliaction : copy objects across amazon s3 buckets in different aws regions / compliance requirements(재해 생겼을 때 회복하기 위해서), minimize latency 요구될때
- same-region replication : 하나의 버킷, 하나의 지역으로 aggregate logs 를 한다. / production과 test 사이에 같은 데이터를 쓰기 위해 replication 생성.
bucket security
: grant access 하는 방법
1. IAM role이 IAM policy를 define해서 EC2나 acc에게 부여
왜냐면 amazon s3는 private by default 심지어 스스로도 부여해야함
2. bucket policy : json 형식, bucket에 붙어있음
'CS' 카테고리의 다른 글
클라우드 컴퓨팅 9~10강 ; network (0) | 2024.10.19 |
---|---|
클라우드 컴퓨팅 2강~5강 (1) | 2024.10.19 |