본문으로 건너뛰기

RDS CloudWatch Metric 수집 권한 설정

이 문서에서는 데이터베이스 모니터링에서 IAM ROLE의 ARN 값을 이용하지 않고 EC2에 RDS CloudWatch Metric의 수집 권한을 부여해 데이터를 수집하는 방법을 안내합니다.

AWS CloudFormation을 통한 설정​

와탭에서 제공하는 AWS CloudFormation 템플릿을 통해 AWS IAM Policy, Role, AWS EC2 Instance Profile을 자동 설치하는 방법입니다.

  1. 다음 링크를 클릭한 후 스택 생성을 통해 Instance Profile을 생성하세요.

    RDS 권한 설치 페이지
  2. EC2 > Instances에서 DB 에이전트가 설치된 인스턴스를 선택한 다음 Actions > Security > Modify IAM role을 차례로 선택하세요.

  3. 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 생성​

  1. IAM > Polices로 진입한 다음 Create Policy 버튼을 선택하세요.

  2. 설정 방식을 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:*"
    ]
    }
    ]
    }
  3. 정책 이름(Policy name)을 설정한 다음 Create Policy 버튼을 선택하세요.

AWS IAM Role 생성​

  1. IAM > Roles로 진입한 다음 Create Role 버튼을 선택하세요.

  2. Select trusted entity 단계에서 신뢰할 수 있는 엔티티 타입으로 AWS Service, EC2를 차례로 선택하세요.

  3. Add permissoins 단계에서 앞서 생성한 Policy를 선택하세요.

  4. Name, review, and create 단계에서는 이름 및 설명을 작성한 다음 Create role 버튼을 선택하세요.

AWS IAM Role 수정​

  1. EC2 > Instances에서 DB 에이전트가 설치된 인스턴스를 선택한 다음 Actions > Security > Modify IAM role을 차례로 선택하세요.

  2. EC2 > Instances > Modify IAM role에서 앞서 생성한 IAM Role을 입력하세요.

에이전트 설정​

whatap.conf 파일에 어떤 지표를 조회할 것인지 옵션을 설정하세요. arn은 생략 가능합니다.

whatap.conf
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