AWS 클라우드 컴퓨팅 발전사
물리적 onPromise 서버
=> 가상화 (Amazon EC2)
=> 컨테이너화 (Amazon Elastic Container Service)
=> 서버리스 (AWS Lambda)
=> 서버리스 컨테이너화 (AWS Fargate)
=> 특화 프로세서 (AWS Gravition 프로세스)
EC2 인스턴스
AWS의 가상서버다
생성 과정
- AMI(Amazon Machine Image)를 사용해서 OS를 정함
- 사전 구축(AWS가 제공),
- AWS MarketPlace
- 자체 생성
- Instance Type :
- FGAS (Family,Generation,Attribute,Size)로 표기
- ex) t3a.large
- EBS: 물리적으로 떨어져 있는 Storage 서버, 네트워크로 연결, 데이터 비휘발성
- Instance Store: 물리적으로 연결, EBS에 비해 빠름, 데이터 휘발성
- EBS Optimised: EBS에서 데이터를 읽거나 쓸 때 쓰는 네트워크 쪽을 좀 더 강화한 버전
- Configure Instance
- 사용자데이터
- VPC, Subnet
- Spot Instance
- 싸다, AWS가 2분후에 가져감 => stateless 어플리케이션에 적합함
- ENI
- Public IP
- 배치 그룹
- 클러스터 : 빠른 대신 장애 발생시 안정성 낮음
- 분산 : 느린 대신 장애에 대해 안정성 높음
- 파티션 : 각자 역할을 파티션 별로 분리 (하둡 등 할 때 사용)
- Add Storage
- Add Tags
- 관리, 검색, 필터링에 사용됨
- 붙이는 규칙 정해야함
- 많을수록 좋음
- Configure Security Group
- Key Pair
- public key
- private key
시작
소프트웨어 설정(Web, WAS)도 할 수 있고
image를 만들어서 MY AMI에 저장하면 편하게 찍어낼 수 있음
=> 서버에 부하가 걸릴 때 Auto Scaling이 Lanch Template으로 같은 서버 계속 찍어냄
공유 및 전용 테넌시
- 공유 테넌시(default)- EC2 인스턴스가 어떤 하드웨드에 올라갈지 모름
- 전용 테넌시
- 전용 인스턴스 - 어느 하드웨어에 올라갈진 모르는데, 하드웨어에 다른 인스턴스가 올라가진 않음
- 전용 호스트(하드웨어 선택) - 호스트 id가 고객에게 제공됨,
인스턴스 유저데이터
인스턴스 메타데이터 - ex) instance id, MAC, public hostname, public ipv4, local hostname 등...
EC2 인스턴스 수명 주기
- 보류중(pending)
- 실행중(running)
- 재부팅중(rebooting)
- 중지중(stopping): 중지 시키는 순간 IP 주소도 바뀌고 인스턴스 스토어 날라감
- 중지됨(stop)
- 종료 중(shutting-down)
- 종료 됨(terminated)
EC2 요금제
- onDemand 인스턴스
- 사용한 만큼 낸다
- 제일 비쌈
- 들쭉날쭉한 워크로드 또는 일시적으로 필요한 경우 사용
- 예약 인스턴스
- onDemand 보다 쌈
- 1년 또는 3년 약정
- saving Plans
- 예약 인스턴스와 비슷
- But 더 높은 유연성 가지고 있음
- Fargate 나 Lambda
- 스팟 인스턴스
- AWS에서 남는 여분을 제공하는 것이라 매우 쌈
- 대신 2분 전에 알림 주고 가져감
- 내결함성(일부 고장나도 돌아가는), stateless 어플리케이션에적합
Amazon EBS(Amazon Elastic Block Store)
불륨이 EC2 인스턴스와 독립적으로 지속
가용 영역내에서 존재
스냅샷 기능 지원해 백업 편리함
인스턴스와 불륨들((루트 불륨(OS), 데이터 불륨들... ) 연결됨
인스턴스에 여러개의 EBS 붙일 수 있지만, 하나의 EBS에 여러개의 EC2를 붙일 수 없음 (최근 나온 io2는 가능하다고 한다)
EC2의 하드 디스크라고 볼 수 있음
생명주기
- 생성
- 연결
- 사용중
- 스냅샷 생성
- 분리
- 삭제
스냅샷은 스크린샷 처럼 그 순간의 상태 그대로 백업하는 것
인스턴스 스토어 불륨
스냅샷 지원하지 않아 자체적으로 백업해야함
지속적이지 않음 == 데이터 휘발성
배치 그룹
- 클러스터 배치그룹
- HPC(High Performance Computing) 에 많이 쓰임
- 동일한 가용영역
- 가능하면 가까이 붙임
- => 퍼포먼스 좋음, 하드웨어 장애시 같이 죽음
- 분산형 배치 그룹
- 다른 가용영역에 배치
- 되도록이면 분산 => 장애에 대한 안정성이 높음
- 파티션 배치 그룹
- 논리적 세그멘트로 나누는 것 => 서로 다른 파티션의 인스턴스들이 하드웨어 공유X
- 대규모의 분산 및 복제된 워크로드에 필요함
- 고가용성, 내구성 높이기 위한 데이터 복제
- ex) 하둡 등을 사용할 때
AWS Lambda
서버리스 컴퓨팅
Node.js, Java, Python, C#, Go, PowerShell, Ruby 등 지원
코드, 라이브러리, 메모리, 시간, 권한, 구성정보를 API 형태로 작동하도록 람다에 넣어주면
이벤트 발생시 람다가 구동되어 원하는 대로 aws 서비스 조작
사용 예시
'TIL > AWS' 카테고리의 다른 글
[AWS] AWS 볶음밥6 (스토리지) (0) | 2022.07.21 |
---|---|
[AWS]AWS 볶음밥5 (데이터베이스) (0) | 2022.07.21 |
[AWS] AWS 볶음밥3 (네트워크) (0) | 2022.07.20 |
[AWS] AWS 볶음밥2 (계정, 보안) (0) | 2022.07.20 |
[AWS] AWS 볶음밥1 (0) | 2022.07.20 |
댓글