Amazon Redshift 서비스는 데이터 웨어하우스의 설정, 운영 및 조정 작업을 모두 관리합니다. 이 태스크 중에는 용량 프로비저닝과 클러스터 모니터링 및 백업, 그리고 Amazon Redshift 엔진의 패치 및 업그레이드도 포함됩니다.
다음 동영상은 Amazon Redshift 쿼리 에디터 v2를 사용하여 클러스터를 생성하고 데이터를 쿼리 하는 방법을 보여줍니다.
클러스터 관리
Amazon Redshift 클러스터는 리더 노드 1개와 컴퓨팅 노드 1개 이상으로 구성된 노드 집합입니다. 필요한 컴퓨팅 노드 유형 및 수는 데이터의 크기와 실행할 쿼리 수 그리고 필요한 쿼리 런타임 성능에 따라 결정됩니다.
클러스터 생성 및 관리
데이터 웨어하우징 요건에 따라 처음에는 소규모의 단일 노드 클러스터로 시작하여 요건이 바뀌면서 대규모의 다중 노드 클러스터로 쉽게 확장할 수 있습니다. 또한 서비스 중단 없이 컴퓨팅 노드를 클러스터에 추가하거나 제거할 수도 있습니다. 자세한 내용은 Amazon Redshift 프로비저닝 클러스터 단원을 참조하십시오.
컴퓨팅 노드 예약
클러스터를 1년 이상 계속해서 실행할 계획이라면 컴퓨팅 노드를 1년 또는 3년 단위로 예약하여 비용을 줄일 수 있습니다. 컴퓨팅 노드를 예약하면 온디맨드 방식으로 프로비저닝하여 시간 단위로 요금을 지불하는 것과 비교하여 비용 절감 효과가 매우 큽니다. 자세한 내용은 예약 노드 단원을 참조하십시오.
클러스터 스냅샷 생성
스냅샷은 클러스터의 특정 시점 백업입니다. 자동 및 수동의 2가지 유형의 스냅샷이 있습니다. Amazon Redshift는 암호화된 보안 소켓 계층(SSL) 연결을 사용하여 이러한 스냅샷을 Amazon Simple Storage Service(Amazon S3)에 내부적으로 저장합니다. 스냅샷에서 복원해야 하는 경우에는 Amazon Redshift가 새로운 클러스터를 생성하고 지정한 스냅샷에서 데이터를 가져옵니다. 스냅샷 복사에 대한 자세한 내용은 Amazon Redshift 스냅샷 및 백업 섹션을 참조하십시오
클러스터 액세스 및 보안
Amazon Redshift에는 클러스터 액세스 및 보안과 관련된 기능이 몇 가지 있습니다. 이러한 기능들은 클러스터에 대한 액세스를 제어하고, 연결 규칙을 정의하고, 데이터 및 연결을 암호화하는 데 효과적입니다. 또한 Amazon Redshift의 데이터베이스 액세스 및 보안 관련 기능만으로 그치지 않습니다. 데이터베이스 보안에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 데이터베이스 보안 관리 섹션을 참조하세요.
AWS 계정 및 IAM 자격 증명
기본적으로 Amazon Redshift 클러스터는 클러스터를 생성한 AWS 계정에서만 액세스가 가능합니다. 그 밖의 다른 계정에서는 액세스할 수 없도록 클러스터가 잠깁니다. AWS 계정에서는 AWS Identity and Access Management(IAM) 서비스를 사용하여 사용자 계정을 생성하거나, 혹은 클러스터 작업에 대한 계정의 제어 권한을 관리할 수 있습니다. 자세한 내용은 Amazon Redshift의 보안 단원을 참조하십시오. IAM 역할에 대한 지침 및 모범 사례를 비롯한 IAM ID 관리에 대한 자세한 내용은 Amazon Redshift의 Identity and Access Management 섹션을 참조하세요.
보안 그룹
기본적으로 생성하는 모든 클러스터는 모든 사용자에게 닫힙니다. IAM 자격 증명은 Amazon Redshift 콘솔, 명령줄 인터페이스(CLI), API 및 SDK와 같은 Amazon Redshift API 관련 리소스에 대한 액세스만 제어합니다. SQL 클라이언트 도구에서 JDBC 또는 ODBC를 통해 클러스터에 액세스하기 위해서는 다음과 같이 보안 그룹을 사용해야 합니다.
-
Amazon Redshift 클러스터에 EC2-VPC 플랫폼을 사용하는 경우에는 VPC 보안 그룹을 사용해야 합니다. EC2-VPC 플랫폼에서 클러스터를 시작하는 것이 좋습니다.
EC2-Classic을 사용하여 클러스터를 시작한 후 클러스터를 VPC로 이동할 수 없습니다. 그러나 Amazon Redshift 콘솔을 사용하여 EC2-Classic 스냅샷을 EC2-VPC 클러스터로 복원할 수 있습니다. 자세한 내용은 스냅샷에서 클러스터 복원 단원을 참조하십시오.
-
Amazon Redshift 클러스터에 EC2-Classic 플랫폼을 사용하는 경우에는 Amazon Redshift 보안 그룹을 사용해야 합니다.
위의 두 경우 모두 특정 범위의 CIDR/IP 주소에 명시적인 인바운드 액세스 권한을 부여하는 규칙을 보안 그룹에 또는 Amazon EC2 인스턴스에서 SQL 클라이언트를 실행하는 경우에는 Amazon Elastic Compute Cloud(Amazon EC2) 보안 그룹에 추가합니다. 자세한 내용은 Amazon Redshift 보안 그룹 단원을 참조하십시오.
인바운드 액세스 규칙 외에도 데이터베이스 사용자를 생성하여 클러스터 자체의 데이터베이스 인증을 위한 자격 증명을 제공합니다. 자세한 내용은 이번 주제에서 전반부 데이터베이스 수 단원을 참조하십시오.
암호화
클러스터를 프로비저닝할 때 옵션으로 클러스터 암호화를 선택하여 보안을 강화할 수 있습니다. 암호화를 사용하면 Amazon Redshift가 모든 데이터를 암호화하여 사용자 생성 테이블에 저장합니다. AWS Key Management Service(AWS KMS)를 사용하여 Amazon Redshift 암호화 키를 관리할 수 있습니다.
암호화는 변경 불가능한 클러스터 속성입니다. 암호화된 클러스터를 암호화되지 않은 클러스터로 전환하려면 데이터를 언로드한 후 새로운 클러스터에 다시 로드하는 방법이 유일합니다. 암호화는 클러스터와 모든 백업에 적용됩니다. 암호화된 스냅샷에서 클러스터를 복원하면 복원된 클러스터 역시 암호화됩니다.
암호화, 키 및 하드웨어 보안 모듈에 대한 자세한 내용은 Amazon Redshift 데이터베이스 암호화 단원을 참조하십시오.
SSL 연결
SSL(Secure Sockets Layer) 암호화를 사용하여 SQL 클라이언트와 클러스터 사이의 연결을 암호화할 수 있습니다. 자세한 내용은 연결을 위한 보안 옵션 구성 단원을 참조하십시오.
클러스터 모니터링
Amazon Redshift에는 모니터링과 관련된 기능이 몇 가지 있습니다. 데이터베이스 감사 로깅을 사용하여 활동 로그를 생성하고 이벤트 및 알림 구독을 구성하여 관심 있는 정보를 추적할 수 있습니다. 클러스터와 데이터베이스의 상태 및 성능에 대해 알아보려면 Amazon Redshift 및 Amazon CloudWatch의 지표를 사용합니다.
데이터베이스 감사 로깅
데이터베이스 감사 로깅 기능을 사용하여 인증 시도 횟수, 연결, 차단, 데이터베이스 사용자 정의 변경, 데이터베이스에서 실행된 쿼리 등에 대한 정보를 추적할 수 있습니다. 이러한 정보는 Amazon Redshift에서 보안 및 문제 해결 용도로 사용하는 데 유익합니다. 로그는 Amazon S3 버킷에 저장됩니다. 자세한 내용은 데이터베이스 감사 로깅 단원을 참조하십시오.
이벤트 및 알림
Amazon Redshift는 이벤트를 추적하여 이벤트 관련 정보를 AWS 계정에 몇 주간 저장합니다. 또한 이벤트가 있을 때마다 Amazon Redshift는 이벤트 발생 날짜, 설명, 이벤트 소스(클러스터, 파라미터 그룹 또는 스냅샷), 소스 ID 등의 정보를 보고합니다. 이벤트 필터 집합을 지정하여 Amazon Redshift 이벤트 알림 구독을 생성할 수 있습니다. 이후 필터 기준과 일치하는 이벤트가 발생하면 Amazon Redshift가 Amazon Simple Notification Service를 사용하여 이벤트 발생 사실을 알립니다. 이벤트에 대한 자세한 내용은 Amazon Redshift 이벤트 단원을 참조하십시오.
성능
Amazon Redshift는 클러스터와 데이터베이스의 상태 및 성능을 추적할 수 있도록 성능 지표와 데이터를 제공합니다. Amazon Redshift는 Amazon CloudWatch 지표를 사용하여 CPU 사용량, 지연 시간, 처리량 등 클러스터의 물리적 요소를 모니터링합니다. Amazon Redshift는 또한 클러스터의 데이터베이스 활동을 모니터링하는 데 도움이 되는 쿼리 및 로드 성능 데이터를 제공합니다. 성능 지표 및 모니터링에 대한 자세한 내용은 Amazon Redshift 클러스터 성능 모니터링 단원을 참조하십시오.
데이터베이스 수
Amazon Redshift는 클러스터를 프로비저닝할 때 데이터베이스를 1개 생성합니다. 이때 생성된 데이터베이스가 데이터를 로드하거나, 데이터에 대한 쿼리를 실행할 때 사용됩니다. 그 밖에 데이터베이스가 추가로 필요하다면 SQL 명령을 실행하여 생성할 수 있습니다. 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 1단계: 데이터베이스 생성을 참조하세요.
클러스터를 프로비저닝할 때는 클러스터에 생성되는 모든 데이터베이스에 액세스할 수 있는 관리자를 지정합니다. 이 관리자는 처음부터 데이터베이스 액세스 권한을 갖는 유일한 사용자이자 슈퍼 사용자입니다. 단, 관리자는 슈퍼 사용자와 사용자를 추가로 생성할 수 있습니다. 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 슈퍼 사용자와 사용자를 참조하세요.
Amazon Redshift는 파라미터 그룹을 사용하여 데이터 표현 방식이나 부동 소수점 정밀도 같이 클러스터에 속한 모든 데이터베이스의 동작을 정의합니다. 클러스터를 프로비저닝하면서 파라미터 그룹을 지정하지 않으면 Amazon Redshift가 기본 파라미터 그룹을 클러스터와 연결합니다. 자세한 내용은 Amazon Redshift 파라미터 그룹 단원을 참조하십시오.
Amazon Redshift의 데이터베이스에 대한 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서를 참조하세요.