데이터베이스 활동 스트림 개요 - Amazon Aurora

데이터베이스 활동 스트림 개요

Amazon Aurora 데이터베이스 관리자는 데이터베이스를 보호하고 규정 준수 및 규제 요건을 충족해야 합니다. 한 가지 전략은 데이터베이스 활동 스트림을 모니터링 도구와 통합하는 것입니다. 이렇게 하면 Amazon Aurora 클러스터에서 감사 활동에 대한 경보를 모니터링하고 설정할 수 있습니다.

보안 위협은 외부 및 내부 위협입니다. 내부 위협으로부터 보호하기 위해 데이터베이스 활동 스트림 기능을 구성하여 데이터 스트림에 대한 관리자 액세스를 제어할 수 있습니다. DBA는 스트림의 수집, 전송, 저장 및 처리에 대한 액세스 권한이 없습니다.

데이터베이스 활동 스트림 작동 방식

Amazon Aurora에서는 클러스터 수준에서 데이터베이스 활동 스트림을 시작합니다. 클러스터 내의 모든 DB 인스턴스는 데이터베이스 활동 스트림을 사용하도록 설정되어 있습니다.

Aurora DB 클러스터는 활동을 Amazon Kinesis 데이터 스트림에 거의 실시간으로 푸시합니다. Kinesis 스트림이 자동으로 생성됩니다. Kinesis에서 Amazon Data Firehose 및 AWS Lambda와 같은 AWS 서비스를 구성하여 스트림을 사용하고 데이터를 저장할 수 있습니다.

중요

Amazon Aurora에서 데이터베이스 활동 스트림은 무료 기능이지만, Amazon Kinesis는 데이터 스트림에 대한 요금을 부과합니다. 자세한 내용은 Amazon Kinesis Data Streams 요금을 참조하세요.

Aurora 글로벌 데이터베이스를 사용하는 경우 데이터베이스 활동 스트림을 각 DB 클러스터에서 별도로 시작합니다. 각 클러스터는 자체 AWS 리전 내의 자체 Kinesis 스트림에 감사 데이터를 제공합니다. 장애 조치 중에 활동 스트림이 다르게 작동하지 않습니다. 평소와 같이 글로벌 데이터베이스를 계속 감사합니다.

규정 준수 관리용 애플리케이션이 데이터베이스 활동 스트림을 사용하도록 구성할 수 있습니다. Aurora PostgreSQL의 경우, 규정 준수 애플리케이션에는 IBM의 Security Guardium, Imperva의 SecureSphere Database Audit and Protection이 포함됩니다. 이 애플리케이션은 스트림을 사용하여 Aurora DB 클러스터에 대한 경보를 생성하고 활동 감사를 수행할 수 있습니다.

다음 그래픽은 Amazon Data Firehose로 구성된 Aurora DB 클러스터를 보여줍니다.

데이터베이스 활동 스트림에 대한 비동기식 및 동기식 모드

다음 모드 중 하나로 데이터베이스 세션에서 데이터베이스 활동 이벤트를 처리하도록 선택할 수 있습니다.

  • 비동기식 모드 – 데이터베이스 세션이 활동 스트림 이벤트를 생성하면 세션은 즉시 정상 활동으로 되돌아갑니다. 배경에서 내구성 있는 레코드에 활동 스트림 이벤트가 생성됩니다. 배경 작업에서 오류가 발생하면 RDS 이벤트가 전송됩니다. 이 이벤트는 활동 스트림 이벤트 레코드가 분실되었을 수있는 기간의 시작과 끝을 나타냅니다.

    비동기 모드는 활동 스트림의 정확성보다 데이터베이스 성능을 우선시합니다.

    참고

    비동기 모드는 Aurora PostgreSQL 및 Aurora MySQL 모두에 사용할 수 있습니다.

  • 동기식 모드 – 데이터베이스 세션이 활동 스트림 이벤트를 생성할 때, 이 세션은 이벤트가 지속될 때까지 다른 활동을 차단합니다. 어떤 이유로 이벤트를 내구성 있게 만들 수 없으면 데이터베이스 세션은 정상적인 활동으로 돌아갑니다. 그러나 활동 스트림 레코드가 잠시 분실되었을 수 있음을 나타내는 RDS 이벤트가 전송됩니다. 두 번째 RDS 이벤트는 시스템이 정상 상태로 돌아간 후에 전송됩니다.

    동기 모드는 데이터베이스 성능보다 활동 스트림의 정확성을 우선시합니다.

    참고

    Aurora PostgreSQL에 동기 모드를 사용할 수 있습니다. Aurora MySQL에는 동기 모드를 사용할 수 없습니다.

데이터베이스 활동 스트림의 요구 사항 및 제한 사항

Aurora에서 데이터베이스 활동 스트림에는 다음과 같은 요구 사항과 제한 사항이 있습니다.

  • 데이터베이스 활동 스트림에는 Amazon Kinesis를 사용해야 합니다.

  • 데이터베이스 활동 스트림은 항상 암호화되므로 AWS Key Management Service(AWS KMS)를 사용해야 합니다.

  • Amazon Kinesis 데이터 스트림에 추가 암호화를 적용하는 것은 이미 AWS KMS 키를 사용하여 암호화된 데이터베이스 활동 스트림과 호환되지 않습니다.

  • DB 클러스터 수준에서 데이터베이스 활동 스트림을 시작합니다. 클러스터에 DB 인스턴스를 추가하는 경우 인스턴스에서 활동 스트림을 시작할 필요가 없이 자동으로 감사됩니다.

  • Aurora 글로벌 데이터베이스에서는 활동 스트림을 각 DB 클러스터에서 별도로 시작해야 합니다. 각 클러스터는 자체 AWS 리전 내의 자체 Kinesis 스트림에 감사 데이터를 제공합니다.

  • Aurora PostgreSQL에서는 업그레이드 전에 데이터베이스 활동 스트림을 중지해야 합니다. 업그레이드가 완료된 후 데이터베이스 활동 스트림을 시작할 수 있습니다.

리전 및 버전 사용 가능 여부

기능 가용성 및 해당 지원은 각 Aurora 데이터베이스 엔진의 특정 버전 및 AWS 리전에 따라 다릅니다. Aurora 및 데이터베이스 활동 스트림의 버전 및 지역 가용성에 대한 자세한 내용은 데이터베이스 활동 스트림을 지원하는 리전 및 Aurora DB 엔진 섹션을 참조하세요.

데이터베이스 활동 스트림이 지원되는 DB 인스턴스 클래스

Aurora MySQL의 경우 데이터베이스 활동 스트림을 다음 DB 인스턴스 클래스와 함께 사용할 수 있습니다.

  • db.r7g.*large

  • db.r6g.*large

  • db.r6i.*large

  • db.r5.*large

  • db.x2g.*

Aurora PostgreSQL의 경우 데이터베이스 활동 스트림을 다음 DB 인스턴스 클래스와 함께 사용할 수 있습니다.

  • db.r7g.*large

  • db.r6g.*large

  • db.r6i.*large

  • db.r6id.*large

  • db.r5.*large

  • db.r4.*large

  • db.x2g.*