AWS 입문 및 클라우드 서비스 기초 | Amazon Web Service
클라우드 컴퓨팅의 개념과 Amazon Web Service (AWS) 기술 요소를 요약합니다.
AWS는 클라우드 컴퓨팅을 통해 전 세계적으로 연결된 원격 컴퓨터를 활용하여 다양한 IT 리소스를 제공하는 서비스입니다.
가상 서버, 데이터베이스, 스토리지, 보안 등을 효율적으로 관리하고 활용할 수 있습니다.
클라우드의 유형과 AWS의 핵심 서비스를 이해하면, 나만의 서버 및 데이터베이스를 쉽게 구축하고 관리할 수 있습니다.
클라우드 용어
클라우드 컴퓨팅 Cloud Computing
- 인터넷을 통해 연결된 원격 컴퓨터를 활용하여 컴퓨터 시스템, 서버, 스토리지, 데이터 베이스, 네트워킹 등의 컴퓨팅 리소스에 대한 접근과 이용을 가능하게 하는 기술
IaaS Infrastructure as a Service
- 기본적인 IT 인프라 구성요소들 (CPU, OS, 메모리, 네트워크, 스토리지) 을 가상화하여 유연하게 제공
- 사용자가 물리적 하드웨어를 소유하거나 유지보수하지 않고도 필요한 컴퓨팅 리소스를 활용 가능
- Self Manage (사용자 책임): Application, Data, Runtime, Middleware, O/S
- Vender Manage (클라우드 공급자 책임): Virtualization, Servers, Storage, Networking
PaaS Platform as a Service
- 개발자들이 웹기반의 서비스 또는 애플리케이션 등의 개발, 테스트, 배포 시 필요한 플랫폼을 클라우드에서 제공
- 개발자들이 인프라 관리에 집중하지 않아도 됨
- Self Manage (사용자 책임): Application, Data
- Vender Manage (클라우드 공급자 책임): Runtime, Middleware, O/S, Virtualization, Servers, Storage, Networking
SaaS Software as a Service
- 어플리케이션을 인터넷 및 웹 브라우저를 통해 제공 (Ex. Gmail, MS Office 365)
- 사용자는 별도의 설치 과정 없이 웹 브라우저를 통해 해당 어플리케이션을 이용 가능
- Vender Manage (클라우드 공급자 책임): Application, Data, Runtime, Middleware, O/S, Virtualization, Servers, Storage, Networking
인프라 환경
Region
AWS에서 제공하는 서비스들이 위치한 지역 (물리적 분리, 독립적인 인프라)
전 세계 (서울 포함)에 Region을 구축하여 사용자의 위치에서 가장 가까운 곳에서 서비스를 이용할 수 있게 함
Availability Zone
IDC (Internet Data Center), 격리된 데이터 센터
- 하나의 Region에 다수의 Availability Zone가 위치하며, Availability Zone이 위치한 IDC는 서로 물리적으로 떨어져 있음
- 서울 Region에는 3개의 Availability Zone이 운영됨
Edge Location
- CloudFront (CDN 서비스)를 위한 캐시 서버들의 모음
- 여러 캐시 서버에 콘텐츠를 복제함으로써 사용자들이 빠르게 콘텐츠를 받을 수 있음
Storage
DAS Direct Attached Storage
- 스토리지를 서버에 직접 연결하는 방식
NAS Network Attatched Storage
- 스토리지를 빠른 네트워크로 연결하는 방식, 파일 단위로 데이터 접속, OS에 파일 서버로 표시
SAN Network Attatched Storage
- 스토리지를 빠른 네트워크로 연결하는 방식, 블록 수준에서 데이터 저장, 디스크로 나타남
스냅샷 (Snapshot)
- 특정 시간에 데이터 저장 장치의 상태를 별도의 파일 및 이미지로 저장, 유실된 데이터 복원 가능
AWS Services
Computing Service
Amazon EC2 (Elastic Compute Cloud)
- 가상화된 컴퓨팅 리소스인 서버(인스턴스)를 유연하게 제공하는 서비스
- 다양한 타입과 서비스에 따른 사양 제공
- 한 개의 인스턴스에서 수천 개의 인스턴스로 확장 가능
- 쉽게 서버를 생성하고 인프라를 구축 가능함
- EC2 구매 옵션
- On-Demand: 실제 사용한 시간당 사용량 과금, 자주 서버를 삭제/생성하는 경우
- Reserved: 장기적으로 변경없이 1 or 3년 예약 (사용률 확정)
- Spot: 단기적으로 병렬 컴퓨팅 파워를 사용하는 경우 저렴
- Dedicated: 고객 전용 하드웨어 사용 목적, 높은 보안
Amazon Auto Scaling
- 서버 자원을 추가로 생성하고 자동으로 삭제 가능한 서비스
- 가용성과 확장성
Amazon Lightsail
VPS (Virtual Private Server, 가상 사설 서버)에 대한 웹 사이트 및 어플리케이션 배포/관리 기능을 제공
컴퓨팅, 스토리지, 네트워크를 저렴하고 투명한 비용으로 제공
Amazon WorkSpaces
- 사내 PC를 가상화로 구성하여 데이터를 서버에서 보관 가능하도록 해주는 데스크톱 가상화 서비스
- 보안 및 백업 관리가 용이
Networking Service
Amazon Route 53
- 클라우드 기반 DNS (Domain Name System) 웹 서비스, 도메인 관련 기능 제공
- Health Checks and Failover, 엔드포인트에 대한 상태 확인
- 라우팅: 지연 시간, 가중치, 지역 기반
Amazon VPC (Virtual Private Cloud)
- 가상 시설 네트워크 인프라를 클라우드 내 구성, 네트워크를 이용한 접근제어 서비스 제공
- VPC 자체 IP 주소 범위, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 선택 등 가상 네트워킹 환경 제어 가능
- IPv4, IPv6 모두 사용
AWS Direct Connect
- AWS-On-Premise 전용선 서비스를 통해 낮은 지연시간으로 데이터를 공유 가능
- 높은 성능과 낮은 지연 시간
Amazon ELB (Elastic Load Blancer)
- 사용량이 많은 서버에 트래픽에 대한 부하 분산을 통해 네트워크 트래픽을 인스턴스로 전달
- 클라이언트 요청을 여러 EC2 인스턴스로 분산시키며, 각 인스턴스의 상태를 모니터링
Storage Service
Amazon S3 (Simple Storage Services)
- 범용적인 스토리지, 무한대로 저장 가능
- 데이터 보관 및 정적 웹 사이트 호스팅 등 여러가지 용도로 활용 가능
- Bucket이라는 Region 내 영역을 생성하고 데이터를 Key-Value 형식의 객체로 저장함
- 파일 단위의 접근만 지원하기 때문에 EBS 서비스와는 다른 특성
Amazon Glacier
- 사용 빈도가 낮은 데이터를 저렴하고 무제한으로 보관가능한 스토리지 서비스
- API/SDK를 이용한 Direct 연결이나 S3 라이프 사이클을 통해 데이터에 접근
Amazon EBS (Elastic Block Storage)
- SSD를 활용하여 데이터의 입출력 속도가 빠르고 고성능 서비스에 적합한 스토리지 서비스
- EC2에 디스크를 연결하여 서비스를 사용 가능
- EBS 볼륨의 데이터를 스냅샷으로 만들어 Amazon S3에 백업 가능
AWS Storage Gateway
- On-Premise에 있는 데이터를 클라우드로 저장 보관
- 다양한 데이터 저장 옵션을 제공하는 하이브리드 환경
AWS Snowball
- 네트워크가 아닌 디스크/스토리지를 통해 대용량 데이터를 저장하고 물리적으로 전달 후 업로드 해주는 서비스
- 대용량 데이터를 AWS로 이전할 때 유용
Database Service
Amazon RDS (Relational Database Service)
- RDBMS를 쉽게 구축, 운영 및 확장할 수 있는 관리형 데이터베이스 서비스
- 직접 EC2 인스턴스에 설치하여 운영
- 인스턴스/스토리지 확장 가능, 백업 및 복원, RDS 암호화 옵션
- Amazon Aurora, PostgresSQL, MySQL, MariaDB, Oracle, Microsoft SQL Server 등 선택 가능
- AWS Database Migration Service로 쉬운 마이그레이션
Amazon DynamoDB
- NoSQL 활용 서비스
- 유연한 스키마 모델을 사용, 자동으로 확장되는 용량 및 처리량을 제공
Amazon ElastiCache
- 높은 응답속도를 필요로 하는 서비스에 적합한 In-Memory 기반 Cache 서비스
- Redis 또는 Memcached 등 인메모리 데이터 스토어를 제공
Platform
Amazon Kinesis
- 대량의 데이터를 저장/분류
- 효율적인 스트리밍 데이터 처리, 실시간 데이터 처리
- Kinesis Streams로 데이터 스트림을 생성, Kinesis Firehose로 데이터를 저장/전송
Amazon Redshift
- 확장가능한 데이터 웨어하우스, 빠른 성능
Amazon EMR
- 저장된 대용량 데이터를 분류 및 분석
- Apache Hadoop, Apache Spark와 같은 오픈 소스 분산 프레임워크를 사용
Application Service
Amazon CloudSearch
- 검색 엔진을 구축하고 관리할 수 있는 관리형 검색 서비스
Amazon SES (Simple Email Service)
- 대량 메일 발송 서비스
Amazon Elastic Transcoder
- 동영상 인코딩 서비스
Security
AWS IAM (Identify & Access Management)
- 사용자 인증 및 권한 관리 서비스
- 사용자, 그룹 및 역할을 생성하여 AWS 리소스에 대한 접근을 제어
Amazon GuardDuty
- 관리형 위험탐지 서비스
- 기계 학습 및 분석을 활용하여 비정상적인 악성 활동 및 보안 위을 모니터링
AWS Shield
- DDos 보호
- 웹 애플리케이션 방화벽(WAF)을 활용
AWS WAF (Web Application Firewall)
- 악성 웹 트래픽 필터링 서비스
- 사용자 지정 보안 규칙을 정의하여 SQL 삽입, XSS (크로스 사이트 스크립팅) 등과 같은 웹 공격으로부터 보호
AWS 방화벽
- ACL(NACL), AWS WAF를 통해 네트워크 트래픽을 관리
- Security Group
- 인스턴스에 대한 인바운드, 아웃바운드 네트워크 트래픽을 제어하는 가상의 방화벽
Load Balancing
- 네트워크 트래픽을 하나 이상의 서버나 장비로 분산하기 위해 사용
- 외부에서 발생되는 인터넷 트래픽을 여러 웹 서버나 장비로 분산 처리
Amazon Elastic Load Balancing (ELB)
- EC2 인스턴스 및 컨테이너, IP 주소 등 동일한 서비스를 제공하기 위한 여러 대상으로 애플리케이션 및 네트워크 트래픽을 자동으로 분산시킴
- Application Load Balancer (ALB): HTTP/HTTPS 트래픽의 라우팅에 적합
- Network Load Balancer (NLB): TCP/UDP 트래픽을 처리하는 데 적합
- Classic Load Balancer: 여러 EC2 인스턴스 간에 트래픽을 분산
- Health Check, Sticky Session, 고가용성 구성, SSL Termination 및 보안 기능
This post is licensed under CC BY 4.0 by the author.