데이터베이스 서비스
1. RDS(Relational Database Service)
아마존이 제공하는 완전 관리형 관계형 데이터베이스 서비스로, 사용자가 데이터베이스 관리 및 유지보수에 대한 부담 없이 손쉽게 데이터베이스를 구축하고 운영할 수 있게 지원한다.
1) 완전 관리형 데이터베이스 서비스
데이터베이스 설치, 유지 관리, 패치 적용, 백업, 모니터링 등 데이터베이스 운영에 필요한 작업을 AWS가 자동으로 수행한다.
2) 다양한 데이터베이스 엔진 지원
MySQL, PostgreSQL, Oracle, SQL Server, MariaDB, Amazon Aurora 등
3) 자동 확장 및 성능 최적화
성능 요구사항에 따라 인스턴스를 유연하게 변경할 수 있으며, 읽기 복제본(*리드 레플리카)을 활용해 읽기 성능을 확장할 수 있다.
*리드 레플리카: 메인 데이터베이스의 데이터를 복제하여 읽기 전용 작업(나머지는 쓰기 전용, 분석 전용 등)을 분산시킴으로써 데이터베이스의 성능과 확장성을 높이는 방식
4) 고가용성 및 재해 복구 기능
*다중 가용 영역 배포를 통해 자동 장애 복구 기능을 제공하여 데이터베이스의 고가용성을 보장한다.
*다중 가용 영역(Multi-AZ): 데이터베이스를 여러 지역에 복제해 장애 발생 시 자동으로 대체 리전을 활성화하여 서비스 중단 없이 지속적인 운영을 보장하는 기능
5) 자동 백업 및 스냅샷 기능
자동으로 데이터베이스 백업을 수행하고 필요할 때 특정 시점으로 데이터베이스를 복구할 수 있도록 지원한다.
6) 강력한 보안 기능
암호화, IAM을 통한 접근 제어, 네트워크 격리 및 보안 그룹 관리 등을 통해 데이터베이스 보안을 강화한다.
7) 비용 효율적 관리
종량제 과금 모델을 기반으로 하여, 예약 인스턴스 등을 통해 비용을 최적화할 수 있다.
8) RDS 사용 사례
- 웹 및 모바일 애플리케이션의 데이터 저장 및 관리
- 비즈니스 애플리케이션의 백엔드 데이터베이스 운영
- 데이터 분석 및 보고용 데이터베이스 구축
- 고성능 및 고가용성이 필요한 기업용 데이터베이스 관리
2. DynamoDB
아마존이 제공하는 완전 관리형 NoSQL 데이터베이스 서비스로, 높은 성능과 확장성을 제공하며, 대규모 애플리케이션에서 빠르고 유연한 데이터 관리를 지원한다.
1) 완전 관리형 NoSQL서비스
데이터베이스 관리, 서버 프로비저닝, 유지보수 및 패치를 AWS가 자동으로 처리하여 관리 부담을 최소화한다.
2) 높은 확장성과 성능
*수평 확장(스케일 아웃)이 가능하며, 데이터 양이나 처치량 증가에 따라 성능을 손쉽게 확장할 수 있다.
*수평 확장(스케일 아웃): 데이터베이스 노드를 추가하여 처리 능력을 높이는 방식으로, 데이터나 트래픽이 증가할 때 더 많은 자원을 추가하여 성능을 유지하거나 향상할 수 있다.
3) 빠른 응답 속도 및 저지연성
초고속의 읽기 및 쓰기 성능을 제공하여 밀리초 단위의 저지연 처리가 가능하다.
4) 내구성과 가용성 보장
데이터를 여러 aws 리전에 자동으로 복제하여 높은 내구성과 가용성을 제공한다.
5) 유연한 데이터 모델
스키마 없는 데이터 모델을 지원하여 데이터 구조를 필요에 따라 손쉽게 변경할 수 있다.
6) 자동 확장 및 *온디맨드 용량
사용량에 따라 자동으로 용량을 확장 및 축소하는 온디맨드 용량 옵션을 제공하여 비용 효율성을 극대화할 수 있다.
*온디맨드 용량: 사용자가 사전에 용량을 예측하거나 설정하지 않아도 필요에 따라 자동으로 처리 용량이 조정되어, 사용한 만큼만 비용을 지불하는 방식
7) 강력한 보안
데이터 암호화, 세부적인 접근 제어(IAM 통합), 네트워크 격리 등을 통해 높은 수준의 보안을 유지한다.
8) DynamoDB 사용 사례
- 모바일 앱 및 웹 애플리케이션의 데이터 관리
- 실시간 데이터 처리 및 분석
- 게임 및 디지털 콘텐츠 서비스에서의 높은 확장성 요구 대응
- *loT 데이터 관리
*loT(Internet of Things, 사물인터넷): 각종 기기와 센서가 인터넷에 연결되어 데이터를 서로 주고받는 기술
네트워킹 서비스
1. VPC(Virtual Private Cloud)
사용자가 AWS 클라우드 내에서 논리적으로 격리된 네트워크 환경을 구성하고 운영할 수 있게 해주는 서비스로, VPC를 통해 사용자는 자신만의 프라이빗 네트워크 환경을 구축하고 세부적인 네트워크 보안과 접근 제어를 설정할 수 있다.
1) 네트워크 환경의 논리적 격리
사용자는 AWS 내에서 자신만의 독립적인 가상 네트워크를 만들어 다른 사용자로부터 *네트워크 트래픽을 완전히 분리할 수 있다.
*네트워크 트래픽: 네트워크를 통해 전달되는 데이터의 흐름(데이터의 이동)
2) 유연한 네트워크 구성
*서브넷, *라우팅 테이블, *인터넷 게이트웨이,* NAT 게이트웨이 등을 자유롭게 구성하여 사용자의 요구에 맞는 *네트워크 토폴로지를 구현할 수 있다.
*서브넷: VPC 내에서 IP 주소 범위를 나누어 관리하는 하위 네트워크로, 리소스를 더 세부적으로 그룹화하고 보안 정책을 적용하거나, 퍼블릭 및 프라이빗 환경으로 분리하는 데 사용
*라우팅 테이블: 네트워크 내에서 데이터 패킷(Data Packet, 인터넷을 통해 정보를 주고받는 가장 작은 단위의 데이터 조각)이 목적지에 도달할 수 있도록 경로를 정의하는 테이블
*인터넷 게이트웨이: VPC와 인터넷 간의 연결을 허용하여 VPC 내 리소스가 인터넷에 접근할 수 있도록 하는 역할
*NAT 게이트웨이: 프라이빗 서브넷에 있는 리소스가 인터넷에 접근할 수 있도록 트래픽을 변환하여 전달하는 역할
*네트워크 토폴로지: 네트워크 구성 요소들이 서로 연결되는 구조나 형태를 나타내는 개념
3) 세부적인 보안 및 접근 제어
보안 그룹(Security Groups) 및 네트워크 접근 제어 목록(Network ACL)을 통해 세부적인 네트워크 접근 제어와 보안 정책 설정이 가능하다.
4) 안전한 외부 연결 관리
VPN(Virtual Private Network) 연결 또는 AWS Direct Connect를 통해 사용자 *온프레미스 환경과 안전하게 연결하여 *하이브리드 클라우드 환경을 구성할 수 있다.
*온프레미스(On-Premises): 기업이 자체적으로 보유하고 관리하는 서버 및 IT 인프라(정보기술 시스템을 운영하고 지원하기 위해 필요한 모든 물리적, 논리적 자원 - 하드웨어, 소프트웨어, 네트워크, 데이터 센터), 클라우드 서비스를 사용하지 않고 데이터센터와 서버 등 IT 자산을 직접 구축하여 관리하는 방식
*하이브리드 클라우드: 온프레미스 환경과 클라우드 환경을 결합하여 사용하는 방식으로 중요한 데이터는 기업의 온프레미스 환경에 유지하면서 확장성이 필요한 서비스는 클라우드에서 운영하는 등, 두 환경의 장점을 결합하여 활용 가능
5) 탄력적 IP 관리
탄력적인 IP 주소(Elastic IP)를 사용하여 네트워크 리소스에 고정된 퍼블릭 IP 주소를 할당하고 관리할 수 있다.
6) 손쉬운 통합 및 확장성
다양한 AWS 서비스(예: EC2, RDS, Lambda 등)와의 손쉬운 통합을 지원하며, 필요에 따라 네트워크 자원을 쉽게 확장하거나 축소 가능하다.
7) 다중 가용 영역(Multi-AZ) 지원
여러 가용 영역에 걸쳐 리소스를 배치하여 높은 가용성과 장애 내성을 보장할 수 있다.
8) VPC 사용 사례
- 안전한 웹 및 애플리케이션 호스팅 환경 구축
- 온프레미스 데이터 센터와 클라우드 간 하이브리드 클라우드 환경 구성
- 내부 리소스 접근 관리 및 보안 강화
- 복잡한 기업용 애플리케이션의 네트워크 아키텍처 구축
2. Route 53
아마존에서 제공하는 클라우드 기반의 DNS(Domain Name System) 서비스로, 웹사이트나 애플리케이션의 도메인 이름을 IP 주소로 변환하여 사용자가 인터넷에서 원하는 리소스에 쉽게 접근할 수 있게 지원한다.
1) 도메인 이름 관리 및 등록
사용자는 Route 53을 통해 도메인을 등록하거나 기존 도메인을 쉽게 관리할 수 있다.
2) DNS 라우팅
사용자의 요구에 따라 다양한 라우팅 정책을 사용하여 트래픽을 효율적으로 배분할 수 있다.(예: 지연 시간 기반 라우팅, 위치 기반 라우팅 등)
3) 트래픽 관리 및 부하 분산
Route 53을 통해 사용자는 DNS 기반의 로드 밸런싱을 구성하여 여러 리소스에 트래픽을 분산하고, 안정성과 성능을 최적화할 수 있다.
4) 상태 확인
애플리케이션이나 서비스의 상태를 주기적으로 확인하여 문제가 발생한 리소스로부터 트래픽을 자동으로 전환한다.
5) 높은 가용성과 확장성
AWS의 글로벌 네트워크를 통해 높은 가용성과 신속한 응답 속도를 제공하여 안정적인 서비스를 제공한다.
6) DNS 보안 및 보호
DNSSEC(DNS Security Extensions)를 지원하여 DNS 데이터 위조 및 변조로부터 보호할 수 있다.
7) 손쉬운 AWS 서비스 통합
EC2, ELB, S3 등 AWS의 다양한 서비스와 쉽게 연동하여 효율적으로 DNS를 관리하고 사용한다.
8) Route 53 사용 사례
- 웹사이트 및 웹 애플리케이션 도메인 관리
- 글로벌 서비스 제공을 위한 효율적인 트래픽 관리
- 하이브리드 클라우드 환경의 안전한 DNS 관리
- 고가용성 및 재해 복구 환경 구축
3. ELB(Elastic Load Balancing)
AWS 클라우드 환경에서 여러 서버나 리소스에 네트워크 트래픽을 효율적으로 분산하는 로드 밸런싱 서비스로, ELB를 사용하면 애플리케이션의 성능과 가용성을 높이고, 단일 장애 지점을 방지하여 안정적인 운영 환경을 구축할 수 있다.
알고리즘 | 설명 |
라운드 로빈(Round Robin) | 요청을 순서대로 고르게 분배함 (기본 방식) |
최소 연결(Least Connections) | 연결 수가 가장 적은 인스턴스로 요청을 보냄 |
IP 해시 기반 | 클라이언트 IP를 해시하여 특정 인스턴스로 고정 연결 (세션 유지에 유용) |
1) 트래픽 자동 분산
애플리케이션 서버나 *인스턴스 간에 들어오는 요청을 자동으로 분산하여 각 서버의 부하를 효율적으로 관리한다.
*인스턴스: AWS에서 제공하는 가상 서버인 EC2 인스턴스를 의미, 실제 애플리케이션이 실행되는 컴퓨터 자원
2) 높은 가용성과 장애 복구
상태 확인을 통해 비정상적인 인스턴스를 자동으로 감지하고, 정상적인 인스턴스에만 트래픽을 전달하여 고가용성을 유지한다.
3) 확장성 및 유연성
요청이 증가할 때 자동으로 확장되며, 다양한 유형의 리소스(EC2 인스턴스, 컨테이너, Lambda 함수 등)을 유연하게 지원한다.
4) 여러 유형의 로드 밸런서 지원
- 애플리케이션 로드 밸런서: HTTP/HTTPS 요청 처리에 최적화된 로드 밸런서
- 네트워크 로드 밸런서: TCP 프래픽을 처리하며, 높은 성능과 낮은 지연 시간 제공
- 클래식 로드 밸런서: 기존 애플리케이션을 위한 기본적인 로드 밸런싱 기능 제공
5) 보안 강화
SSL/TLS 인증서 관리, HTTPS 지원, AWS IAM 및 보안 그룹과의 통합을 통해 보안 수준을 강화한다.
6) 손쉬운 AWS 서비스 통합
EC2, ECS, EKS, Lambda 등 다양한 AWS 서비스와 쉽게 연동하여 효율적인 애플리케이션 관리를 지원한다.
7) 상세한 모니터링 및 로깅
AWS CloudWatch와의 통합을 통해 성능 및 상태 지표를 모니터링하고, AWS CloudTrail과의 통합을 통해 활동 로그를 수집하여 분석할 수 있다.
8) ELB 사용 사례
- 웹 애플리케이션의 트래픽 관리 및 성능 최적화
- 고가용성 및 장애 내성을 갖춘 애플리케이션 환경 구축
- 마이크로서비스 및 컨테이너 기반 애플리케이션 로드 분산
- 대규모 애플리케이션의 효율적인 확장 및 운영