개발자의 스터디 노트
AWS 서비스 용어 본문
1. S3
AWS가 제공하는 클라우드 스토리지 서비스입니다.
99.99999999999%(9가 11개)라는 높은 내구성이 특징인 스토리지로 미리 스토리지 용량 등을 정의하지 않고 사용할 수 있으며 데이터 공개 정책, 데이터 암호화, 비용 효율적으로 데이터를 장기 보관하기 위한 라이프사이클 정책 등의 많은 기능을 제공하는 유용한 서비스입니다.
S3에서는 스토리지의 기본단위로 버킷(Bucket)이라고 불리는 영역을 생성하고 그 안에 파일을 저장합니다.
2. CloudFront
AWS가 제공하는 콘텐츠 전송 네트워크(Content Delivery Network. CDN) 서비스입니다. CDN은 인터넷에서 웹 콘텐츠, 이미지, 동영상, 애플리케이션 등을 빠르게 전송하기 위한 구조로 되어 있습니다. CloudFront는 전 세계에 많은 에지 로케이션(데이터를 전송하기 위한 지점)을 갖고 있어 사용자가 접속한 가장 가까운 장소에서 콘텐츠를 제공할 수 있습니다.
3. RDS
AWS가 제공하는 관계형 데이터베이스(Relational DataBase, RDB)입니다. RDS에서는 OS나 미들웨어 관리, 운영에 필요한 많은 작업을 담당하므로 개발, 운영에 필요한 인적 자원을 애플리케이션에 집중할 수 있습니다.
RDS에서 제공되는 데이터베이스 엔진은 Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database, SQL Server의 6종류가 있습니다.
RDS에서는 멀티 AZ 구성(여러 개 가용 영역에 인스턴스를 배치하여 다중화하는 구조)을 지원하고 서비스 환경 운영에서 요구되는 가용성을 실현할 수 있습니다.
4. ECR
AWS가 제공하는 컨테이너 레지스트 관리형 서비스입니다. 컨테이너를 이용하여 애플리케이션을 작동시키는 경우 컨테이너 이미지를 저장하고 다운로드할 수 있는 구조로 컨테이너 레지스트리를 사용합니다.
컨테이너 레지스트리는 컨테이너 이미지를 보관하는 리포지터리며 도커 명령어 등을 사용하여 컨테이너 이미지를 등록 (push) 및 다운로드(pull)합니다.
쿠버네티스 클러스터에도 컨테이너 이미지는 컨테이너 레지스트리 통해 다운로드하는 구조로 되어있습니다.
5. EC2(Elastic Compute Cloud)
AWS에서 가상 머신을 사용할 수 있는 서비스로 다양한 형태(CPU 코어 수, 메모리 용량, 스토리지)의 가상 머신을 쉽게 구축하고 운영할 수 있습니다.
6. ELB(Elastic Load Balancing)
AWS에서 제공하는 로드밸런서 서비스입니다. ELB에는 Application Load Balancer, Network Load Balancer, Gateway Load Balancer, Classic Load Balancer라는 4종류의 로드밸런서가 제공됩니다.
Applicaion Load Balancer는 HTTP/HTTPS에 특화된 L7(레이어 7: OSI 참조 모델 애플리케이션 계층) 로드밸런서입니다. 경로 기반 라우팅(URL 경로에 따라 경로 변경), 호스트 기반 라우팅(HTTP 헤더에 설정된 Host에 따라 경로 변경) 등 Classic Load Balancer에는 없는 HTTP고유의 처리가 가능합니다.
Network Load Balancer는 L4(레이어 4: OSI 참조 모델 트랜스포트 계층) 로드밸런서입니다. 따라서 http/https 외의 프로토콜에서도 사용할 수 있습니다.
Gateway Load Balancer는 다른 회사의 가상 네트워킹 어플라이언스(Appliance)의 배포, 확장, 실행을 돕습니다. 여러 회사의 어플라이언스에 대한 로드 밸런싱 및 자동 조정 기능을 제공합니다.
Classic Load Balancer는 HTTP/HTTPS와 TCP로 분산 설정이 가능하고 기본적인 로드밸런서 기능을 제공합니다. 그러나 '분산 대상으로 EC2 인스턴스만 지정 가능', 'HTTP/HTTPS로 분산 설정할 경우에도 사용 가능한 기능 제한'등 제약 사항이 많습니다.
7.IAM(Identity and Access Management)
AWS 리소스에 접속하는 사용자나 권한을 관리하는 서비스입니다. AWS계정을 생성했을 때 제공되는 사용자(루트 사용자라고 함)는 가장 높은 권한을 가지며 계정 정보를 탈취당하면 계정이 도용되는 등 큰 문제로 이어질 수 있습니다. 그래서 AWS 관리 콘솔이나 AWS CLI 작업, 혹은 애플리케이션이나 도구를 이용하는 사용자는 루트 사용자가 아니라 사용 형태에 맞는 권한을 가진 사용자를 IAM으로 생성하여(그래서 IAM 사용자라고 함) 이용하는 것을 추천합니다.
또 IAM에서 IAM 역할(Role)을 생성하여 리소스에 설정함으로써 해당 리소스에 다른 리소스에 대한 접근 권한을 부여할 수 있습니다.
'클라우드' 카테고리의 다른 글
Docker 명령어 정리 (0) | 2022.07.18 |
---|---|
EKS 구축에 사용하는 도구 (0) | 2022.04.30 |
Amazon EKS가 무엇인가요? (0) | 2022.04.28 |
컨테이너, 도커, 쿠버네티스 (0) | 2022.04.27 |