Amazon RDS Custom 아키텍처 - Amazon Relational Database Service

Amazon RDS Custom 아키텍처

Amazon RDS Custom 아키텍처는 중요한 차이점이 있는 Amazon RDS를 기반으로 합니다. 다음 다이어그램은 RDS Custom 아키텍처의 주요 구성 요소를 보여줍니다.

RDS Custom 아키텍처 구성 요소

VPC

Amazon RDS와 마찬가지로, RDS Custom DB 인스턴스는 Virtual Private Cloud(VPC)에 있습니다.

RDS Custom DB 인스턴스 구성 요소

RDS Custom DB 인스턴스의 주요 구성 요소는 다음과 같습니다.

  • Amazon EC2 인스턴스

  • 인스턴스 엔드포인트

  • Amazon EC2 인스턴스에 설치된 운영 체제

  • 추가 파일 시스템을 포함하는 Amazon EBS 스토리지

RDS Custom 자동화 및 모니터링

RDS Custom에는 DB 인스턴스 외부에서 실행되는 자동화 소프트웨어가 있습니다. 이 소프트웨어는 DB 인스턴스의 에이전트 및 전체 RDS Custom 환경 내의 다른 구성 요소와 커뮤니케이션합니다.

RDS Custom 모니터링 및 복구 기능은 Amazon RDS와 유사한 기능을 제공합니다. 기본적으로 RDS Custom은 전체 자동화 모드에 있습니다. 자동화 소프트웨어에는 다음과 같은 주요 책임이 있습니다.

  • 지표 수집 및 알림 전송

  • 자동 인스턴스 복구 수행

RDS Custom 자동화의 중요한 책임은 Amazon EC2 인스턴스의 문제에 대응하는 것입니다. 여러 가지 이유로 호스트가 손상되거나 도달하지 못할 수 있습니다. RDS Custom은 Amazon EC2 인스턴스를 재부팅하거나 교체하여 이러한 문제를 해결합니다.

Amazon RDS Custom 호스트 교체

Amazon EC2 호스트가 손상되면 RDS Custom이 호스트를 재부팅하려고 시도합니다. 이 작업이 실패하면 RDS Custom은 Amazon EC2에 포함되어 있는 동일한 중지 및 시작 기능을 사용합니다. 호스트를 교체할 때 고객이 볼 수 있는 유일한 변경 사항은 새로운 공용 IP 주소입니다.

호스트 중지 및 시작

RDS Custom은 사용자 개입 없이 다음 단계를 자동으로 수행합니다.

  1. Amazon EC2 호스트를 중지합니다.

    EC2 인스턴스는 정상적인 종료를 수행하고 실행을 중지합니다. 모든 Amazon EBS 볼륨이 인스턴스에 연결된 상태로 유지되고 해당 데이터도 남습니다. 호스트 컴퓨터의 인스턴스 스토리지 볼륨(RDS Custom에서 지원되지 않음) 또는 RAM에 저장된 모든 데이터가 사라집니다.

    자세한 내용은 Linux 인스턴스용 Amazon EC2 사용 설명서인스턴스 중지 및 시작을 참조하세요.

  2. Amazon EC2 호스트를 시작합니다.

    EC2 인스턴스는 새로운 기본 호스트 하드웨어로 마이그레이션됩니다. 경우에 따라 RDS Custom DB 인스턴스가 원래 호스트에 남아 있기도 합니다.

호스트 교체의 영향

RDS Custom에서는 루트 디바이스 볼륨 및 Amazon EBS 스토리지 볼륨을 완벽하게 제어할 수 있습니다. 루트 볼륨에는 유실되어서는 안 될 중요한 데이터 및 구성이 포함될 수 있습니다.

Oracle용 RDS Custom은 루트 볼륨 데이터를 포함한 모든 데이터베이스 및 고객 데이터를 작업 후에도 유지합니다. 따라서 사용자가 별다른 조치를 취할 필요가 없습니다. SQL Server용 RDS Custom에서 데이터베이스 데이터는 유지되지만, 운영 체제 및 고객 데이터를 포함한 C: 드라이브의 모든 데이터는 손실됩니다.

교체 프로세스가 끝나면 Amazon EC2 호스트가 새로운 퍼블릭 IP 주소를 갖게 됩니다. 호스트는 다음을 유지합니다.

  • 인스턴스 ID

  • 프라이빗 IP 주소

  • 탄력적 IP 주소

  • 인스턴스 메타데이터

  • 데이터 스토리지 볼륨 데이터

  • Oracle용 RDS Custom의 루트 볼륨 데이터

Amazon EC2 호스트 모범 사례

Amazon EC2 호스트 교체 기능은 Amazon EC2가 손상되는 대부분의 상황에서 사용할 수 있습니다. 다음 모범 사례를 따르는 것이 좋습니다.

  • 구성 또는 운영 체제를 변경하기 전에 데이터를 백업합니다. 루트 볼륨 또는 운영 체제가 손상되면 호스트 교체로 복구할 수 없습니다. 이 경우 유일한 옵션은 DB 스냅샷 또는 특정 시점으로 복구에서 복원하는 것입니다.

  • 물리적 Amazon EC2 호스트를 수동으로 중지하거나 종료하지 마세요. 이렇게 하면 인스턴스가 RDS Custom 지원 경계 밖에 배치됩니다.

  • (RDS Custom for SQL Server) 추가 볼륨을 Amazon EC2 호스트에 연결하는 경우 재시작할 때 다시 탑재하도록 구성합니다. 호스트가 손상된 경우 RDS Custom이 호스트를 자동으로 중지하고 시작할 수 있습니다.

RDS Custom 지원 범위

RDS Custom은 지원 범위라는 모니터링 기능을 제공합니다. 이 추가적인 모니터링은 RDS Custom DB 인스턴스가 지원되는 AWS 인프라, 운영 체제 및 데이터베이스를 사용하도록 보장합니다.

지원 범위에서는 DB 인스턴스가 RDS Custom for Oracle에서 지원되지 않는 구성 문제 해결RDS Custom for SQL Server에서 지원되지 않는 구성 문제 해결에 나열된 요구 사항을 준수하는지 확인합니다. RDS Custom은 이러한 요구 사항 중 하나라도 충족되지 않으면 DB 인스턴스가 지원 경계를 벗어난 것으로 간주합니다.

RDS Custom에서 지원되지 않는 구성

DB 인스턴스가 지원 경계를 벗어나면 RDS Custom은 DB 인스턴스 상태를 unsupported-configuration으로 변경하고 이벤트 알림을 전송합니다. 구성 문제가 해결되면 RDS Custom에서는 DB 인스턴스 상태를 available로 다시 변경합니다.

DB 인스턴스가 unsupported-configuration 상태인 동안에는 다음과 같은 상황이 발생할 수 있습니다.

  • 데이터베이스가 연결 가능한 상태가 됩니다. DB 인스턴스가 unsupported-configuration 상태이면 데이터베이스가 예기치 않게 종료되기 때문에 예외 상황도 있습니다.

  • DB 인스턴스를 수정할 수 없습니다.

  • DB 스냅샷을 생성할 수 없습니다.

  • 자동 백업이 생성되지 않습니다.

  • RDS Custom for SQL Server DB 인스턴스 전용의 경우, RDS Custom은 기본 Amazon EC2 인스턴스가 손상된 경우 이를 교체하지 않습니다. 호스트 교체에 관한 자세한 내용은 Amazon RDS Custom 호스트 교체 단원을 참조하세요.

  • DB 인스턴스를 삭제할 수는 있지만 대부분의 다른 RDS Custom API 작업은 사용할 수 없습니다.

  • RDS Custom은 다시 실행 로그 파일을 보관하고 Amazon S3에 이를 업로드하여 PITR(특정 시점으로 복구)을 계속 지원합니다. unsupported-configuration 상태에 있는 PITR은 다음의 부분에서 차이가 있습니다.

    • PITR이 새로운 RDS Custom DB 인스턴스로 완전히 복원하는 데 시간이 오래 걸릴 수 있는데, 이러한 상황은 인스턴스가 unsupported-configuration 상태인 동안에는 자동 스냅샷이나 수동 스냅샷을 생성할 수 없기 때문에 발생합니다.

    • PITR은 인스턴스가 unsupported-configuration 상태로 전환되기 전에 가장 최근에 생성된 스냅샷부터 시작해서 다시 실행 로그를 더 많이 재생해야 합니다.

    • 보관된 다시 실행 파일을 업로드하지 못하도록 변경했기 때문에 DB 인스턴스가 unsupported-configuration 상태에 있는 경우도 있습니다. EC2 인스턴스 중지, RDS Custom 에이전트 중지, EBS 볼륨 분리 등을 예로 들 수 있습니다. 이 경우 PITR을 통해 DB 인스턴스를 복원 가능한 가장 빠른 시간으로 복원하지 못할 수 있습니다.

지원되지 않는 구성 문제 해결

RDS Custom은 unsupported-configuration 상태 관련 문제 해결 지침을 제공합니다. RDS Custom for Oracle 및 RDS Custom for SQL Server에 적용되는 일부 지침이 있긴 하지만, DB 엔진에 따라 달라지는 지침도 있습니다. 엔진별 문제 해결 정보는 다음 주제를 참조하세요.

Amazon S3

Oracle용 RDS Custom을 사용하는 경우 설치 미디어를 사용자가 생성한 Amazon S3 버킷에 업로드합니다. Oracle용 RDS Custom은 이 버킷의 미디어를 사용하여 사용자 지정 엔진 버전(CEV)을 생성합니다. CEV는 데이터베이스 버전과 Amazon Machine Image(AMI)의 이진 볼륨 스냅샷입니다. CEV에서 RDS Custom DB 인스턴스를 생성할 수 있습니다. 자세한 정보는 사용자 지정 엔진 버전의 Amazon RDS Custom for Oracle으로 작업을 참조하세요.

RDS Custom for Oracle 및 RDS Custom for SQL Server 모두에 대해 RDS Custom은 문자열 do-not-delete-rds-custom- 접두사가 붙은 Amazon S3 버킷을 자동으로 생성합니다. RDS Custom은 do-not-delete-rds-custom- S3 버킷을 사용하여 다음 유형의 파일을 저장합니다.

  • RDS Custom에서 생성한 추적에 대한 AWS CloudTrail 로그

  • 주변 아티팩트 지원(RDS Custom 지원 범위 참조)

  • 데이터베이스 다시 실행 로그 파일(RDS Custom for Oracle만 해당)

  • 트랜잭션 로그(RDS Custom for SQL Server만 해당)

  • Custom 엔진 버전 아티팩트(RDS Custom for Oracle만 해당)

RDS Custom은 다음 리소스 중 하나를 생성할 때 do-not-delete-rds-custom- S3 버킷을 생성합니다.

  • RDS Custom for Oracle을 위한 첫 번째 CEV

  • RDS Custom for SQL Server의 첫 번째 DB 인스턴스

RDS Custom은 다음의 조합마다 하나의 버킷을 생성합니다.

  • AWS 계정 ID

  • 엔진 유형(RDS Custom for Oracle 또는 RDS Custom for SQL Server)

  • AWS 리전

예를 들어 단일 AWS 리전에서 Oracle CEV용 RDS Custom을 생성하는 경우 하나의 do-not-delete-rds-custom- 버킷이 존재합니다. 여러 RDS Custom for SQL Server 인스턴스를 생성하고 다른 AWS 리전에 상주하는 경우 각 AWS 리전에 하나의 do-not-delete-rds-custom- 버킷이 있습니다. 단일 AWS 리전에 RDS Custom for Oracle 인스턴스 1개와 RDS Custom for SQL Server 인스턴스 2개를 생성하는 경우 do-not-delete-rds-custom- 버킷이 2개 존재합니다.

AWS CloudTrail

RDS Custom은 이름이 do-not-delete-rds-custom-으로 시작하는 AWS CloudTrail 추적을 자동으로 생성합니다. RDS Custom 지원 경계는 CloudTrail의 이벤트에 따라 작업이 RDS Custom 자동화에 영향을 미치는지 여부를 결정합니다. 자세한 내용은 지원되지 않는 구성 문제 해결 섹션을 참조하세요.

RDS Custom은 첫 번째 DB 인스턴스를 생성할 때 추적을 생성합니다. RDS Custom은 다음의 조합마다 하나의 추적을 생성합니다.

  • AWS 계정 ID

  • 엔진 유형(RDS Custom for Oracle 또는 RDS Custom for SQL Server)

  • AWS 리전

RDS Custom DB 인스턴스를 삭제해도 이 인스턴스의 CloudTrail은 자동으로 제거되지 않습니다. 이 경우, 삭제되지 않은 CloudTrail에 대해 AWS 계정에 계속 요금이 청구됩니다. RDS Custom은 이 리소스의 삭제에 대해 책임을 지지 않습니다. CloudTrail을 수동으로 제거하는 방법을 알아보려면 AWS CloudTrail 사용 설명서에서 추적 삭제를 참조하세요.