EC2(Elastic Compute Cloud)
AWS에서 제공하는 클라우드 컴퓨팅 서비스로 인터넷(클라우드)을 통해 서버, 스토리지, 데이터베이스 등의 컴퓨팅 서비스를 제공한다.
쉽게 말해서 아마존에서 가상 컴퓨터를 한대 빌린다 생각하면 된다.
Elastic?
사용한 만큼 비용을 지불하기 때문에 탄력적인(Elastic) 이라는 단어가 붙어있다.
Elastic은 비용적인 부분뿐만 아니라 필요에 따라 성능, 용량을 자유롭게 조절할 수 있다는 의미도 갖고 있다.
장점
- 컴퓨팅을 구성하는 시간이 짧다.
- 다양한 운영체제에 대한 선택이 가능하다.
- EC2에서는 AMI(Amazon Machine Image)라는 다양한 템플릿을 제공하고 있어서 필요에 따라 운영체제를 선택하고 구성할수 있다.
- 운영체제뿐만 아니라 CPU와 RAM과 같은 스펙을 쉽게 구성할 수 있다.
인스턴스(Instance)
1대의 컴퓨터를 의미하는 단위로 AMI를 토대로 구성된다.
AWS에서 컴퓨터를 빌리는 것을 인스턴스를 생성한다고 한다.
AMI(Amazon Machine Image)
소프트웨어 구성이 기재된 템플릿으로 다양한 종류의 이미지가 존재한다.
단순히 운영체제(Windows, Mac, Linux .. )만 설치되어있는 템플릿을 선택할 수도 있고 특정 런타임이 설치되어 있는 템플릿이 제공되는 경우도 있다. (Ubuntu + node.js, Windows + JVM 등)
RDS(Relational Database Service)
AWS에서 제공하는 관계형 데이터 베이스 서비스
장점
- EC2 인스턴스에 데이터베이스 엔진 설치 VS RDS
EC2인스턴스에 데이터 베이스 엔진 설치 | RDS | |
데이터베이스 규모 확장 | 직접 관리 | AWS가 관리 |
가용성, 내구성 확보 | 직접 관리 | AWS가 관리 |
데이터 백업 | 직접 관리 | AWS가 관리 |
데이터 베이스 설치/관리 | 직접 관리 | AWS가 관리 |
운영체제 설치/관리 | AWS가 관리 | AWS가 관리 |
기반 시설 구축 | AWS가 관리 | AWS가 관리 |
- 다양한 데이터 베이스 엔진 선택지 제공
S3(Simple Storage Service)
AWS에서 제공하는 클라우드 스토리지 서비스
장점
- 확장성: 스토리지 규모를 확장/축소에 용이하며 사용한 만큼의 비용만 지불한다면 스토리지 용량을 무한히 확장할 수 있다.
- 내구성: 저장된 파일을 유실할 가능성이 감소한다.
- 가용성: 저장된 파일들을 정상적으로 사용할 수 있는 기간이 늘어난다.
- AWS에서 클라우드 서비스를 제공하기 위해 운영하는 물리적인 서버의 위치를 리전(Regions)이라 부르는데, 리전에는 가용영역이 위치한다. 가용영역(Availability Zone)이란 각 리전 안에 존재하는 데이터 센터(IDC)를 뜻하는데, 한 곳의 가용 영역이 재난이나 사고로 인해 가동이 불가능해지더라도 다른 가용 영역에 백업을 해놓은 데이터를 활용하여 문제없이 서버가 가동되게 한다. 이런 가동 방식 더분에 AWS에서 제공하는 서비스들은 높은 가용성과 내구성을 보장한다.
- 저장소의 목적에 따라 효율적으로 선택할 수 있는 다양한 스토리지 클래스 제공한다.
- 대표적으로 Standard 클래스와 Glacier클래스가 있다.
- Standard Class: 범용적인 목적으로 데이터에 빠른 속도로 접근할 수 있고 데이터 액세스 요청에 대한 처리속도가 빠르다. 하지만 데이터를 장기간 보관하는 목적으로는 높은 비용이 발생하기 때문에 효율적이지 않다.
- Glacier Class: 적은 비용이 발생하므로 장기간 보관 목적으로 효율적이다. 하지만 저장된 데이터에 액세스하는 속도가 느리다.
- 정적 웹 사이트 호스팅이 가능하다.
S3의 핵심 개념
버킷
S3에 저장되는 파일들을 담는 바구니로 파일을 저장하는 최상위 디렉터리를 의미한다.
- 무수히 많은 파일을 저장 할 수 있다.
- 버킷의 이름은 각 리전(Region)에서 고유해야 한다.
- 버킷의 정책을 생성하여 액세스 권한을 부여할 수 있다.
객체
버킷에 담기는 파일을 의미하며 S3에서 저장소에 데이터를 저장할 때 key-value 형식으로 데이터를 저장하기 때문에 객체라 불린다.
- 파일의 값에는 실제 데이터를 저장하며 S3값으로써 저장될 수 있는 데이터의 최대 크기는 5TB이다.
- 객체는 파일과 메타데이터(객체의 생성일, 크기, 유형과 같은 객체에 대한 정보가 담긴 데이터)로 구성되어 있다.
- 모든 객체는 고유한 키를 가짐으로써 식별자 역할을 한다. 파일의 키를 통해 원하는 객체를 검색할 수 있다.
- URL 주소를 통해 객체에 접근이 가능하다.
- URL 주소 형식 - http://[bucket name].S3.amazonaws.com/[object key]
Cloud Front
AWS에서 제공하는 CDN서비스로 각지의 데이터 선터에 데이터를 분산시켜 저장해두고 가까운 지역에서 데이터를 주는 방식으로 사용자가 더 빠르게 서비스를 제공받을 수 있다.
CDN(Content Delivery Network)
지리적으로 분산된 서버들을 연결한 네트워크로써 웹 컨텐츠의 복사본을 사용자에 가까운 곳에 두거나 동적 컨텐츠(예: 라이브 비디오 피드)의 전달을 활성화하여 웹 성능 및 속도를 향상시킨다.
https://www.ibm.com/kr-ko/topics/content-delivery-networks
'DevOps' 카테고리의 다른 글
[Cloud] 운영 환경 구성 (0) | 2023.07.24 |
---|