본문으로 건너뛰기

AWS Redshift 모니터링

모든 관련 문서를 확인했습니다. 이제 종합적인 답변을 작성하겠습니다.

exemONE AWS Redshift 모니터링 등록 방법 및 설정 상세 가이드


1. 지원 환경

참고 문서: AWS Redshift 모니터링 등록, AWS 지원 환경

항목내용
지원 서비스AWS Redshift (Cloud 모니터링)
테스트 버전PostgreSQL 8.0.2, Redshift 1.0.118447
비고Redshift 구성 시 버전을 별도로 선택하는 기능이 없어 항상 최신 버전 사용

AWS Cloud에서 지원하는 서비스: DynamoDB, Redshift, ElastiCache, DocumentDB, DMS, RDS, Aurora, EC2, S3, Lambda, Cost Explorer


2. 필수 권한

참고 문서: AWS Redshift 모니터링 등록, AWS 서비스 별 권한 목록

2-1. Redshift DB 권한

권한설명
superuser필수 - superuser가 아닌 경우 본인이 사용하는 유저 외에는 모니터링이 되지 않아 superuser 권한 필요

2-2. AWS IAM 권한

AWS 서비스 별 IAM 권한이 필요합니다. Redshift 모니터링을 위한 IAM 권한과 공통 권한을 사전에 부여해야 합니다.

참고 문서: AWS 서비스 별 권한 목록


3. 사전 준비 사항

참고 문서: AWS 접근 준비 사항

3-1. 네트워크 확인

  • *.amazonaws.com 도메인 및 443 포트 허용 확인
  • IP 주소 범위 확인:
curl -O https://ip-ranges.amazonaws.com/ip-ranges.json

관련 링크: https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/aws-ip-ranges.html

3-2. 인증 방식 선택

고객사 환경에 적합한 인증 방식을 사전 준비합니다:

인증 방식적용 환경필요 정보
Token일반 환경Access Key ID + Secret Access Key
Assume RoleAWS 내부(EC2) 환경Role ARN, Role Session Name
IAM Roles AnywhereAWS 외부(온프레미스) 환경Role ARN, Certificate, Private Key, Trust Anchor ARN, Profile ARN
Vault인증 정보 직접 저장 불가 환경Vault Token, Namespace, Request URL

Token 방식

  • 임시로 발급받은 Token을 통해 인증 (Token 만료에 따른 자동 갱신 관리 필요)
  • Access Key ID + Secret Access Key 정보 필요

Assume Role 방식

  • exemONE 수집서버를 AWS 내부(EC2) 환경에 구축 시 사용
  • IAM Role 생성(Assume Role) 및 필요 권한 부여
  • EC2 (exemONE 수집서버)에 생성한 IAM Role 연결
  • Role ARN 정보 필요 (예: arn:aws:iam::123456789012:role/MyRole)
  • Role Session Name은 식별을 위한 임의 값 입력

IAM Roles Anywhere 방식

Vault 방식

  • 내부 보안 정책상 인증 정보를 직접 저장하지 못하는 환경에서 사용
  • Vault Key를 통해 Access Key를 저장 관리

4. 모니터링 등록 방법 (단계별)

참고 문서: AWS Redshift 모니터링 등록, AWS 인스턴스 등록 가이드

Step 1) Cloud 계정 등록

Setting > Platform > Cloud > Account에서 AWS 계정을 추가합니다.

항목내용
Cloud ServiceAWS 선택
Account Information계정 정보 설정 (인증 방식에 따라 입력)
Additional Information상세 설명 설정

화면 설명은 매뉴얼 참고: Cloud Account

Step 2) Collector 설정 (리전 확인 및 수집 주기/데이터 수집 설정)

Setting > Platform > Cloud > Collector에서 리전 확인 후 필요한 경우 수집 주기 및 데이터 수집 설정을 변경합니다.

항목설명
Collector Name컬렉터 이름 설정
Region수집할 서비스의 리전 설정 (동일 서비스 내 중복 리전 불가)
Collection Interval수집 주기 설정: 1분, 5분, 10분, 15분, 30분 중 선택
Collect All모든 매트릭 전체 수집 설정/해제
Metric Setting개별 매트릭 수집 활성화 및 Avg/Max/Min/Sum/Count 수집 여부 설정

Step 3) 리소스 수집 활성화

Setting > Platform > Cloud > Resource에서 리소스 목록 확인 후 모니터링 대상의 수집을 활성화합니다.

리소스 편집 시 설정 항목:

항목설명
모니터링 활성화클라우드 모니터링 활성화 여부
수집 활성화클라우드 매트릭, 로그, AWS 경보 등의 데이터 수집 여부

Step 4) Database Instance Group 추가

Setting > Database > Instance Group에서 Amazon Redshift Instance Group을 추가합니다.

Step 5) Database 인스턴스 등록

Setting > Database > Add Instance에서 인스턴스를 등록합니다.

옵션 명설명
Database Type등록할 DB Type 선택
Instance Group모니터링할 인스턴스가 속할 group 선택
Agentdefault agent (Cloud DB의 경우 default agent)
Enable활성화 여부
Instance Name모니터링할 이름
Host Name모니터링할 엔드포인트 이름 (AWS Redshift 콘솔에서 확인)
DB Name모니터링 타겟 DB Name
User Name모니터링 타겟 접속 User Name (superuser 권한 필요)
Password모니터링 타겟 접속 Password
Connection TestConnection 확인 테스트 버튼

AWS에 연결하지 않을 경우 Disable 설정이 가능합니다.

OS Resource 설정

옵션 명설명
Platform모니터링할 platform 선택
OS AgentCloud의 경우 default agent 선택
Cluster활성화/비활성화 선택 (Cluster 구조인 경우 활성화)
Cluster IdentifierDB 식별자 (AWS 콘솔에서 확인)
RegionRDS 리전
Cluster ListCredential Type, Access Key ID, Secret Key를 입력 후 Get Cluster List 선택 시 Cluster List를 가져옴
Credential Type자격 증명 Type 선택 (Token / IAM Roles Anywhere / Vault / Assume Role)
VPC Endpoint활성화 시 EC2, RDS, CloudWatch VPC endpoint ID 입력
Enhanced Monitoring향상된 모니터링 설정

Credential Type별 설정

Token:

옵션 명설명
Access Key IDAWS 사용자 Access Key
Secret KeyAWS 사용자 Secret Key

IAM Roles Anywhere:

옵션 명설명
Certificate인증서 파일
Private Key개인 키
Role ARNIAM 역할 ARN
Trust Anchor ARN트러스트 앵커 ARN
Profile ARN프로파일 ARN

Vault:

옵션 명설명
TokenVault Token 값
NamespaceVault 인스턴스 네임스페이스
Request URLVault 서버 IP 주소

Assume Role:

옵션 명설명
Role Arn모니터링 인스턴스 서버에서 생성한 역할의 ARN
Role Session Name두 글자 이상 아무거나 입력

참고: Assume Role의 경우 현재 Connection Test 클릭 시 정상적으로 연결된 상황에서도 'Failure! no response' 가 발생할 수 있습니다.

Step 6) 클라우드 메트릭 수집 설정

설정동작
클라우드 컬렉터 체크 시Step 2에서 설정한 컬렉터 설정으로 적용
클라우드 컬렉터 미 체크 시하단 메트릭 수집 설정 값으로 개별 적용

5. Summary View 수집 활성화 설정

참고 문서: AWS Database Summary View 수집 매트릭 활성화 가이드

Redshift Summary View에서 데이터를 확인하려면 아래 지표의 수집이 활성화되어 있어야 합니다:

지표수집 방식
CPUUtilizationAVG
DatabaseConnectionsAVG

수집 활성화 적용 후 Summary View에서 데이터 수집을 확인할 수 있습니다.


6. 수집 방식 및 비용

참고 문서: AWS 수집 방식

  • AWS에서 제공하는 각 서비스별 성능 정보를 API Call (GetMetricData) 을 통해 수집
  • 설정된 주기: 1분 / 10분 / 15분 / 30분 / 1시간 / 3시간

주의: AWS 요금 정책에 따른 API Call 비용이 별도로 발생합니다. 참고: https://aws.amazon.com/ko/cloudwatch/pricing/


7. 모니터링 확인 (Database Instance Detail)

참고 문서: Cluster Detail Slide - RedShift

등록 완료 후 Database 메뉴에서 Redshift 인스턴스를 선택하면 아래 탭을 통해 상세 모니터링이 가능합니다:

(1) Information

  • Cluster: Name, Status, Instance Group Name, Node Type, Number of Nodes, DB Version, Agent Version
  • Machine: Endpoint, Maintenance Track (current/trailing)
  • User Tags: 적용된 태그

(2) Metric

  • CPU Utilization, Percentage Disk Space Used
  • Read/Write IOPS, Read/Write Throughput
  • Read/Write Latency, Network Receive Throughput

(3) Active Session

  • 실행 중인 세션 목록 실시간 확인 및 Multi Kill 기능
  • 주요 항목: PID, Elapsed Time, SQL ID, Query ID, QueryTxt, User Name, XID, Status, Queue Time, Execution Time, Returned Rows/Bytes, Compile Time, Planning Time, Lock Wait Time

(4) SQL List

  • SQL 쿼리 목록 및 성능 추적
  • 주요 항목: DB Name, User Name, SQL ID, QueryTxt, Execution Count, Elapsed/CPU/Run Time, Blocks Read/to Disk, Query Queue Time, Rows, Query Priority

(5) Lock Info

  • Lock 대기 세션 목록 확인 및 Multi Kill 기능
  • 주요 항목: DB Name, Lock Status, PID, Holder PID, Elapsed Time, QueryTxt, Status, Start Time, User Name

(6) Slow Query

  • 느린 쿼리 모니터링
  • 주요 항목: DB Name, SQL ID, Query, Elapsed Time, User Name, XID, PID, Start/End Time, Aborted 여부, Concurrency Scaling Status

(7) Table Info

  • 테이블별 성능 정보
  • 주요 항목: DB Name, Schema, Table, Pct Used, Rows, DistStyle, Sortkey, Unsorted, Skew Rows, Vacuum Sort Benefit

(8) User Log

  • 사용자 활동 추적 (change, create, delete, rename 등)

(9) Alert

  • 알람 규칙 목록 및 Alert 상태 확인 (List View / Bar View)

(10) Parameter

  • 데이터베이스 파라미터 목록 조회

8. Cloud Redshift 모니터링 (Cloud 메뉴)

참고 문서: Cloud AWS Redshift

Cloud 메뉴에서 Redshift 클러스터를 확인할 수 있습니다:

  • Redshift Summary View: AWS Alarm, CPU Usage, Connections 요약
  • Cluster List: 클러스터 목록 (Node type, Number of nodes, Storage, Status, Availability Zone 등)
  • Cluster Detail Slide:
    • Information: Resource Name, Region, Node type, Number of nodes 등
    • Metric: CPUUtilization, DatabaseConnections, HealthStatus, QueryDuration, Network Throughput, Read/Write Latency/Throughput
    • Alert: 알람 규칙 및 발생 상태
    • Cloud Alarm: AWS CloudWatch 알람 상태

9. 추가 주의사항

  1. superuser 권한이 필수입니다. superuser가 아닌 경우 본인 유저 외의 세션/SQL 등은 모니터링이 되지 않습니다.
  2. AWS API Call 비용이 별도로 발생하므로, 수집 주기 설정 시 비용을 고려해야 합니다. 수집 주기가 짧을수록 API 호출 횟수가 많아져 비용이 증가합니다.
  3. Assume Role 방식 사용 시 Connection Test에서 정상 연결임에도 'Failure! no response' 가 발생할 수 있으나, 실제 모니터링은 정상 동작할 수 있습니다.
  4. Summary View 데이터를 확인하려면 Collector 설정에서 CPUUtilization(AVG)DatabaseConnections(AVG) 지표의 수집이 반드시 활성화되어 있어야 합니다.
  5. VPC Endpoint 사용 시, EC2/RDS/CloudWatch 각각의 VPC endpoint ID를 입력해야 하며, Monitoring(CloudWatch) VPC endpoint ID는 null 값이면 안되지만 값이 없는 경우 임의 값(예: aa)을 넣어도 됩니다.
  6. 네트워크 환경에서 *.amazonaws.com 도메인 및 443 포트가 허용되어 있어야 정상적으로 데이터 수집이 가능합니다.