[데이터 웨어하우스 - 중급] 2. Redshift - ⑧ Redshift 중지/제거하기
1. Redshift 관련 유지보수
Amazon Redshift 서비스는 주기적으로 버전 업그레이드를 위해 중단되는 유지보수 창을 가지고 있습니다. 이를 Maintenance window라고도 합니다. Maintenance window 동안에는 일시적으로 Redshift 클러스터의 가용성이 영향을 받을 수 있습니다. 이 유지보수 작업은 Redshift 클러스터의 성능 향상, 보안 패치 및 기능 개선을 위해 필요한 작업입니다.
반면에 Amazon Redshift Serverless는 자동으로 관리되는 서비스이므로 개별적인 유지보수 창이 존재하지 않습니다. 서버리스 모드에서는 AWS가 Redshift 클러스터의 유지보수 및 업그레이드를 자동으로 처리하므로 사용자는 이러한 작업을 직접 관리할 필요가 없습니다. 이를 통해 사용자는 Redshift 데이터 웨어하우스를 더욱 쉽고 편리하게 사용할 수 있습니다.
2. 테이블 청소와 최적화 - VACUUM 명령
VACUUM 명령은 Redshift에서 테이블 청소와 최적화를 위해 사용되는 중요한 명령입니다. VACUUM 명령은 다음과 같은 작업을 수행합니다.
- 테이블 데이터 정렬: Redshift 테이블에 데이터가 삽입, 업데이트 또는 삭제될 때 데이터는 불규칙하게 분산되어 저장될 수 있습니다. VACUUM 명령은 데이터를 정렬하여 남아 있는 행을 모아 쿼리 실행 시 검색해야 할 블록 수를 줄이는 작업을 수행합니다.
- 디스크 공간 해제: 테이블에서 행이 삭제되면 디스크 공간이 즉시 해제되지 않습니다. VACUUM 명령은 더 이상 필요하지 않은 행을 제거하고 사용한 디스크 공간을 해제합니다.
- 삭제된 행에서 공간 회수: 테이블에서 행이 삭제되면 VACUUM 명령 실행 전까지 이 공간은 회수되지 않습니다. VACUUM 명령은 삭제된 행에서 공간을 회수합니다.
- 테이블 통계 업데이트: VACUUM은 테이블 통계를 업데이트하여 Query Planner가 쿼리 최적화를 지원할 수 있도록 합니다.
VACUUM 명령은 큰 테이블에 대해서는 리소스를 많이 소비할 수 있습니다. 따라서 바쁘지 않은 시간에 실행하는 것이 좋습니다. 주기적으로 VACUUM 명령을 실행하여 테이블의 성능과 공간 사용을 최적화하는 것이 권장됩니다.
3. (고정 비용) Redshift 클러스터 중지/재실행
맞습니다. Redshift 클러스터를 중지하고 재실행하는 것은 고정 비용을 절약하기 위한 방법 중 하나입니다.
Redshift 클러스터를 당분간 사용하지 않을 때는 다음과 같이 중지할 수 있습니다.
- AWS Management Console에서 Redshift 콘솔로 이동합니다.
- 중지하려는 Redshift 클러스터를 선택합니다.
- 상단 메뉴에서 "Actions"를 선택하고 "Stop"을 클릭합니다.
클러스터를 중지하면 클러스터의 스토리지 비용만 부담하게 됩니다. 중지된 상태에서는 SQL 실행 등의 작업은 불가능합니다.
Redshift 클러스터를 다시 사용해야 할 때는 다음과 같이 클러스터를 재실행할 수 있습니다.
- AWS Management Console에서 Redshift 콘솔로 이동합니다.
- 중지된 상태의 Redshift 클러스터를 선택합니다.
- 상단 메뉴에서 "Actions"를 선택하고 "Resume"을 클릭합니다.
클러스터를 재실행하면 이전에 사용했던 상태로 복원되며, 다시 SQL 실행 등의 작업을 수행할 수 있습니다.
4. (고정 비용) Redshift 클러스터 삭제
Redshift 클러스터를 영구적으로 삭제하려면 다음 단계를 수행할 수 있습니다.
- AWS Management Console에서 Redshift 콘솔로 이동합니다.
- 삭제할 Redshift 클러스터를 선택합니다.
- 상단 메뉴에서 "Actions"를 선택하고 "Delete"를 클릭합니다.
클러스터를 삭제하기 전에 데이터베이스 내용을 백업하고 싶은 경우, 삭제할 클러스터를 선택한 후 "Delete"를 클릭하기 전에 "Create final snapshot" 옵션을 선택하여 S3에 백업을 생성할 수 있습니다. 이렇게 생성된 S3 백업으로 나중에 새로운 Redshift 클러스터를 론치할 수 있습니다.
Redshift 클러스터를 삭제하면 모든 관련 데이터와 구성이 완전히 삭제되므로, 삭제 전에 반드시 백업을 만들어야 합니다. 삭제 후에는 복구할 수 없으므로 신중히 결정해야합니다.
5. (가변 비용) Redshift Serverless 삭제
Redshift Serverless 클러스터를 삭제하기 전에 다음 단계를 따라야 합니다.
- 모든 Workgroup 삭제: AWS Management Console에서 Redshift 콘솔로 이동한 후, Serverless 클러스터에 연결된 모든 Workgroup을 삭제해야 합니다. Workgroup을 삭제하려면 해당 Workgroup을 선택하고 "Actions" 메뉴에서 "Delete"를 선택하면 됩니다.
- 모든 Namespace 삭제: Serverless 클러스터에서 사용된 모든 Namespace을 삭제해야 합니다. Namespace은 클러스터에 연결된 데이터베이스를 그룹화하는 데 사용됩니다. Redshift 콘솔에서 해당 클러스터를 선택하고 "Actions" 메뉴에서 "Manage namespaces"를 선택하여 모든 Namespace을 삭제할 수 있습니다.
위의 단계를 따르면 Redshift Serverless 클러스터의 관련 리소스를 삭제할 수 있습니다. 이렇게 클러스터를 삭제하면 해당 클러스터와 관련된 모든 데이터와 구성이 완전히 삭제되므로, 신중히 결정해야합니다.