딩코딩코딩 2023. 7. 12. 17:41

컴퓨팅 서비스(Computing Service)

EC2(Elastic Compute Cloud)

- AWS에서 가장 기본적이면서 널리 쓰임, 물리 환경의 컴퓨터처럼 컴퓨팅 리소스를 제공

- 사용한 만큼 지불하는 형태(PC방)

- 클라우드에서 컴퓨팅 파워의 규모를 자유자재 변경 가능

- 가상 머신으로 제공되며, 인스턴스라고 불림!

- 안전성을 위해 여러 AWS 리전과 가용 영역에 걸쳐 배포됨

 

Auto Scaling

- 트래픽에 따라 EC2 인스턴스들을 자동으로 확장/제거 

- ELB(Elastic Load Balancer)와 함께 사용되는 기능으로 특정 트래픽 초과시 자동으로 EC2 인스턴스 생성, 다시 트래픽이 줄어들면 추가 생성하였던 EC2 인스턴스들을 삭제하는 유연한 서비스를 구축할 수 있도록 도와주는 서비스

 

Lightsail

- 주어진 리소스 옵션(Ubuntu, Node, Nginx, WordPress, Django)중 하나를 택하여 단일 가상 서버를 쉽게 설정 가능

- 프로젝트를 빠르게 시작하는 데 필요한 가상머신, SSD기반 스토리지, 데이터 전송, DNS(Domain Name Server)관리, 정적IP가 포함됨

 

WorkSpaces

- 데스크톱 가상화 서비스로 사내 PC를 가상화로 구성하여, 문서 및 데이터를 개인 PC에 보관하지 않고 서버에서 보관, 관리할 수 있도록 해주는 서비스

- Amazon WorkSpaces를 사용하면 하드웨어 인벤토리, OS 버전 및 패치, 가상 데스크톱 인프라(VDI)를 관리하는 복잡성을 제거하여 데스크톱 제공 전략을 간소화할 수 있음

 

ECS(EC2 Container Service)

- 클라우드 서버인 EC2를 Docker 컨테이너로 관리 가능하도록 나온 서비스

- 컨테이너를 실행하는 고도로 안전하고, 안정적이고, 확장 가능한 방식

 

EB(Elastic Beanstalk)

- Java, .NET, PHP, NodeJS, Python, Ruby, Go, Docker를 사용하여 Apache, Nginx, Passenger, llS와 같은 친숙한 서버에서 개발된 웹 애플리케이션 및 서비스를 간편하게 배포하고 조정할 수 있는 서비스

- 주로 간단한 서비스 배포용으로 사용하는 편

- 코드를 업로드하기만 하면 용량 프로비저닝, 로드 밸런싱, Auto Scaling부터 시작하여 애플리케이션 상태 모니터링에 이르기까지 자동으로 처리

-Heroku와 비슷한 PaaS와 같은 서비스, 정확히 PaaS는 아니지만 앱을 배포하는 점에 있어서 더 수월한 서비스.

- Lightsail과 비슷한 범주


네트워킹 서비스(Networking Service)

VPC

- 클라우드 가상 네트워크 구축 서비스

- IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경을 완벽하게 제어할 수 있고, VPC에서 IPv4와 IPv6를 모두 사용하여 리소스와 애플리케이션에 안전하고 쉽게 액세스 할 수있음

 

ELB(Elastic Load Balancing)

-접속량이 많을 경우 L4(Load Balancing) 트래픽을 분산해주는 역할, 고가용성 서비스를 구축할 수 있도록 하는 서비스

-들어오는 애플리케이션 트래픽을 Amazon EC2 인스턴스, 컨테이너, IP 주소, Lambda 함수와 같은 여러 대상에 자동으로 분산

 

CloudFront

- 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 글로벌 콘텐츠 전송 네트워크(CDN) 서비스. AWS의 CDN(Content Delivery Network, 콘텐츠 전송  네트워크)이라고 보면 됨.

- S3, Ec2, Elastic Load Balancing, Route 53 등과 같은 AWS 서비스와 통합되어 운영된다.

- 리전에 상관없이 엣지 로케이션 기준으로 가장 가까운 곳에서 파일 캐시를 가져오기 때문에 속도도 빠르며 비용도 EC2 혹은 S3로 서비스를 제공하는 것보다 더 저렴하다.


스토리지 서비스(Storage Service)

S3(Simple Storage Service)

정적 파일 스토리지 서비스(사진, 비디오, 문서 등 또는 Front-End 코드와 Lambda 함수 코드도 해당)

- 사용자는 URL을 통해 파일 사용 가능

- 다른 유저들의 액세스를 컨트롤 할 수 있는 기능도 제공

- HTTP 프로토콜과 연동되어 정적 사이트를 호스팅하는데 사용 가능

- CloudFront를 구성하면 S3에 저장된 정적 파일이 CDN을 통해 더 효율적으로 빠르게 보급되는 장점

 

EBS(Elastci Block Store)

EC2 인스턴스에 장착하여 사용할 수 있는 가상 저장 장치(HDD나 SSD처럼 가상 컴퓨터에 장착한 저장장치)

- 주로 EC2 인스턴스에서 제공하는 기본용량보다 더 사용해야 할 때, 운영체제를 중단시키지 않고 자유롭게 늘리고 싶을 때, 영구적인 데이터 보관이 필요할 때, RAID 등의 고급 기능이 필요할 때 사용

- EC2에 설치된 OS에서 그냥 일반적인 하드디스크 또는 SSD처럼 인식되어 원하는 크기로 만들 수 있고, 성능(IOPS) 또한 원하는 수치로 설정할 수 있으며 사용자가 삭제하기 전까지 데이터가 안전하게 유지됨

- EBS를 연결하여 EBS에 파일을 저장한다면 EC2 인스턴스와 관계 없이 영구적으로 보관이 가능


EBS와 S3의 차이

- EBS(Block Storage): 사용자가 하드나 SSD를 컴퓨터에 장착하는 것처럼, 가상 컴퓨터에 직접 붙어서 폴더나 파일을 생성하는 작업

-S3(Object Storage): 웹페이지나 URL로 HTTP 통신하여 폴더나 파일을 생성할 수 있음.

-S3를 사용하면 버킷이라는 단위(버킷: 여러가지 사물을 하나에 담음) 아래 폴더 및 파일을 업로드하여 업로드 된 객체 URL로 접근하여 폴더나 파일의 내용 조회 및 수정 가능

  Amazon EBS Amazon S3
패러다임 파일 시스템이 있는 블록(block)스토리지 객체(Object)스토리지
성능 매우빠름 빠름
중복성 하나의 가용영역 내에서, 여러 서버에 복제되어 저장됨 3개의 가용영역에 거쳐 저장이 됨
보안 EBS 암호화 - 데이터 볼륨 및 스냅 샷 암호화
인터넷 액세스 가능 여부 불가능 가능
일반적 사용 사례 디스크 드라이브 온라인 스토리지

※가장 중요한 차이점: 저장 방식, 같은 데이터를 저장해도 저장 방식이 다름. EBS는 블록 스토리지 방식, S3는 객체 스토리지 방식 사용.

"주차장(블록)은 직접 주차할 곳을 찾아 주차해야 하고, 꽉 차면 다른 주차장을 찾아서 주차해야 합니다. 하지만 발렛파킹(오브젝트)은 그냥 키만 건네주고, 나갈 때 번호표만 주면 알아서 차를 가져다 줍니다."


데이터베이스 서비스(Database Service)

1. RDS(Relational Database Service)

- 관계형 데이터베이스 이용할 수 있는 서비스

- DB 설정, 패치, 백업 등 시간 소모적인 관리 작업을 AWS에서 처리

- RDBMS 클라우드 서비스: Amazon Aurora, MySQL, MariaDB, PostgreSQL, Oracle, SQL Server 등을 지원

 

2. DynamoDB

- 어떠한 규모에서도 10ms 미만의 성능을 제공하는 key-value형태의 NoSQL 데이터베이스 서비스

- 데이터 규모와 관계없이 데이터를 저장 및 검색하고, 어떤 수준의 요청 트랙픽이라도 처리할 수 있는 데이터베이스 테이블 생성 가능


관리 툴(Management Tools)

1. CloudWatch

- AWS 서비스들은 모니터링하거나 알람을 받는 설정들을 할 수 있는 서비스

- 특정금액 초과할 경우 알람을 받거나 EC2의 CPU 사용률등의 알람도 가능하다.