🌦 Cloud

[AWS/SAA-03] Aurora

핑크빛연어 2023. 4. 28. 23:23

 

💝 Aurora

RDS (관계형 데이터베이스 서비스) Amazon Aurora (RDS 호환형 관계형 데이터베이스)
 RDS 스토리지 오토 스케일링
 읽기 전용 복제본
 다중 AZ
 RDS Custom
 RDS Proxty
 높은 가용성, 읽기 스케일링
 DB 클러스터
 Aurora 기능
 복제본 자동 스케일링
 사용자지정 엔드포인트
 서버리스 기능
 멀티 마스터
 글로벌 Aurora
 머신러닝 서비스
 DB 복제 가능
                                
  RDS & Aurora   
                                
 백업
 복구가능
 보안

 

 

 

🚨 Amazon Aurora

 RDS 호환형 관계형 데이터 베이스

 RDS 에서 제공하는 읽기 전용 복제본, KMS 암호화, 스냅샷 백업, 오토스케일링 등을 제공

 읽기 전용 복사본 15개까지 가능

 스케일링 측면 효율적

 AWS 에서 만든 고유 기술이다.(오픈소스X) 다른 RDS 보다 저렴한 비용에 성능이 더 뛰어남

 Postgres 와 MySQL 과 호환됨

 RDS dml MySQL 보다 5배 높은 성능. Postgres 보다는 3배 높은 성능

 클라우드에 최적화. 클라우드 네이티브라 가용성 높다

 데이터베이스 설정, 패치 적용 및 백업과 같은 관리 태스크를 자동화

 스토리지 자동 확장 가능. DB 나 SysOps 로써 저장디스크를 신경쓰지 않아도 된다

 개별 DB 인스턴스 기반이 아닌 여러 인스턴스를 하나로 운영하는 클러스터 DB 기반으로 구성

 장애조치는 즉각적

 비용절감

 

 

 

🚨 Aurora 높은 가용성 & 읽기 스케일링 (High Availability & Read Scaling)

 3 AZ 에 걸쳐 기록할 때마다 6개의 사본 저장

  • 쓰기는 6개 중 4개만 필요

  • 읽기는 6개 중 3개만 필요

  • 자가 복구 과정

  • 단일볼룸 X → 수백개의 볼륨 사용

 쓰기를 받는 인스턴스는 1개 뿐

 30초 이내 장애조치 시작

 읽기 전용 (master 제외) 15개까지 복사본 가능

 리전 간 복제 지원

 마스터는 1개, 복제본은 여러개이며 스토리지가 복제된다

 

 

 

🚨 Aurora DB 클러스터 (Cluster)

DB 클러스터로써 Aurora 작동 방식

 하나 이상의 DB 인스턴스와 이 DB 인스턴스의 데이터를 관리하는 클러스터 볼륨으로 구성

 DB 인스턴스는 읽기/쓰기 작업을 하는 기본 DB 인스턴스읽기 작업만 하는 Aurora 복제본으로 구성

  • Writer EndPoint

     - Write 는 Master 만 가능

     - DNS 이름으로 항상 master 를 가리킴

  • Reader EndPoint

     - 연결노드밸런싱에 도움을 준다

     - 읽기 전용 복제본 15개까지 가능

     - 자동 스케일링 설정 가능

 각 Aurora DB 클러스터는 기본 DB 인스턴스에 더해 최대 15개까지 Aurora 복제본을 구성

 

 

 

🚨 Aurora 기능

 자동 장애 조치

 백업 및 복구

 격리 및 보안

 산업 규정 준수

 자동 스케일링을 통한 버튼식 스케일링

 제로 다운타운 자동 패치 설치

 고급 모니터링

 일상적인 유지관리

 백트랙(Backtrack) : 과거의 어떤 시점의 데이터로 복원할 수 있게해줌

 

 

 

🚨 Aurora 복제본 자동 스케일링 (Aurora Replicas Auto Scaling)

Aurora 고급 개념이다

자동으로 Reader EndPoint 가 연장됨

  • 읽기가 분산됨 → 전반적 CPU 사용량 ⬇️

 3개의 가용영역에 6개의 데이터 사본을 자동 복제하여 고가용성 및 성능 향상 지원

 마스터 DB 와 최대 15개의 Aurora Read Replicas 지원

 마스터 DB 에 장애 발생 시 최대 30초 이내에 복제본 중 하나가 기본 인스턴스 역할로 변경되는 장애조치(Failover) 가능

 Aurora Auto Scaling 을 사용해 워크로드에 따라 Aurora 복제본 수를 자동으로 조정 가능

 

 

 

🚨 Aurora 사용자지정 엔드포인트 (Aurora Custom EndPoints)

 Aurora 인스턴스의 서브셋을 사용자지정 엔트포인트로 정의

 ex) 특정 쿼리 복제본에서 분석 쿼리 실행

 일반적으로 사용자 지정 엔트포인트를 정의하면 Reader EndPoint 를 사용하지 않는다

 

 

 

🚨 Aurora 서버리스 기능 (Serverless)

 실제 사용량 기반으로 자동 DB 인스턴스화자동 스케일링 가능 → 수동 관리 X

 예츨불허한 비정기적 워크로드에 유용

 특정 DB 인스턴스 유형 선택 X

 용량계획 필요 X

 각 Aurora 인스턴스에 대해 매 초당 비용 지불 (비용측명에서 효율적)

 

 

 

🚨 Aurora 멀티 마스터 (Multi-Master)

 Write 노드에 대한 즉각적 장애 조치로 Write 노드에 높은 가용성을 갖추고자 할 때 사용

 Aurora 클러스터의 모든 노드에서 Read, Write 가능

 

 단일 마스터 클러스터

  • 단일 DB 인스턴스는 모든 쓰기 작업을 수행하며, 기타 모든 DB 인스턴스는 읽기 전용이다.

  • Writer DB 인스턴스가 사용 불가 상태가 되면 장애 조치 매커니즘이 읽기 전용 인스턴스 중 하나를 새 Writer 로 승격

 

 멀티 마스터 클러스터

  • 모든 DB 인스턴스는 쓰기 작업을 수행

  • Writer DB 인스턴스가 사용 불가 상태가 될 때 어떤 장애 조치도 없음

  • 읽기/쓰기 DB 인스턴스가 사용 불가 상태가 될 때 장애 조치 프로세스 및 관련 지연이 발생하지 않음

 

 

 

🚨 Global Aurora

리전 간 복제본 → 다른 리전으로 데이터베이스 복제 가능

 Aurora 글로벌 데이터베이스 (권장)

 

리전 간 복제본 → 다른 리전으로 DB 복제 가능

  • 재해복구에 유용

  • 간단하게 생성 가능

 

Aurora 글로벌 DB (권장)

  • 모든 읽기/쓰기가 진행되는 하나의 기본리전이 있다

  • 최대 5개의 보조 지역(읽기 전용)이 있고, 복제 지연은 1초 미만이다

  • 보조 지역당 최대 16개의 읽기 전용 복제본이 있다

  • 읽기 전용 복제본의 지연 시간 단축 가능

  • 복구시간 목표는 1분 미만

  • Aurora Global DB 에서 리전에 걸쳐 데이터 복제에 걸리는 시간은 평균 1초 미만

 

 

 

🚨 Aurora 머신 러닝

 Aurora 는 AWS 내의 머신러닝 서비스와 통합지원

 ML 기반예측을 SSL 인터페이스로 애플리케이션에 적용하는 것

 지원 서비스

  • 어떤 모델도 사용 가능

  • Amazon 감정 분석용 (Comprehend)

 Machine Learning 경험은 필요 X

 

 

 

🚨 RDS & Aurora 백업

RDS 백업 Aurora 백업
✤ 자동 백업
  • 매일 데이터베이스 유지관리 시간에 자동으로 DB 전체를 백업한다
  • 5분마다 트랜젝션 로그도 백업된다
  • 가장 최신 백업이 5분 전
  • 자동백업 보유기간은 1~35일로 설정 가능. 비활성화 가능. 비활성화 설정 시 0으로 설정

✤ 수동 DB 스냅샷 생성
  • 사용자가 수동으로 트리거해야함
  • 원하는 만큼 오랫동안 보유 가능

✤ 비용절감 할 수 있는 방법
  • 스냅샷 비용은 RDS DB 스토리지보다 저렴. 스냅샷 만들고 원본 DB삭제. 스냅샷은 복원해 사용하기
 자동 백업
  • 1~35일 보유 가능. 비활성화 불가능
  • 지정시간 복구 가능 : 정해진 시간 범위 내의 어느 시전으로도 복구 가능

 수동 DB 스냅샷 생성
  • 사용자가 수동으로 만들 수 있다
  • 원하는 만큼 오랫동안 보유 가능

 

 

 

🚨 RDS & Aurora 복구 옵션 (Restore Options)

 RDS / Aurora 백업 또는 스냅샷 복원

 S3 으로부터 MySQL, RDS 데이터베이스 복원 

 S3 으로부터 MySQL Aurora 클러스터로 복원

 

RDS / Aurora 백업 또는 스냅샷 복원

  • 새로운 DB로 복원 가능

 

S3 으로부터 MySQL, RDS DB 복원

  • 사내 DB 백업을 만들어서 객체 스토리지인 AWS S3 에 두는 것

  • RDS 에는 Amazon S3 에서 MySQL 를 실행중인 새로운 RDS 인스턴스로 백업 파일 복원

 

S3 으로부터 MySQL Aurora 클러스터로 복원

  • 사내 DB 를 외부로 다시 백업하고 Percona XtraBackup 소프트웨어 사용

  • 백업파일을 Amazon S3 로 전송하여 저장

  • 백업파일을 MySQL 을 실행중인 새 Aurora 클러스터로 복원

 

 

 

🚨 Aurora 데이터베이스 복제 기능 (Cloning)

 기존의 DB 로부터 새로운 Aurora DB 클러스터 생성 가능 → 복제

 스냅샷을 만들고 복원하는 것보다 복제한 Aurora DB 사용하는 것이 더 빠름

 새 DB 클러스터는 원본과 동일한 클러스터 볼륨 및 데이터를 사용하지만 시간흐름에 따라 DB 업데이트가 있을 때 변경됨

 빠르고 & 비용면에서 효율적

 프로턱션 DB 에 영향을 주지 않는다 → 데이터베이스에 스테이징 DB 를 생성하는데 유용

 

 

 

🚨 RDS & Aurora 보안 (Security)

 미사용 암호화 (At-rest encryption)

 저장 데이터 암호화 (In-Flight encryption)

 IAM 인증 (IAM Authentication)

 보안 그룹 (Security Groups)

 사용가능한 SSH 없음 (No SSH available)

 감사로그 가능 (Audit Log can be enabled)

 

미사용 암호화 (At-rest encryption)

  • AWS KMS 을 사용해 DB 마스터 및 복제본 암호화가 이루어지며 DB 처음 실행할 때 정의해야 한다

  • 마스터(주DB)가 암호화되지 않은 경우 읽기 복제본을 암호화 할 수 없다

  • 암호화되지 않은 DB 를 암호화하려면 DB 스냅샷 생성 및 복원작업을 거쳐야 함

 

저장 데이터 암호화 (In-Flight encryption)

  • 기본적으로 TLS 지원, AWS 의 TLS 루트 인증서 사용

 

IAM 인증 (IAM Authentication)

  • DB 인증

  • IAM 역할을 사용해 DB 접속 가능 (id/pw 전통적인 조합을 대신해 사용 가능)

 

보안 그룹 (Security Groups)

  • DB 에 대한 네트워크 액세스 통제 가능 (특정 포트, IP, 보안그룹 허용 및 차단 가능)

 

사용가능한 SSH 없음 (No SSH available)

  • 관리형 서비스이기 때문에 SSH 액세스 할 수 없다 → 커스텀서비스 사용하면 제외

 

감사로그 가능 (Audit Log can be enabled)

  • 시간에 따라 RDS/Aurora 에서 쿼리가 생성되고 있고 DB 확인하려면 감사로그 작성을 활성화하면 된다

  • 로그는 시간이 지나면 자동으로 삭제되고, 장기간 보관하고 싶으면 AWS 의 CloudWatch Logs 전용 서비스로 전송해야 함

 

 

 

🚨 RDS 프록시 (Proxy)

 RDS 용 완전  관리형 데이터베이스 프록시

 애플리케이션을 RDS DB 인스턴스에 일일이 연결하는 대신 프록시에 연결하면 프록시가 하나의 풀에 연결을 모아 RDS DB 인스턴스로 가는 연결이 줄어든다

 애플리케이션이 DB 내에서 DB 연결풀을 생성하고 공유하도록 허용

 DB 리소스 부담 ⬇️, DB 효율성 ⬆️, DB 연결 시간초과 최소화

 용량 관리 필요 X

 서버리스, 자동 확장, 고가용성(다중 AZ)

 장애조치 시간 66% 까지 줄일 수 있다 (대기 인스턴스 실행)

 프록시가 장애 조치에 필요한 DB 인스턴스를 처리

 코드 변경 필요 X

 IAM 인증을 통해서만 RDS DB 인스턴스에 연결가능하도록 함 (IAM 인증을 강제함)

 자격증명은 AWS Secrets Manager 서비스에 안전하게 저장

 RDS 는 퍼블릭 액세스 불가 (VPC 내에서만 액세스 가능) → 보안 Good

 

 

 

728x90
반응형