1. 클라우드
1) 클라우드란?
- 인터넷을 통해서 언제 어디서든지 원하는 때 원하는 만큼의 IT 리소스 (컴퓨팅, 스토리지, 네트워크)를 손쉽게 사용할 수 있게 하는 서비스
- 인터넷 통신망 어딘가에서 구름에 싸여 보이지 않는 컴퓨팅 자원을 원하는 대로 사용할 수 있다
- 내부를 보려고 하거나 알지 않아도 얼마든지 내가 원하는 것을 꺼내어 사용할 수 있다
- 인터넷이 연결된 어느 곳에서든 이것을 보장 받을 수 있다
2) 클라우드 구현 모델
- 퍼블릭 클라우드
- 클라우드 서비스 제공 업체(ex. Amazon, Google, Microsoft 등)가 운영 관리
- 사용자는 해당 클라우드의 리소스를 사용
- 인터넷만 되면 언제 어디서든 접근 가능
- 프라이빗 클라우드
- 사용자가 자신의 온프레미스(기업 데이터센터)내에 클라우드 플랫폼을 구축하여 직접 사용하는 모델
- 하이브리드 클라우드
- 퍼블릭 클라우드와 온프레미스 모두에 서비스하는 모델
(그림 출처 : 클라우드 구현 모델 3가지)
2. AWS 클라우드
1) AWS란
전 세계적으로 분포한 데이터 센터에서 다양한 서비스를 제공하고 있는 클라우드 플랫폼
2) AWS 클라우드는 인프라의 논리적인 규모에 따라 구분할 수 있다
데이터센터 < 가용영역 < 리전(엣지) < 글로벌 인프라
- 데이터 센터 : 실제 IT 인프라(서버, 네트워크, 스토리지, 로드 밸런서, 라우터 등)
- 가용 영역(AZ) : 한 개 이상의 데이터 센터들의 모음
- 리전 : 해당 지리적인 영역 내에서 격리되고 물리적으로 분리된 여러 개의 가용 영역의 모음
- 엣지 : 외부 인터넷과 aws 글로벌 네트워크망과 연결하는 별도의 센터
3) AWS 인프라 구조
AWS 사용자에게 권장하는 인프라 구조는 다음과 같다.
AWS를 이용한 서비스 구성시 여러 가용 영역에 분산하여 처리할 수 있도록 구성하는 것을 권장한다.
(그림 출처 : AWS 리전&가용영역&엣지)
3. AWS 주요 서비스
1) 컴퓨팅 서비스
- EC2(Elastic Compute Cloud)
- 물리 환경의 서버 컴퓨터와 유사하게 컴퓨팅 리소스를 제공하는 서비스
- 가상 머신으로 제공되며 인스턴스라고 부른다.
- 사용 목적에 따른 다양한 인스턴스 타입과 스펙(cpu, 메모리, 디스트 등)으로 구분
- 사용한 만큼 비용을 지불
- Lambda
- 프로그램을 실행하는 컴퓨팅 엔진
- AWS가 컴퓨팅 엔진 전반을 관리하기 때문에 사용자는 코드만으로 서비스 실행 가능
- 서버리스 컴퓨팅
2) 네트워킹 서비스
- VPC(Virtual Private Cloud) <- 리소스 격리
- 독립된 가상의 클라우드 네트워크
- AWS 클라우드 내 논리적으로 독립된 세션 제공
-> 사용자가 정의한 가상 네트워크상에서 다양한 AWS 리소스를 실행할 수 있게 지원
- VPN(Virtual Private Network) <- 가상 사설망
- 공용 인터넷을 통해 가상의 사설 네트워크를 구성하여 프라이빗 통신을 제공
- 이를 통해 데이터 암호화, 전용 연결 등 여러 보안 요구사항 충족 가능
- ELB(Elastic Load Balancing) <- 로드 밸런서
- AWS에서 제공하는 로드 밸런싱(부하 분산) 기술
- 서비스 대상 시스템(ex. EC2 인스턴스)에 데이터를 분산하여 전달
- 이 외에도 AWS PrivateLink(프라이빗 연결), Route 53(도메인 네임 시스템), AWS 전송 게이트웨이(네트워크 확장), AWS Direct Connect(AWS 전용 연결), AWS CloudFront(CDN) 등이 있다.
3) 스토리지 서비스
- EBS(Elastic Block Store)
- 가용 영역 내의 EC2 인스턴스에 연결되어서 사용될 수 있는 블록 스토리지
- 필요시 블록 스토리지를 생성하고 연결 가능
- 용량 증가도 가능
- S3(Simple Storage Servie)
- 객체 기반의 무제한 파일을 저장할 수 있는 스토리지
- 사용자는 URL을 통해 손쉽게 파일 사용 가능
4) 데이터베이스 서비스
- Amazon RDS (Relational Database Service)
- 관계형 데이터베이스를 이용할 수 있는 서비스
- 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 관리 작업을 알아서 처리
- Amazon DynamoDB
- 어떠한 규모에서도 10밀리초 미만의 성능을 제공하는 키-값 및 NoSQL 데이터베이스 서비스
- 대규모의 데이터 저장 및 처리 가능.
5) 그 외 서비스
- AWS CloudFormation
- 프로그래밍 언어나 텍스트 파일을 사용하여 AWS 리소스를 자동으로 배포 가능
- AWS CloudWatch
- AWS 리소스 및 온프레미스 자원을 모니터링 할 수 있는 서비스
- 데이터를 수집하여 로그 저장 가능
- 특정 조건 만족시 알람 제공.
출처
따라하며 배우는 AWS 네트워크 입문
AWS Documentation