클라우드 에이전트 설정
이 문서는 AWS 환경에서 WhaTap 클라우드 에이전트를 설정하기 위한 가이드입니다. 주요 설정 항목, 필드 설명, 권한 구성, 실행 명령까지 포함하여 운영 환경에 바로 적용할 수 있도록 구성되어 있습니다.
에이전트 설정
AWS Aurora and RDS 설정 방법입니다.
AWS Aurora and RDS 설정
config.yaml
input:
csp: "aws" # 클라우드 서비스 제공자를 입력합니다.
namespace: "rds"
region: "ap-northeast-1"
instances: # 명시한 인스턴스는 항상 수집합니다. 클러스터 내의 인스턴스를 이 속성에 명시하면, 오토스케일 여부와 관계없이 항상 수집합니다.
- name: "mysql-rds"
slow_query: true # 슬로우 쿼리 페이지를 사용하려면, true로 설정합니다. 해당 기능은 MySQL 및 PostgreSQL 인스턴스에서만 지원됩니다.
clusters:
autoscale:
enabled: false # 오토스케일이 활성화되면, 오토스케일된 인스턴스들을 수집 대상에서 추가하거나 삭제합니다.
interval: 60 # 명시한 클러스터들의 오토스케일 체크 주기입니다. (단위: 초)
names:
- "database-cluster-name"
metrics: # 수집할 메트릭을 입력합니다.
- "CPUUtilization"
- "FreeStorageSpace"
- "FreeableMemory"
- "ReadLatency"
- "WriteLatency"
logs:
enabled: false # 활성화/비활성화 할 수 있음. true/false 선택하면됨
<<<<<<< HEAD
groups: # 원하는 aws log group 을 추가하면 됨.
=======
groups: # 원하는 aws log group 을 추가하면 됨
>>>>>>> abeb6f63606a7aa7e79bc29d10a647139e98f9c8
- "/aws/rds/cluster/database-cluster-name/error"
- "/aws/lambda/MyLambda"
output: # 수집한 메트릭 데이터를 받는 WhaTap 정보를 입력합니다.
license: "abcdefg-higjgkgjk-zxcvnbnbmc"
host: "127.0.0.1"
필드 | 설명 |
---|---|
csp | 클라우드 서비스 제공자로 aws (Amazon Web Services)를 의미 |
namespace | 수집 대상 서비스의 네임스페이스 - 고정값: Aurora and RDS 설정 시 rds 입력 |
region | AWS 리전 코드 - 예. ap-northeast-2 (서울 리전) |
instances | 항상 수집할 인스턴스 목록으로 오토스케일 여부와 관계없이 지정된 인스턴스는 무조건 수집함 |
instances[].name | RDS 인스턴스 이름 - 예. mysql-rds |
instances[].slow_query | 해당 인스턴스의 슬로우 쿼리 수집 여부, MySQL 및 PostgreSQL 인스턴스에서만 지원 - true : 수집- false : 미수집 |
clusters | RDS 클러스터 관련 설정 |
clusters.autoscale.enabled | 클러스터 오토스케일 수집 여부 - true : 자동으로 인스턴스를 추가/제거하며 수집 - false : instances 에 직접 입력한 인스턴스만 수집 대상에 포함 |
clusters.autoscale.interval | 오토스케일 여부를 감지하는 주기(단위: 초) |
clusters.names | 오토스케일 여부를 체크할 클러스터 이름 목록 |
metrics | 수집할 메트릭 항목 목록 - 예. CPUUtilization , FreeStorageSpace 등- 참고. Amazon RDS에 대한 Amazon CloudWatch 지표 공식 문서 바로가기 |
output.license | 수집된 데이터를 전송할 WhaTap의 라이선스 키 |
output.host | 수집 데이터를 전송할 WhaTap 서버 호스트 주소(IP) |
권한 설정
에이전트가 정상적으로 동작하려면, 서비스별로 필요한 권한을 설정해야 합니다.
AWS Aurora and RDS 권한
클라우드 에이전트는 다음 기능을 수행하기 위해 AWS API를 호출합니다.
- AWS Aurora and RDS 인스턴스 및 클러스터 정보를 조회하여 모니터링 대상 확인
- CloudWatch 메트릭 수집
IAM 인라인 정책
JSON 정책을 IAM 사용자 또는 역할에 인라인 정책으로 추가하세요. EC2에서 에이전트를 실행하는 경우, 해당 EC2 인스턴스에 연결된 IAM 역할에 해당 정책을 부여합니다.
- 본 정책은 Aurora와 RDS 서비스 모두에 적용됩니다.
- Resource 항목은 모든 Aurora와 RDS 리소스를 대상으로 지정되어 있으며, 보안 정책에 따라 필요한 경우 리소스 ARN을 제한할 수 있습니다.
- 에이전트는 조회(Read-only) API만 사용합니다. 데이터베이스에 영향을 주는 권한은 포함되지 않습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "RDSPermissions",
"Effect": "Allow",
"Action": [
"rds:DescribeDBInstances",
"rds:DescribeDBClusters",
"rds:DescribeDBClusterParameters",
"rds:DescribeOptionGroups"
],
"Resource": "*"
},
{
"Sid": "CloudWatchMetricsPermissions",
"Effect": "Allow",
"Action": [
"cloudwatch:GetMetricData",
"cloudwatch:GetMetricStatistics",
"cloudwatch:ListMetrics"
],
"Resource": "*"
},
{
"Sid": "CloudWatchLogsPermissions",
"Effect": "Allow",
"Action": [
"logs:DescribeLogGroups",
"logs:DescribeLogStreams",
"logs:FilterLogEvents",
"logs:GetLogEvents"
],
"Resource": [
"arn:aws:logs:*:*:log-group:/aws/rds/*"
]
}
]
}
요금 안내
주의
클라우드 모니터링 에이전트는 무료지만, 클라우드 서비스 사용에 따라 별도 요금이 발생할 수 있으니 확인이 필요합니다.
AWS 요금
클라우드 모니터링 에이전트는 별도의 SaaS 요금 없이 제공되며, 에이전트 설치만으로 모니터링 기능을 사용할 수 있습니다. 단, AWS CloudWatch 등 클라우드 서비스의 API를 통해 메트릭을 수집하기 때문에, CloudWatch 사용량에 따라 별도 요금이 부과될 수 있습니다.
본 에이전트는 기본적으로 1분 주기로 GetMetricData API를 호출하여 메트릭을 수집하며, 호출 빈도와 수집 대상에 따라 요금이 증가할 수 있으므로 주의가 필요합니다.
자세한 요금 정책은 AWS 공식 문서의 Amazon CloudWatch 요금 페이지를 참고하시기 바랍니다.