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 Role | AWS 내부(EC2) 환경 | Role ARN, Role Session Name |
| IAM Roles Anywhere | AWS 외부(온프레미스) 환경 | 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 방식
- exemONE 수집서버를 AWS 외부(온프레미스 등) 환경에 구축 시 사용
- IAM Role 생성(IAMRoleAnywhere) 및 필요 권한 부여
- Trust Anchor 생성 (CA 인증서 등록 필요)
- Profile 생성 및 IAM Role 연결
- 참고: https://docs.aws.amazon.com/rolesanywhere/latest/userguide/getting-started.html
Vault 방식
- 내부 보안 정책상 인증 정보를 직접 저장하지 못하는 환경에서 사용
- Vault Key를 통해 Access Key를 저장 관리
4. 모니터링 등록 방법 (단계별)
참고 문서: AWS Redshift 모니터링 등록, AWS 인스턴스 등록 가이드
Step 1) Cloud 계정 등록
Setting > Platform > Cloud > Account에서 AWS 계정을 추가합니다.

| 항목 | 내용 |
|---|---|
| Cloud Service | AWS 선택 |
| 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 선택 |
| Agent | default agent (Cloud DB의 경우 default agent) |
| Enable | 활성화 여부 |
| Instance Name | 모니터링할 이름 |
| Host Name | 모니터링할 엔드포인트 이름 (AWS Redshift 콘솔에서 확인) |
| DB Name | 모니터링 타겟 DB Name |
| User Name | 모니터링 타겟 접속 User Name (superuser 권한 필요) |
| Password | 모니터링 타겟 접속 Password |
| Connection Test | Connection 확인 테스트 버튼 |
AWS에 연결하지 않을 경우 Disable 설정이 가능합니다.
OS Resource 설정

| 옵션 명 | 설명 |
|---|---|
| Platform | 모니터링할 platform 선택 |
| OS Agent | Cloud의 경우 default agent 선택 |
| Cluster | 활성화/비활성화 선택 (Cluster 구조인 경우 활성화) |
| Cluster Identifier | DB 식별자 (AWS 콘솔에서 확인) |
| Region | RDS 리전 |
| Cluster List | Credential 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 ID | AWS 사용자 Access Key |
| Secret Key | AWS 사용자 Secret Key |
IAM Roles Anywhere:

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

| 옵션 명 | 설명 |
|---|---|
| Token | Vault Token 값 |
| Namespace | Vault 인스턴스 네임스페이스 |
| Request URL | Vault 서버 IP 주소 |
Assume Role:

| 옵션 명 | 설명 |
|---|---|
| Role Arn | 모니터링 인스턴스 서버에서 생성한 역할의 ARN |
| Role Session Name | 두 글자 이상 아무거나 입력 |
참고: Assume Role의 경우 현재 Connection Test 클릭 시 정상적으로 연결된 상황에서도 'Failure! no response' 가 발생할 수 있습니다.
Step 6) 클라우드 메트릭 수집 설정

| 설정 | 동작 |
|---|---|
| 클라우드 컬렉터 체크 시 | Step 2에서 설정한 컬렉터 설정으로 적용 |
| 클라우드 컬렉터 미 체크 시 | 하단 메트릭 수집 설정 값으로 개별 적용 |
5. Summary View 수집 활성화 설정
Redshift Summary View에서 데이터를 확인하려면 아래 지표의 수집이 활성화되어 있어야 합니다:
| 지표 | 수집 방식 |
|---|---|
| CPUUtilization | AVG |
| DatabaseConnections | AVG |

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