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 역할을 생성하려면
-
향상된 모니터링 설정 및 해제 단원의 단계를 따르십시오.
-
역할을 선택하는 단계에서 모니터링 역할(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 역할을 생성하려면
-
https://console.aws.amazon.com
에서 IAM 콘솔 을 엽니다. -
탐색 창에서 역할을 선택합니다.
-
역할 생성을 선택합니다.
-
AWS 서비스(service) 탭을 선택한 다음 서비스 목록에서 RDS를 선택합니다.
-
RDS - 확장 모니터링(RDS - Enhanced Monitoring)과 다음(Next)을 차례로 선택합니다.
-
권한 정책(Permissions policies)에 AmazonRDSEnhancedMonitoringRole이 표시되었는지 확인하고 다음(Next)을 선택합니다.
-
역할 이름에 역할의 이름을 입력합니다. 예를 들면
emaccess
를 입력합니다.사용자 역할에 대한 신뢰할 수 있는 엔터티는 monitoring.rds.amazonaws.com AWS 서비스입니다.
-
역할 생성을 선택합니다.
향상된 모니터링 설정 및 해제
AWS Management Console, AWS CLI 또는 RDS API를 사용하여 향상된 모니터링을 설정하거나 해제할 수 있습니다. 향상된 모니터링을 설정할 RDS DB 인스턴스를 선택합니다. 각 DB 인스턴스에서 지표 수집에 대해 서로 다른 세부 단위를 설정할 수 있습니다.
DB 클러스터 또는 읽기 전용 복제본을 생성할 때나 DB 인스턴스를 수정할 때 확장 모니터링을 켤 수 있습니다. 향상된 모니터링을 활성화하기 위해 DB 인스턴스를 수정하는 경우 DB 인스턴스를 재부팅하지 않아도 변경 내용이 적용됩니다.
데이터베이스 페이지에서 다음 작업 중 하나를 수행할 때 RDS 콘솔에서 향상된 모니터링을 사용 설정할 수 있습니다.
-
DB 클러스터 생성 - 데이터베이스 생성(Create database)을 선택합니다.
-
읽기 전용 복제본 생성(Create a read replica) - 작업(Actions)을 선택한 다음 읽기 전용 복제본 생성(Create read replica)을 선택합니다.
-
DB 인스턴스(Modify a DB instance or Multi-AZ DB cluster) - 수정(Modify)을 선택합니다.
RDS 콘솔에서 향상된 모니터링 설정 또는 해제
-
추가 구성(Additional configuration)으로 스크롤합니다.
-
모니터링(Monitoring)에서 DB 인스턴스 또는 읽기 전용 복제본에 대해 Enhanced 모니터링 활성화(Enable Enhanced Monitoring)를 선택합니다. 향상된 모니터링을 해제하려면 향상된 모니터링 사용 중지(Disable Enhanced Monitoring)를 선택합니다.
-
Amazon RDS에 사용자를 대신하여 Amazon CloudWatch Logs와 통신하도록 허용하기 위해 생성한 IAM 역할에 대한 [Monitoring Role] 속성을 설정하거나, [Default]를 선택하여 RDS에서
rds-monitoring-role
역할을 자동으로 생성하도록 합니다. -
세부 수준 속성을 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
, 30
및 60
입니다.
AWS CLI를 사용하여 향상된 모니터링을 해제하려면 다음 명령에서 --monitoring-interval
옵션을 0
으로 설정합니다.
예
다음 예에서는 DB 인스턴스에 대해 향상된 모니터링을 설정합니다.
대상 LinuxmacOS, 또는Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --monitoring-interval30
\ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
Windows의 경우:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --monitoring-interval30
^ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
예
다음 예에서는 DB 인스턴스에 대해 향상된 모니터링을 설정합니다.
대상 LinuxmacOS, 또는Unix:
aws rds modify-db-cluster \ --db-cluster-identifier
mydbcluster
\ --monitoring-interval30
\ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
Windows의 경우:
aws rds modify-db-cluster ^ --db-cluster-identifier
mydbcluster
^ --monitoring-interval30
^ --monitoring-role-arnarn:aws:iam::123456789012:role/emaccess
RDS API를 사용하여 향상된 모니터링을 설정하려면 MonitoringInterval
파라미터를 0
이외의 값으로 설정하고 MonitoringRoleArn
파라미터를 Enhanced Monitoring에 대한 IAM 역할 생성에서 생성된 역할로 설정합니다. 다음 작업에서 이러한 파라미터를 설정합니다.
MonitoringInterval
파라미터는 확장 모니터링 지표가 수집되는 시점 간격(초)을 지정합니다. 유효 값은 0
, 1
, 5
, 10
, 15
, 30
, 60
입니다.
RDS API를 사용하여 향상된 모니터링을 해제하려면 MonitoringInterval
을 0
으로 설정합니다.
혼동된 대리자 문제로부터 보호
혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. AWS에서는 교차 서비스 가장으로 인해 혼동된 대리자 문제가 발생할 수 있습니다. 교차 서비스 가장은 한 서비스(호출하는 서비스)가 다른 서비스(호출되는 서비스)를 직접적으로 호출할 때 발생할 수 있습니다. 직접적으로 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하기 위해 AWS에서는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 보안 주체를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 제공합니다. 자세한 내용은 혼동된 대리자 문제를 참조하세요.
Amazon RDS가 다른 서비스에 제공할 수 있는 리소스에 대한 권한을 제한하려면 향상된 모니터링 역할에 대한 신뢰 정책에서 aws:SourceArn
및 aws:SourceAccount
전역 조건 컨텍스트 키를 사용하는 것이 좋습니다. 두 전역 조건 컨텍스트 키를 모두 사용하는 경우 동일한 계정 ID를 사용해야 합니다.
혼동된 대리인 문제로부터 보호하는 가장 효과적인 방법은 리소스의 전체 ARN이 포함된 aws:SourceArn
글로벌 조건 컨텍스트 키를 사용하는 것입니다. Amazon RDS의 경우 aws:SourceArn
을 arn:aws:rds:
으로 설정합니다.Region
:my-account-id
:db:dbname
다음 예에서는 혼동된 대리인 문제를 방지하기 위해 신뢰 정책에서 aws:SourceArn
및 aws: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
" } } } ] }