RDS CloudWatch Metric 수집 권한 설정
이 문서에서는 데이터베이스 모니터링에서 IAM ROLE의 ARN 값을 이용하지 않고 EC2에 RDS CloudWatch Metric의 수집 권한을 부여해 데이터를 수집하는 방법을 안내합니다.
AWS CloudFormation을 통한 설정
와탭에서 제공하는 AWS CloudFormation 템플릿을 통해 AWS IAM Policy, Role, AWS EC2 Instance Profile을 자동 설치하는 방법입니다.
-
다음 링크를 클릭한 후 스택 생성을 통해 Instance Profile을 생성하세요.
RDS 권한 설치 페이지 -
EC2 > Instances에서 DB 에이전트가 설치된 인스턴스를 선택한 다음 Actions > Security > Modify IAM role을 차례로 선택하세요.
-
EC2 > Instances > Modify IAM role에서 앞서 생성한 IAM Role 또는 Instance Profile Name을 입력하세요.
기본값: Role(WhaTapRDSCloudWatchMetricRole), InstanceProfile(WhaTapRDSCloudWatchMetricProfile)
AWS Console을 통한 설정
다음은 AWS Console을 통해 AWS IAM Policy, Role을 차례로 생성하는 방법입니다.
AWS IAM Policy 생성
-
IAM > Polices로 진입한 다음 Create Policy 버튼을 선택하세요.
-
설정 방식을 JSON을 선택한 후 다음 내용을 입력하고 Next를 선택하세요.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstanceTypes",
"elasticache:DescribeCacheClusters",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"rds:DownloadDBLogFilePortion",
"rds:DescribeDBInstances",
"rds:DescribeDBLogFiles",
"rds:DescribeDBClusters"
],
"Resource": [
"arn:aws:rds:*:{AWS::ACCOUNT}:db:*",
"arn:aws:rds:*:{AWS::ACCOUNT}:cluster:*"
]
}
]
} -
정책 이름(Policy name)을 설정한 다음 Create Policy 버튼을 선택하세요.
AWS IAM Role 생성
-
IAM > Roles로 진입한 다음 Create Role 버튼을 선택하세요.
-
Select trusted entity 단계에서 신뢰할 수 있는 엔티티 타입으로 AWS Service, EC2를 차례로 선택하세요.
-
Add permissoins 단계에서 앞서 생성한 Policy를 선택하세요.
-
Name, review, and create 단계에서는 이름 및 설명을 작성한 다음 Create role 버튼을 선택하세요.
AWS IAM Role 수정
-
EC2 > Instances에서 DB 에이전트가 설치된 인스턴스를 선택한 다음 Actions > Security > Modify IAM role을 차례로 선택하세요.
-
EC2 > Instances > Modify IAM role에서 앞서 생성한 IAM Role을 입력하세요.
에이전트 설정
whatap.conf 파일에 어떤 지표를 조회할 것인지 옵션을 설정하세요. arn
은 생략 가능합니다.
cloud_watch=on
#aws_region=ap-northeast-2
#aws_arn=arn:aws:iam::649024405358:role/rds-monitoring-role
cloud_watch_metrics=CPUUtilization,FreeableMemory,FreeStorageSpace,NetworkTransmitThroughput,NetworkReceiveThroughput
cloud_watch_instance=mysql-rds