앞으로 AWS구조와 서비스라는 책을 읽고 단원별로 정리를 해보려한다. 2023년도가 지나기 전에 반드시 끝까지 읽어보고 정리해 보도록 하겠다.
> AWS(Amazon Web Services) 란?
대표적인 클라우드 서비스, Amazon Web Services
Amazon Web Services (AWS)란?
- Amazon.com에서 운영하는 클라우드 서비스
- 응용 프로그램을 실행하는 컴퓨팅, 데이터베이스, 스토리지, 모바일, IoT, 기계학습 등 다양한 서비스를 제공한다.
클라우드란?
- 컴퓨터와 데이터베이스와 같은 기능을 인터넷을 통해 이용할 수 있게 해주는 서비스
점유율이 높은 AWS
미국의 정보기술 연구 및 자문 회사인 가트너(Gartner)의 조사 결과에 따르면 개방형 클라우드의 시장 점유율은 AWS가 38%로 다른 클라우드 서비스 보다 높다고 한다.
개방형 클라우드란?
- 누구나 사용할 수 있는 클라우드
> 개방형 클라우드
- GCP(Google Cloud Platform)
- Microsoft Azure
- CloudLink
클라우드와 온프레미스
온프레미스란
온프레미스 란?
- 사용자가 관리하는 시설 내에 서버 등의 기기를 설치해 운용하는 환경
장점
> 기기는 사용자가 자유롭게 이용할 수 있고, 이용 헝태에 맞게 자유롭게 구성할 수 있음.
> 이후에 들어가는 운용 비용의 비율이 비교적 낮음.
단점
> 초기투자 비용이 많이 들고 설치나 시간등 정보 시스템을 구축하기 위한 준비기간이 길어짐.
> 기기 고장 등 예측하지 못한 상황이 발생해 추가 비용이 발생 하는 때도 있음
클라우드란
- 클라우드 컴퓨팅(Cloud computing)
> 보이지 않는 컴퓨팅 자원을 활용함.
> 클라우드 서비스 제공자가 서버 등의 기기를 준비하고 거기에 구축된 가상 서버나 응용 프로그램 등을 사용자에게 제공하여 이용료를 받는 형태
장점
> 사용자는 하드웨어 장애에 대해 신경쓰지 않아도 됨.
> 기기 노후화나 고장 걱정 없이 안정적으로 컴퓨팅 자원을 사용할 수 있음.
단점
> 사용자는 제공되는 서비스 범위 내에서만 시스템을 이용할 수 있으므로 시스템 구성 자유도가 낮음.
가상화
클라우드 서비스에서 사용자는 서버를 임대하여 사용
사용자가 사용하고 싶은 사양으로 서버를 선택하면 가상화 기술을 이용해 해당 사양으로 서버를
선택하면 가상화 기술을 이용해 해당 사양의 서버를 가상으로 생성해 사용함.
가상서버는 하나 또는 클러스터링 된 물리 서버 내에 만들어짐.
서버리스
- 서버리스(Serveless) 시스템
> '서버가 없다'라는 의미
> 서비스가 이용될 때만 서버를 가동하는 방식
개방형 클라우드와 폐쇄형 클라우드
폐쇄형 클라우드 란?
> 기업 내부의 비밀을 유지하기 위해 외부에 공개하지 않도록 기업 내부에 구축하는 형태
개방형 클라우드 란?
> 모든 사람이 쓸 수 있게끔 공개된 형태
AWS는 모든 사람이 사용할 수 있는 개방형 클라우드 서비스임.
혼합형 클라우드(Hybrid Cloud)도 존재함.
서비스 제공 형태에 따른 클라우드 분류
Saas (Software as a Service) : 응용 프로그램을 서비스로 제공하는 형태
ex) Gmail, Dropbox, Office365, Zoom
Paas (Platform as a Service)
Iaas (Infrastructure as a Service) : 응용프로그램을 만들기 위한 기능을 서비스로 제공
Paas : 클라우드 서비스 제공자는 OS 및 미들웨어까지 관리, 필수기능만 사용자에게 제공
Iaas : 서버 및 네트워크 기능만 제공, 설정과 관리는 사용자의 몫
AWS 와 사용자 간의 책임 공유
- 공동책임 모델(Shard Responsibility Model) : 하드웨어나에 문제가 발생하면 AWS가 책임을 지고 복구 함.
책임범위는 이용하는 서비스에 따라 다르며 사용자는 자신의 책임범위만 운용, 관리하면 되므로 업무 부하가 줄어든다.
글로벌 시스템 구축 가능
AWS에서 관리하는 데이터 센터는 전 세계에 존재함.
> 지역별로 리전 이라는 단위로 분리되어 있음.
리전
: 각 리전에는 가용영역(Available Zone, AZ)이 여러 개 존재, 하나 이상의 데이터 센터로 구성됨.
: 각 AZ는 서로 다른 위치에 있으므로 데이터 센터 장애와 같은 대규모 장애가 발생하더라도 다른 AZ에서 서비스를 제공함.
> 사용자는 자신이 이용한 리전만 선택하면 되므로 간단히 글로벌 서비스를 구축할 수 있음.
사용한 만큼만 이용료 지불
AWS는 종량 과금제 이다.
> 대부분의 서비스는 시간당 요금이 부과 되도록 설정되어 있음. (요금 x 이용시간)
온프레미스는 하드웨어 구매등 초기 비용이 많이 발생하지만 AWS에서는 사용한 만큼 비용이 발생하므로 소규모의 서비스를 시작할 때 유리함.
> 실제 요금은 사용하는 인스턴스의 종류와 스토리지에 따라 증가함.
서버의 자원과 수를 설정에서 쉽게 변경
> AWS에서 생성한 서버는 자원이나 수를 쉽게 변경할 수 있으며 구축된 서비스의 사용자가 증가했을 때 서버 수를 늘리거나 사양을 높이는 등 유연하게 대응할 수 있음.
장애를 예상한 설계
" AWS는 장애는 언제라도 발생할 수 있다는 전제로 설계함. "
> 서버를 여러 AZ에 배포해 한 개 이상의 AZ에 장애가 발생하더라도 중단 없는 서비스를 제공할 수 있게 함.
> 시스템을 중단 없이 계속해서 실행할 수 있는 능력을 가용성이라고 함.
설계의 모범이 되는 프레임 워크
' Well-Architected '라는 아키텍처 관련 모범 사례를 모아 사용자가 안전하고 효율적인 인프라를 구축할 수 있게 지원하는 프레임워크를 제공함.
- ' Well-Architected 프레임 워크 '의 6가지 원칙
운영우수성
보안
안정성
성능 효율성
비용 최적화
지속 가능성
AWS 서비스 분류
AWS를 파악 할 때애는 서비스의 특성별로 분류해 이해하는 것이 좋다.
대표적인 서비스
컴퓨팅 서비스
> 가상 서버 : EC2
컨테이너 서비스
> ECS
스토리지
> EBS, S3
데이터베이스
> RDS, DynamoDB
관리형 서비스, 비관리형 서비스
- ' 관리형 서비스 ' 란?
> 서비스를 이용하기 위한 관리나 운영(시스템 운영)을 클라우드 서비스 제공자가 수행하는 것.
- ' 비관리형 서비스 ' 란?
> 사용자가 직접 OS 설정을 관리하거나 장애 대응을 해야하는 서비스
- ' 완전관리형 서비스 ' 란?
> 사용자가 직접 관리할 필요가 없는 서비스