🙂 DB
✔ RDS
- DB 인스턴스는 클라우드에서 실행하는 격리된 DB환경
- DB 인스턴스에는 여러 사용자가 만든 데이터베이스가 포함될 수 있으며,
- 독립 실행형 DB 인스턴스에 액세스할 때 사용하는 도구 및 애플리케이션을 사용해 액세스할 수 있다.
- AWS 명령줄 도구, Amazon RDS API 작업 또는 AWS Management Console을 사용해 간단히 DB 인스턴스를 만들고 수정 가능.
- 직접 시스템 로그인 불가.
- Serverless가 아님.
✔ Document DB
- MongoDB API 워크로드의 완전 관리 및 유연한 확장이 가능한 문서전용(Document) DB
- Amazon Document DB에서는 스토리지 및 컴퓨팅이 분리되어 각각을 독립적으로 조정.
- 개발자는 데이터 크기에 관계없이 지연 시간이 짧은 읽기 전용 복제본을 몇 분 내에 최대 15개까지 추가하여 읽기 용량을 초당 수백만 개의 요청으로 늘릴 수 있음.
- Amazon Document DB는 99.9%의 가용성을 위해 설계되었으며 6개의 데이터 복사본을 3개의 AWS 가용 영역(AZ)에 복제.
- JSON 데이터
- 유연한 인덱싱
🍦 MongoDB
- Document 지향 DB
- 데이터 중복이 발생할 수 있지만, 접근성과 가시성이 좋음.
- 스키마 설계가 어렵지만, 스키마가 유연해서 Application의 요구사항에 맞게 데이터 수용이 가능.
- 분산에 대한 솔루션을 자체적으로 지원해서 Scale-out이 용이.
- 확장 시 Application을 변경하지 않아도 됨.
✔ Dynamo DB
- 완전관리형 Key-Value 기반 NoSQL 데이터베이스 서비스.
- Auto-Scaling
- DynamoDB는 유휴 시 암호화를 제공하여 중요한 데이터 보호와 관련된 운영 부담 및 복잡성 제거
- 원하는 양의 데이터를 저장 및 검색하고 어느 수준의 요청 트래픽도 처리할 수 있는 DB 테이블 생성 가능.
- AWS Management Console을 사용하여 리소스 사용률 및 성능 지표를 모니터링.
- DynamoDB는 온디맨드 백업 기능 제공.
- 테이블 생성 시 스키마 생성 필요 X
DocumentDB | DynamoDB |
문서(Documents) | key-values vs. 문서(Documents) |
쉬운 확장 (최대 64TB) | 하이퍼 스케일 |
풍부한 조회 연산자 | 모든 규모에서 일관된 지연 시간 |
최대 16MB 문서(Document) 크기 | 최대 400KB 아이템(Item) 크기 |
MongoDB API 호환, 쉬운 마이그레이션 | 글로벌 테이블과 같은 차별화된 기능 |
관리 및 가격 책정 인스턴스 기반 스토리지 자동 확장 가격(인스턴스, IO, 스토리지, 백업 스토리지) |
관리 및 가격 책정 서버리스 자동 샤드(Shard) 및 오토스케일 가격 책정 (온디맨드 vs 프로비젼 비교) 프리티어 (무료구간) 사용 |
🙂 Network
✔ Route53
DNS(네임서버) + 모니터링 + L4 + GSLB
- 가용성과 확장성이 뛰어난 DNS(도메인 이름 시스템) 웹 서비스
- 세 가지 주요 기능 (도메인 등록, DNS 라우팅, 상태 확인)을 조합해서 사용 가능
- public host zone / private host zone 존재
✔ Certification Manager
- AWS Certificate Manage (ACM)을 사용하면 AWS 서비스 및 연결된 내부 리소스에 사용할 공인 및 사설 SSL/TLS 인증서를 프로비저닝, 관리 및 배포 가능.
- ACM은 SSL/TLS 인증서를 구매, 업로드 및 갱신하는 데 드는 시간 소모적인 수동 프로세스를 대신 처리
- 사용할 TLS/SSL 인증서를 AWS 계정으로 요청하거나 가져옴.
- 도메인 이름 시스템(DNS) 또는 이메일 검증을 통해 요청된 인증서의 도메인 소유권을 검증하여 인증서 발급 완료
- Elastic Load Balancing(ELB), Amazon CloudFront 등과 같은 다양한 AWS 서비스에서 새로 발급되거나 가져온 인증서 사용.
🍦 특징
- ACM 통합 서비스를 위한 무료 퍼블릭 인증서
- 관리형 인증서 갱신
- 손쉽게 인증서 받기
🍦 SSL 인증서
- 공개 키와 개인 키라는 키 쌍을 가지고 있다.
- 이 키들이 함께 작용하여 암호화된 연결을 수립
- 인증서는 또한 '주체(Subject)'라는 것을 포함하고 이는 인증서/웹사이트 소유자의 ID
- 인증서를 얻으려면 서버에서 인증서 서명 요청(CSR)을 생성.
- 이 과정에서 서버에 개인 키와 공개 키 생성.
- SSL 인증서 발급자(인증 기관 또는 CA라 함)에게 보내는 CSR 데이터 파일에는 공개 키가 포함.
✔ CloudFront
뛰어난 성능, 보안 및 개발자 편의를 위해 구축된 콘텐츠 전송 네트워크 (CDN) 서비스
- CDN은 데이터 사용량이 많은 애플리케이션의 웹 페이지 로드 속도를 높이는 상호 연결된 서버 네트워크
- 정적 콘텐츠 & 동적 콘텐츠
- 캐싱 / 동적 가속 / 엣지 로직 계산
🍦 특징
- 대기 시간 감소
- 보안 향상
- 비용 절감
- 사용자 정의 전송
✔ Elastic Load Balancing (ELB)
로드 밸런싱은 애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법
🍦 Load Balancer
서버에 가해지는 부하(=로드)를 분산(=밸런싱)해주는 장치 또는 기술을 통칭
L4 로드밸런서 | L7 로드밸런서 | |
네트워크 계층 | 전송계층 | 응용계층 |
특징 | TCP/UDP 포트 정보를 바탕으로 함 | TCP/UDP 정보는 물론 HTTP의 URI, FTP의 파일명, 쿠키 정보 등을 바탕으로 함 |
장점 | > 데이터 안을 들여다 보지 않고 패킷 레벨에서만 로드를 분산하기 때문에 속도가 빠르고 효율이 좋음. > 데이터의 내용을 복호화할 필요가 없기에 안전 > L7 로드밸런서보다 저렴 |
> 상위 계층에서 로드를 분산하기 때문에 섬세한 라우팅 가능 > 캐싱 기능 제공 > 비정상적인 트래픽을 사전에 필터링할 수 있어 안정성이 높음 |
단점 | > 패킷의 내용을 살펴볼 수 없기에 섬세한 라우팅 불가능 > 사용자의 IP가 수시로 바뀌는 경우라면 연속적인 서비스 제공이 어려움 |
> 패킷의 내용을 복호화해야 하기에 높은 비용 지불 > 클라이언트가 로드밸런서와 인증서를 공유해야하기 때문에 공격자가 로드밸런서를 통해서 클라이언트에 데이터에 접근할 보안 상의 위험성이 존재 |
🍦 ELB 대상그룹
- 대상 그룹에 대상을 등록
- 기본적으로 로드 밸런서는 대상 그룹에 대해 지정한 프로토콜과 포트 번호를 사용하여 등록된 대상으로 요청 전송.
- 또는 대상 그룹에 각 대상을 등록할 때 이 포트를 재정의.
✔ VPC (Virtual Private Cloud)
사용자가 정의한 가상 네트워크
AWS의 확장 가능한 인프라를 사용 + 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 유사
🍦 VPC의 기능
VPC
- 자체 데이터 센터에서 운영하는 기존 네트워크와 아주 유사. 생성 후 서브넷 추가 가능.
서브넷
- VPC의 IP 주소 범위. 서브넷은 단일 가용 영역에 상주해야 함. 서브넷 추가 후 VPC에 AWS 리소스 배포 가능.
IP 주소 지정
- VPC와 서브넷에 IPv4 주소와 IPv6 주소 할당 가능.
- 또한 퍼블릭 IPv4 및 IPv6 GUA 주소를 AWS로 가져오고 VPC의 리소스(EC2 인스턴스, NAT 게이트웨이, Network Load Balancer)에 할당 가능.
라우팅
- 라우팅 테이블을 사용하여 서브넷 또는 게이트웨이의 네트워크 트래픽이 전달되는 위치를 결정
게이트웨이 및 엔드포인트
- 게이트웨이는 VPC를 다른 네트워크에 연결.
- ex) 인터넷 게이트웨이를 사용하여 VPC를 인터넷에 연결.
- VPC 엔드포인트를 사용하여 인터넷 게이트웨이 또는 NAT 장치를 사용하지 않고 AWS 서비스에 비공개로 연결.
피어링 연결
- VPC 피어링 연결을 사용하여 두 VPC의 리소스 간 트래픽을 라우팅
트래픽 미러링
- 네트워크 인터페이스에서 네트워크 트래픽을 복사하고 심층 패킷 검사를 위해 보안 및 모니터링 어플라이언스로 전송.
Transit Gateway
- 중앙 허브 역할을 하는 전송 게이트웨이를 사용하여 VPC, VPN 연결 및 AWS Direct Connect 연결 간에 트래픽을 라우팅.
VPC 흐름 로그
- 흐름 로그는 VPC의 네트워크 인터페이스로 들어오고 나가는 IP 트래픽에 대한 정보 캡쳐.
VPN 연결
- AWS Virtual Private Network (AWS VPN)을 사용하여 온프레미스 네트워크에 VPC를 연결.
🍦 CIDR (Classless Inter Domain Routing)
클래스 없는 도메인 간 라우팅 기법 (= 어디까지 NW 영역으로 설정할 건지)
🍦 VPC 생성
- IP 주소 범위 선택
- 가용 영역(AZ) 별 서브넷 설정
- 인터넷으로 향하는 경로(route) 만들기
- VPC 로/부터의 트래픽 설정
🍦 VPC 구성
'데이터엔지니어링' 카테고리의 다른 글
[6주차] AWS 클라우드(4) (1) | 2024.05.04 |
---|---|
[6주차] AWS 클라우드(3) (1) | 2024.05.03 |
[6주차] AWS 클라우드 (1) (0) | 2024.04.29 |
[5주차] SQL을 이용한 데이터 분석(5) (0) | 2024.04.26 |
[5주차] SQL을 이용한 데이터 분석(4) (1) | 2024.04.25 |