Enhanced Monitoring 설정 및 활성화 - Amazon Relational Database Service

Enhanced Monitoring 설정 및 활성화

Enhanced Monitoring을 사용하려면 IAM 역할을 생성한 다음 Enhanced Monitoring을 활성화해야 합니다.

Enhanced Monitoring에 대한 IAM 역할 생성

Enhanced Monitoring은 사용자를 대신하여 CloudWatch Logs에 OS 측정치 정보를 보낼 수 있는 권한이 필요합니다. AWS Identity and Access Management(IAM) 역할을 사용하여 Enhanced Monitoring에 권한을 부여합니다. 향상된 모니터링을 사용 설정할 때 이 역할을 생성하거나 미리 생성할 수 있습니다.

Enhanced Monitoring을 활성화할 때 IAM 역할 생성

RDS 콘솔에서 Enhanced Monitoring을 활성화하면, Amazon RDS가 필요한 IAM 역할을 생성할 수 있습니다. 이 역할의 이름은 rds-monitoring-role입니다. RDS는 지정된 DB 인스턴스, 읽기 전용 복제본 또는 다중 AZ DB 클러스터에 이 역할을 사용합니다.

Enhanced Monitoring을 활성화할 때 IAM 역할을 생성하려면
  1. 향상된 모니터링 설정 및 해제 단원의 단계를 따르십시오.

  2. 역할을 선택하는 단계에서 모니터링 역할(Monitoring Role)기본값(Default)으로 설정합니다.

Enhanced Monitoring을 활성화하기 전에 IAM 역할 생성

Enhanced Monitoring을 활성화하기 전에, 필요한 역할을 생성할 수 있습니다. Enhanced Monitoring을 활성화할 때 새 역할의 이름을 지정합니다. AWS CLI 또는 RDS API를 사용하여 Enhanced Monitoring을 활성화할 경우 이 필수 역할을 생성해야 합니다.

확장 모니터링을 활성화하는 사용자는 PassRole 권한을 부여받아야 합니다. 자세한 내용은 IAM 사용 설명서사용자에게 AWS 서비스에 역할을 전달할 수 있는 권한 부여에 있는 예제 2를 참조하십시오.

Amazon RDS Enhanced Monitoring에 대한 IAM 역할을 생성하려면
  1. https://console.aws.amazon.com에서 IAM 콘솔을 엽니다.

  2. 탐색 창에서 역할을 선택합니다.

  3. 역할 생성을 선택합니다.

  4. AWS 서비스(service) 탭을 선택한 다음 서비스 목록에서 RDS를 선택합니다.

  5. RDS - 확장 모니터링(RDS - Enhanced Monitoring)다음(Next)을 차례로 선택합니다.

  6. 권한 정책(Permissions policies)AmazonRDSEnhancedMonitoringRole이 표시되었는지 확인하고 다음(Next)을 선택합니다.

  7. 역할 이름에 역할의 이름을 입력합니다. 예를 들면 emaccess를 입력합니다.

    사용자 역할에 대한 신뢰할 수 있는 엔터티는 monitoring.rds.amazonaws.com AWS 서비스입니다.

  8. 역할 생성을 선택합니다.

향상된 모니터링 설정 및 해제

AWS Management Console, AWS CLI 또는 RDS API를 사용하여 향상된 모니터링을 설정하거나 해제할 수 있습니다. 향상된 모니터링을 설정할 RDS DB 인스턴스를 선택합니다. 각 DB 인스턴스에서 지표 수집에 대해 서로 다른 세부 단위를 설정할 수 있습니다.

DB 인스턴스, 다중 AZ DB 클러스터, 또는 읽기 전용 복제본을 생성할 때나 DB 인스턴스 또는 다중 AZ DB 클러스터를 수정할 때 확장 모니터링을 켤 수 있습니다. 향상된 모니터링을 활성화하기 위해 DB 인스턴스를 수정하는 경우 DB 인스턴스를 재부팅하지 않아도 변경 내용이 적용됩니다.

데이터베이스 페이지에서 다음 작업 중 하나를 수행할 때 RDS 콘솔에서 향상된 모니터링을 사용 설정할 수 있습니다.

  • DB 인스턴스 또는 다중 AZ DB 클러스터 생성 - 데이터베이스 생성(Create database)을 선택합니다.

  • 읽기 전용 복제본 생성(Create a read replica) - 작업(Actions)을 선택한 다음 읽기 전용 복제본 생성(Create read replica)을 선택합니다.

  • DB 인스턴스 또는 다중 AZ DB 클러스터(Modify a DB instance or Multi-AZ DB cluster) - 수정(Modify)을 선택합니다.

RDS 콘솔에서 향상된 모니터링 설정 또는 해제
  1. 추가 구성(Additional configuration)으로 스크롤합니다.

  2. 모니터링(Monitoring)에서 DB 인스턴스 또는 읽기 전용 복제본에 대해 Enhanced 모니터링 활성화(Enable Enhanced Monitoring)를 선택합니다. 향상된 모니터링을 해제하려면 향상된 모니터링 사용 중지(Disable Enhanced Monitoring)를 선택합니다.

  3. Amazon RDS에 사용자를 대신하여 Amazon CloudWatch Logs와 통신하도록 허용하기 위해 생성한 IAM 역할에 대한 [Monitoring Role] 속성을 설정하거나, [Default]를 선택하여 RDS에서 rds-monitoring-role 역할을 자동으로 생성하도록 합니다.

  4. 세부 수준 속성을 DB 인스턴스 또는 읽기 전용 복제본에 대한 지표가 수집되는 시점 간격(초)으로 설정합니다. [Granularity] 속성을 1, 5, 10, 15, 30 또는 60 값 중 하나로 설정할 수 있습니다.

    RDS 콘솔을 새로 고치는 최소 간격은 5초입니다. RDS 콘솔에서 단위를 1초로 설정한 경우에도 업데이트된 측정치는 5초마다 표시됩니다. CloudWatch Logs를 사용하여 1초 측정치 업데이트를 검색할 수 있습니다.

AWS CLI를 사용하여 향상된 모니터링을 활성화하려면 다음 명령에서 --monitoring-interval 옵션을 0 이외의 값으로 설정하고 --monitoring-role-arn 옵션을 Enhanced Monitoring에 대한 IAM 역할 생성에서 생성된 역할로 설정합니다.

--monitoring-interval 옵션은 확장 모니터링 지표가 수집되는 시점 간격(초)을 지정합니다. 이 옵션의 유효한 값은 0, 1, 5, 10, 15, 3060입니다.

AWS CLI를 사용하여 향상된 모니터링을 해제하려면 다음 명령에서 --monitoring-interval 옵션을 0으로 설정합니다.

다음 예에서는 DB 인스턴스에 대해 향상된 모니터링을 설정합니다.

대상 LinuxmacOS, 또는Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --monitoring-interval 30 \ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

Windows의 경우:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --monitoring-interval 30 ^ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

다음 예에서는 DB 인스턴스에 대해 향상된 모니터링을 설정합니다.

대상 LinuxmacOS, 또는Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --monitoring-interval 30 \ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

Windows의 경우:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --monitoring-interval 30 ^ --monitoring-role-arn arn:aws:iam::123456789012:role/emaccess

RDS API를 사용하여 향상된 모니터링을 설정하려면 MonitoringInterval 파라미터를 0 이외의 값으로 설정하고 MonitoringRoleArn 파라미터를 Enhanced Monitoring에 대한 IAM 역할 생성에서 생성된 역할로 설정합니다. 다음 작업에서 이러한 파라미터를 설정합니다.

MonitoringInterval 파라미터는 확장 모니터링 지표가 수집되는 시점 간격(초)을 지정합니다. 유효 값은 0, 1, 5, 10, 15, 30, 60입니다.

RDS API를 사용하여 향상된 모니터링을 해제하려면 MonitoringInterval0으로 설정합니다.

혼동된 대리자 문제로부터 보호

혼동된 대리인 문제는 작업을 수행할 권한이 없는 개체가 권한이 더 많은 개체에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. AWS에서는 교차 서비스 가장으로 인해 혼동된 대리인 문제가 발생할 수 있습니다. 교차 서비스 가장은 한 서비스(호출하는 서비스)가 다른 서비스(호출되는 서비스)를 호출할 때 발생할 수 있습니다. 직접적으로 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하기 위해 AWS에서는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 보안 주체를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 제공합니다. 자세한 내용은 혼동된 대리자 문제를 참조하세요.

Amazon RDS가 다른 서비스에 제공할 수 있는 리소스에 대한 권한을 제한하려면 향상된 모니터링 역할에 대한 신뢰 정책에서 aws:SourceArnaws:SourceAccount 전역 조건 컨텍스트 키를 사용하는 것이 좋습니다. 두 전역 조건 컨텍스트 키를 모두 사용하는 경우 동일한 계정 ID를 사용해야 합니다.

혼동된 대리인 문제로부터 보호하는 가장 효과적인 방법은 리소스의 전체 ARN이 포함된 aws:SourceArn 글로벌 조건 컨텍스트 키를 사용하는 것입니다. Amazon RDS의 경우 aws:SourceArnarn:aws:rds:Region:my-account-id:db:dbname으로 설정합니다.

다음 예에서는 혼동된 대리인 문제를 방지하기 위해 신뢰 정책에서 aws:SourceArnaws:SourceAccount 전역 조건 컨텍스트 키를 사용합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "monitoring.rds.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:rds:Region:my-account-id:db:dbname" }, "StringEquals": { "aws:SourceAccount": "my-account-id" } } } ] }