[AWS SAA-C03] AWS RDS 정리

관계형 데이터베이스 서비스(RDS)

  • 관계형 데이터베이스 서비스 - RDS는 클라우드에서 관계형 데이터베이스를 쉽계 설정, 운영, 확장할 수 있는 웹 서비스이다.
  • 업계 표준 관계형 데이터베이스를 위한 비용 효율적이고 크기 조정이 가능한 용량을 제공하며 하드웨어 프로비저닝, 데이터베이스 설정, 패치 및 백업과 같은 일반적인 데이터베이스 작업을 관리한다.

기능 및 이점

  • CPU, 메모리, 스토리지, IOP를 독립적으로 확장할 수 있다.
  • 백업, 소프트웨어 패치, 자동 장애 감지 및 복구를 관리한다.
  • 필요에 따라 자동 백업을 수행하거나 수동 백업을 트리거할 수 있다. 백업을 사용하여 데이터베이스를 복원할 수 있으며, 복원 프로세스가 안정적이고 효율적으로 작동한다.
  • 기본 인스턴스와 문제 발생 시 원활하게 FailOver할 수 있는 동기식 대기 보조 인스턴스를 통해 멀티 AZ 고가용성을 제공한다.
  • 읽기 복제본을 활성화하여 읽기 확장성을 높여 탄력성 및 확장성을 제공한다.
  • MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server를 지원하며, MySQL과 호환되는 새로운 AuroraDB 엔진을 지원한다.
  • RDS 데이터베이스 서비스에 액세스할 수 있는 사용자를 제어할 수 있는 IAM 사용자 및 권한을 지원한다.
  • 데이터베이스를 VPC에 위치하고, 전송 중인 데이터에는 SSL을, 미사용 데이터에는 암호화를 사용하여 데이터베이스를 더욱 안전하게 보호할 수 있다.
  • 단, 관리형 서비스이므로 DB 인스턴스에 대한 셸(Root ssh) 액세스는 제공되지 않으며, 이로 인해 고급 권한이 필요한 특정 시스템 프로시저 및 테이블에 대한 액세스가 제한된다.

RDS 구성 요소

  • DB 인스턴스
    = DB 인스턴스는 RDS의 기본 구성 요소이다.
    = 클라우드에서 격리된 데이터베이스 환경이다.
    = 각 DB 인스턴스는 DB 엔진을 실행한다. AWS는 현재 MySQL, MariaDB, PostgreSQL, Oracle, Microsoft SQL Server 및 Aurora DB 엔진을 지원한다.
    = AWS 명령줄 도구, RDS API는 AWS 관리 RDS 콘솔에서 액세스할 수 있다.
    = DB 인스턴스의 계산 및 메모리 용량은 필요에 따라 선택할 수 있는 DB 인스턴스 클래스에 의해 결정된다.
    = 세 가지 스토리지 유형을 지원한다: 마그네틱, 범용(SSD), 프로비저닝된 IOPS(SSD)로 성능과 가격이 다르다.
    = 각 DB 인스턴스에는 고객이 제공한 이름인 DB 인스턴스 식별자가 있으며, AWS 리전에서 해당 고객에 대해 고유해야 한다. 이 식별자는 RDS API 및 AWS CLI 명령과 상호 작용할 때 DB 인스턴스를 고유하게 식별한다.
    = 각 DB 인스턴스는 사용자가 생성한 여러 데이터베이스 또는 여러 스키마가 있는 단일 Oracle 데이터베이스를 호스팅할 수 있다.
    = 더 나은 제어를 위해 AWS VPC 환경에서 호스팅할 수 있다.
  • Region & AZ
    = AWS 리소스는 전 세계 여러 지역의 고가용성 데이터 센터 시설에 보관되며, 이러한 데이터 센터를 리전이라고 하며, 리전에는 가용성 영역이라고 하는 여러 개의 개별 위치가 포함되어 있다.
    = 각 AZ는 다른 AZ의 장애로부터 격리되고 동일한 지역의 다른 AZ에 저렴한 비용으로 지연 시간이 짧은 네트워크 연결을 사용하도록 설계되어 있다.
    = DB 인스턴스를 서로 다른 AZ에서 호스팅할 수 있으며, 이를 멀티 AZ 배포라고 한다.
    = RDS는 다른 AZ에 있는 DB 인스턴스의 동기식 대기 복제본을 자동으로 프로비저닝하고 유지 관리합니다.
    = 기본 DB 인스턴스가 여러 AZ에 걸쳐 대기 복제본에 동기식으로 복제된다.
    = 데이터 중복성, 장애 조치 지원 I/O 정지를 없애고 시스템 백업 중 지연 시간 급증을 최소화한다.
  • 보안 그룹
    = 보안 그룹은 지정된 IP 주소 범위 또는 EC2 인스턴스에 대한 액세스를 허용하여 DB 인스턴스에 대한 액세스를 제어한다.
  • DB 파라미터 그룹
    = DB 파라미터 그룹에는 동일한 인스턴스 유형의 하나 이상의 DB 인스턴스에 적용할 수 있는 엔진 구성 값이 포함되어 있다.
    = 최대 연결, 강제 SSL, 자동 커밋 등 선택한 DB 엔진에 특정한 구성 값을 정의하는 데 도움이 된다.
    = DB 파라미터 그룹은 편집할 수 없는 기본 파라미터 그룹을 지원한다.
    = 값을 재정의하기 위해 사용자 정의 매개변수 그룹을 지원한다.
    = 정적 및 동적 파라미터 그룹 지원
    = 동적 매개변에 대한 변경 사항은 즉시 적용된다.
    = 정적 매개변수에 대한 변경 사항은 즉시 적용되지 않으며, 수동 재부팅이 필요하다.
  • DB 옵션 그룹
    = 일부 DB 엔진은 데이터베이스 관리와 데이터 활용을 간소화하는 도구 또는 옵션 기능을 제공한다.
    = RDS는 옵션 그룹을 통해 이러한 도구를 사용할 수 있도록 한다.(예, Oracle Application Express(APEX), SQL Server 투명 데이터 암호화 및 MySQL Memcached 지원).

    RDS 인터페이스

  • RDS는 다음과 같은 여러 인터페이스와 상호 작용할 수 있다.
  • AWS RDS 관리 콘솔
  • 명령줄 인터페이스
  • SDK, 다양한 언어의 라이브러리, RDS API를 포함하는 프로그램이 인터페이스

RDS 멀티 AZ 및 읽기 복제본

멀티 AZ 배포

  • 고가용성, 내구성 및 자동 페일오버 지원 제공
  • 중요한 시스템의 내구성과 가용성을 개선하여 계획된 시스템 유지보수, DB 인스턴스 장애, 가용성 영역 중단 시 가용성을 향상시킨다.
  • 다른 AZ에 동기식 대기 인스턴스를 자동으로 프로비저닝하고 관리한다.
  • 기본 인스턴스에 문제가 발생할 경우 자동으로 페일오버한다.
  • 다중 AZ DB 인스턴스 배포에는 장애 조치 지원을 제공하지만 읽기 트래픽을 처리하지 않는 대기 DB 인스턴스가 하나 있다.
  • 다중 AZ DB 클러스터 배포에는 장애 조치 지원을 제공하고 읽기 트래픽도 처리할 수 있는 두 개의 대기 DB 인스턴스가 있다.
  • 읽기 복제본(Read Replicas)
    = AZ 장애 발생 시 확장성과 데이터베이스 가용성을 높일 수 있다.
    = 읽기 작업이 많은 데이터베이스 워크로드에 대해 단일 DB 인스턴스의 용량 제약을 넘어 탄력적인 확장이 가능하다.

    RDS 보안

  • DB 인스턴스를 VPC에서 호스팅하여 네트워크 액세스를 최대한 제어할 수 있다.
  • IAM 정책을 사용하여 RDS 리소스를 관리할 수 있는 사용자를 결정하는 권한을 할당할 수 있다.
  • 보안 그룹을 통해 DB 인스턴스의 데이터베이스에 연결할 수 있는 IP 주소 또는 EC2 인스턴스를 제어할 수 있다.
  • RDS는 SSL연결을 사용하여 전송 중 암호화를 지원한다.
  • RDS는 미사용 인스턴스 및 스냅샷을 보호하기 위해 미사용 시 암호화를 지원한다.
  • Oracle DB 인스턴스를 사용한 네트워크 암호화 및 TDE(투명한 데이터 암호화)
  • 인증은 비밃번호, Kerberos 및 IAM 데이터베이스 인증을 사용하여 구현할 수 있다.

RDS 백업, Snapshot

  • 자동화된 백업
    = 자동화된 백업은 새 DB 인스턴스에 대해 기본적으로 활성화된다.
    = 백업 보존 기간 동안 데이터베이스 변경 로그와 함께 데이터베이스 사용의 마지막 5분까지 데이터베이스를 원하는 시점으로 복구할 수 있다.
  • DB 스냅샷은 DB 인스턴스를 알려진 상태로 백업하고 언제든지 특정 상태로 복원할 수 있는 수동 사용자 시작 백업이다.
  • RDS 모니터링 및 알림
    = RDS는 CloudWatch와 통합되어 모니터링을 위한 매트릭을 제공한다.
    = 알람이 상태를 변경할 때 SNS 메시지를 전송하는 단일 매트릭을 통해 CloudWatch 알람을 생성할 수 있다.
    = RDS는 또한 RDS 이벤트가 발생할 때마다 SNS 알람을 제공한다.
    = RDS 성능 인사이트는 데이터베이스 성능 튜닝 및 모니터링 기능으로, 데이터베이스의 성능을 설명하고, 데이터베이스에 영향을 미치는 문제를 분석하는 데 도움이 된다.
    = RDS 권장 사항은 데이터베이스 리소스에 대한 자동화된 권장 사항을 제공한다.

RDS 가격

  • 인스턴스 클래스
    = 가격은 소비된 DB 인스턴스의 클래스(예: micro)를 기준으로 책정된다.
  • 실행 시간
    = 사용량은 1초 단위로 청구되며, 최소 10분 단위로 청구된다.
  • 스토리지
    = DB 인스턴스에 대해 프로비저닝된 스토리지 용량을 월 GB당 청구된다.
  • 프로비저닝된 스토리지 용량을 월 내에 확장하는 경우 요금은 비례 배분한다.
    = 월별 I/O 요청 수
  • 백업 스토리지
    = 자동화된 백업 및 모든 활성 데이터베이스 스냅샷은 스토리지를 소비한다.
    = 백업 보존 기간을 늘리거나 데이터베이스 스냅샷을 추가로 생성하면 데이터베이스에서 사용하는 백업 스토리지가 증가한다.
    = RDS는 프로비저닝된 데이터베이스 스토리지의 최대 100%까지 백업 스토리지를 추가 비용 없이 제공한다.(예: 10GB-month의 프로비저닝도니 데이터베이스 스토리지가 있는 경우, RDS는 추가 비용 없이 최대 10GB-month의 백업 스토리지를 제공한다.)
    = 대부분의 데이터베이스는 기본 데이터 세트보다 백업에 필요한 원시 스토리지가 적으므로 여러 개의 백업을 유지 관리하지 않는 경우 백업 스토리지에 대한 비용을 지불하지 않아도 된다.
    = 백업 스토리지는 활성 DB 인스턴스에 대해서만 무료이다.
  • 데이터 전송
    = DB 인스턴스 외부로 인터넷 데이터 전송
  • 예약 인스턴스
    = 일반 RDS 가격 외에 예약된 DB 인스턴스를 구매할 수 있다.
반응형

'Security > Cloud Computing' 카테고리의 다른 글

[Cloud Computing] Bastion Server?  (0) 2023.08.19
[AWS SAA-C03] AWS Aurora 정리  (0) 2023.08.12
[AWS SAA-C03] AWS Elastic Beanstalk 정리  (0) 2023.07.29
[AWS SAA-C03] AWS ECS 정리  (0) 2023.07.01
[AWS SAA-C03] AWS AutoScaling 정리  (0) 2023.06.24