컴퓨팅의 3대 모델은 인프라(IaaS), 플랫폼(PaaS), 소프트웨어(SaaS)가 있습니다.
가상 서버를 빌려줌으로써 빌린 서버로 다양한 서비스가 가능
AWS에서 EC2가 이에 해당
대표적인 aws를 이용한 서비스는 넷플릭스
애플리케이션과 데이터를제외하면 모두 지원해주기 때문에 애플리케이션 개발,관리에 집중할 수 있음 대표적으로 Paas 데이터베이스들이 해당됨 RDS
만들어진 완전한 제품을 제공 SaaS를 이용할 경우 이 특정 소프트웨어를 어떻게 사용하지만 생각하면됨. 완성본 소프트웨어가 해당됨
AWS 같은 클라우드 서비스에서 100% 배포를 담당하는 형태로 퍼블릭 클라우드라고 부르기도함.
크게 2가지 이용방식이 있는데 하나는 새 어플리케이션을 개발 후 제공하는 방법 다른 하나는 기존 애플리케이션을 클라우드로 이전하는 방법이 있음.
일부는 퍼블릭 클라우드 나머지는 온프레미스 환경에서 제공하는 방식 현대 대부분 기업들은 온프레미스환경에서 방대한 인프라와 데이터를 축적 해두었기 때문에 일시에 이전하기 힘들기 때문에 하이브리드 클라우드를 사용
AWS같은 외부 클라우드 서비스를 이용하지 않고 서비스를 위한 인프라를 직접 구축하는 방법
- 온프레미스(on-premise)는 소프트웨어 등 솔루션을 클라우드 같이 원격 환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식을 말한다.
Q) 클라우드 온프레미스 차이점
클라우드 | 온프레미스 | |
---|---|---|
비용 | 온디멘드 (쓴만큼지불) | 초기 구축비용큼 유지보수 비용큼 |
확장성 | 비교적 쉬움 | 어려움,물리적 한계존재 |
구축에 걸리는 시간 | 몇 분 이내 | 오래 걸림 |
EC2- 클라우드를 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공하는 서비스
-> pc방에서 고사양게임을 하기위해 피시를 구매하지않고 빌려쓰는 개념
인스턴스
하나의 가상 컴퓨팅 환경을 인스턴스라고하며 필요한 메모리, 컴퓨팅 파워를 기준으로 유형을 선택 할 수 있습니다.
Amazon Machine Image(AMI)
실행되는 서버에 대한 모든 소프트웨어 환경 설정 정보를 포함한 기본 설계도 또는 청사진
각각 목적에 맞춰 환경설정을 위함
인스턴스 구입 옵션
On-Demand - 사용한만큼 지불
Reserved - 좀 더 저렴하게 예약된 만큼사용 (예약 기간은 1년 또는 3년 약정이 적용)
Spot - 온디맨드보다 큰 할인율로 미사용 EC2 인스턴스를 요청하여 사용하는 방식
Virtual Private Cloud(VPC)
클라우드 내 프라이빗 공간을 제공함으로써, 클라우드를 퍼블릭과 프라이빗 영역으로 논리적으로 분리할 수 있게 해주는 가상 네트워크망
VPC를 분리함으로써 확장성을 가질 수 있고, 네트워크에 대한 완전한 통제권을 가질 수 있음.
스토리지 - 방대한 데이터 저장 서비스
AWS 스토리지 서비스는 세개의 카테고리로 구분됩니다.
객체 스토리지(Object Storage) - 문서, 이미지, 비디오 등 단순한 메타 데이터를 담고 api를 통해 제공 (ex. s3)
블록 스토리지(Block Storage) - 디스크 볼륨의 형태로 제공되는 데이터 EC2 인스턴스에 포함된 볼륨에 고속으로 접근 가능 (ex. EBS)
파일 스토리지(File Storage) - 서버 인스턴스에 파일 시스템 인터페이스 방식으로 제공되는 데이터를 의미하며, 서버 인스턴스에 파일 스토리지를 추가하면 로컬 파일 시스템처럼 작동 (ex. EFS)
Q) 객체, 블록, 파일 스토리지에 차이점, 장단점은?
능력 | 오브젝트 스토리지 | 파일 스토리지 | 블록 스토리지 |
---|---|---|---|
일관성 | 궁극적인 일관성 신뢰성 매우높음 | 강한 일관성 | 강한 일관성 |
구조 | 비구조화 | 계층 구조화 | 블록 수준에서 고도로 구조화 |
접근 수준 | 오브젝트 수준 | 파일 수준 | 블록 수준 |
기본 개념
버킷(bucket) - 객체를 저장하는 컨테이너 역할
RDS - WS에서 제공하는 관계형 데이터베이스 서비스
굳이 AWS DB를 이용하는 이유
1. RDS는 고가용성(high availability) 아키텍처를 지원합니다.
2. 인프라 관리가 필요없음 AWS에서 전부 지원
3. 확장성이 매우 높음 사용자가 원하는대로 메모리 리소스같은 환경설정 조정가능
4. 프로비저닝이 매우 빠르다 클릭 몇 번만으로 원하는 사양의 RDBMS를 배포할 수 있음