1. 클라우드란
가. 클라우드 서비스란
1) 정의
•
컴퓨팅 리소스를 인터넷을 통해 서비스로 제공하는 것
나. 클라우드의 장점
1) 탄력성(or 확장성)
•
서비스 규모에 따라 IT 인프라를 확장/축소하는 것이 용이함
2) 안정성
•
서비스 가용률에 대한 최대한의 보장
•
서비스가 다운되는 시간과 유지보수 시간의 최소화
3) 내구성
•
예기치 못한 사고로부터 데이터가 안정하게 저장됨
4) 가격
•
물리 서버 운용 vs 서버 임대 vs 클라우드 서비스 이용
→ 클라우드 서비스 이용이 대체로 저렴
•
클라우드 서비스 비용 견적
다. 클라우드 서비스 종류
1) IaaS(Infrastructure as a Service)
•
사용자에게 컴퓨팅 인프라를 제공
•
IaaS의 구성요소 중 컴퓨팅, 스토리지, 네트워크가 핵심
•
AWS에서 각각 EC2, EBS(or S3), VPC가 위의 구성요소에 대한 서비스를 지원함
•
ex) AWS EC2
2) PaaS(Platform as a Service)
•
개발자에게 응용 프로그램을 작성할 수 있도록 플랫폼과 인프라 제공
•
ex) Heroku, Google App Engine
3) SaaS(Software as a Service)
•
클라우드 기반으로 제공되는 SW
•
ex) 구글 클라우드, MS오피스365
4) 비교
5) BaaS(Backend as a Service)
•
웹 기반 서비스에서 필요한 서버(또는 백엔드)의 일부 기능을 제공하는 Third Party 서비스
•
ex) Firebase(클라우드 데이터베이스 서비스), Auth0(클라우드 인증 서비스)
6) FaaS(Function as a Service)
•
사용자가 쓸 기능을 함수 단위로 나누어서 구현하고 이를 제공하는 서비스
•
Serverless Service로 불림
•
AWS Lambda, Google Cloud Functions
2. Storage Service
가. EBS
•
PC의 SSD와 같이 사용됨
•
E2C와 연결해서 사용함
나. S3(Simple Storage Service)
1) 객체 저장소(Object Service)
•
파일 업로드 / 다운로드가 가능함
•
파일 단위로 객체를 저장함
2) 내구성 및 가용성
•
99.9999% 내구성
•
가용성도 업체 최고 수준
3) 용도
•
주로 비니지스 용, 앱 개발 용으로 사용됨
3. Network Service
가. Route 53
1) DNS 서비스
2) 특징
•
저렴함
•
100%에 가까운 가용성 보장
나. VPC(Virtual Private Cloud)
1) 가상 사설 네트워크
•
AWS에서 개발한 서버 기반의 서비스를 운용하는데 필요한 네트워크 서비스
•
VPC 위에서 동작하는 서비스는 인터넷과 연결되어사용자에게 제공
2) Subnet
•
VPC는 용도에 따라 subnet으로 나뉨
•
Public subnet: 웹서버, 메일서버에 사용
•
Private subnet: DB, 보안 데이터, 백업 데이터에 사용
4. Computing
가. EC2
•
컴퓨팅 자원 임대 서비스
•
운영 체제, 네트워크 및 보안 설정, 전체 소프트웨어 스택 등을 사용자가 직접 지정함
→ 용량, 플릿 상태 및 성능, 결함방지 등에 대한 책임이 사용자에게 있음
나. Lambda
•
Severless Computing Service
•
사용자는 컴퓨팅 자원에 대한 신경 쓰지 않고 코드만 공급하면 됨
→ 운영체제부터 모든 컴퓨팅 자원에 대한 관리를 Lambda에서 수행함
•
PaaS보다 FaaS(Function as a Service)로 분류하는 것이 적절함
다. 비교
image from https://ngio.co.kr/5656
5. 기타
가. IAM
•
계정관리
나. RDS
•
데이터베이스
다. CloudWatch
•
모니터링
라. Lightsail
•
가상 프라이빗 서버
•
사용이 간편해서 빠르게 웹 서비스를 구축할 수 있음
•
저렴함
Reference
•
호눅스 진짜 입문자를 위한 클라우드와 AWS, https://www.inflearn.com/course/aws-starter/dashboard