사진과 음악을 좋아하는 개발자 지망생의 블로그

[데이터 웨어하우스 - 중급] 2. Redshift - ⑧ Redshift 중지/제거하기 본문

개발/데이터 웨어하우스 - 중급

[데이터 웨어하우스 - 중급] 2. Redshift - ⑧ Redshift 중지/제거하기

devculture309 2023. 5. 25. 13:06
반응형

1. Redshift 관련 유지보수

Amazon Redshift 서비스는 주기적으로 버전 업그레이드를 위해 중단되는 유지보수 창을 가지고 있습니다. 이를 Maintenance window라고도 합니다. Maintenance window 동안에는 일시적으로 Redshift 클러스터의 가용성이 영향을 받을 수 있습니다. 이 유지보수 작업은 Redshift 클러스터의 성능 향상, 보안 패치 및 기능 개선을 위해 필요한 작업입니다.

 

반면에 Amazon Redshift Serverless는 자동으로 관리되는 서비스이므로 개별적인 유지보수 창이 존재하지 않습니다. 서버리스 모드에서는 AWS가 Redshift 클러스터의 유지보수 및 업그레이드를 자동으로 처리하므로 사용자는 이러한 작업을 직접 관리할 필요가 없습니다. 이를 통해 사용자는 Redshift 데이터 웨어하우스를 더욱 쉽고 편리하게 사용할 수 있습니다.

 

 

 

2. 테이블 청소와 최적화 - VACUUM 명령

VACUUM 명령은 Redshift에서 테이블 청소와 최적화를 위해 사용되는 중요한 명령입니다. VACUUM 명령은 다음과 같은 작업을 수행합니다.

 

  1. 테이블 데이터 정렬: Redshift 테이블에 데이터가 삽입, 업데이트 또는 삭제될 때 데이터는 불규칙하게 분산되어 저장될 수 있습니다. VACUUM 명령은 데이터를 정렬하여 남아 있는 행을 모아 쿼리 실행 시 검색해야 할 블록 수를 줄이는 작업을 수행합니다.
  2. 디스크 공간 해제: 테이블에서 행이 삭제되면 디스크 공간이 즉시 해제되지 않습니다. VACUUM 명령은 더 이상 필요하지 않은 행을 제거하고 사용한 디스크 공간을 해제합니다.
  3. 삭제된 행에서 공간 회수: 테이블에서 행이 삭제되면 VACUUM 명령 실행 전까지 이 공간은 회수되지 않습니다. VACUUM 명령은 삭제된 행에서 공간을 회수합니다.
  4. 테이블 통계 업데이트: VACUUM은 테이블 통계를 업데이트하여 Query Planner가 쿼리 최적화를 지원할 수 있도록 합니다.

VACUUM 명령은 큰 테이블에 대해서는 리소스를 많이 소비할 수 있습니다. 따라서 바쁘지 않은 시간에 실행하는 것이 좋습니다. 주기적으로 VACUUM 명령을 실행하여 테이블의 성능과 공간 사용을 최적화하는 것이 권장됩니다.

 

 

 

3. (고정 비용) Redshift 클러스터 중지/재실행

맞습니다. Redshift 클러스터를 중지하고 재실행하는 것은 고정 비용을 절약하기 위한 방법 중 하나입니다.

 

Redshift 클러스터를 당분간 사용하지 않을 때는 다음과 같이 중지할 수 있습니다.

 

  1. AWS Management Console에서 Redshift 콘솔로 이동합니다.
  2. 중지하려는 Redshift 클러스터를 선택합니다.
  3. 상단 메뉴에서 "Actions"를 선택하고 "Stop"을 클릭합니다.

클러스터를 중지하면 클러스터의 스토리지 비용만 부담하게 됩니다. 중지된 상태에서는 SQL 실행 등의 작업은 불가능합니다.

 

Redshift 클러스터를 다시 사용해야 할 때는 다음과 같이 클러스터를 재실행할 수 있습니다.

 

  1. AWS Management Console에서 Redshift 콘솔로 이동합니다.
  2. 중지된 상태의 Redshift 클러스터를 선택합니다.
  3. 상단 메뉴에서 "Actions"를 선택하고 "Resume"을 클릭합니다.

클러스터를 재실행하면 이전에 사용했던 상태로 복원되며, 다시 SQL 실행 등의 작업을 수행할 수 있습니다.

 

 

 

4. (고정 비용) Redshift 클러스터 삭제

Redshift 클러스터를 영구적으로 삭제하려면 다음 단계를 수행할 수 있습니다.

 

  1. AWS Management Console에서 Redshift 콘솔로 이동합니다.
  2. 삭제할 Redshift 클러스터를 선택합니다.
  3. 상단 메뉴에서 "Actions"를 선택하고 "Delete"를 클릭합니다.

클러스터를 삭제하기 전에 데이터베이스 내용을 백업하고 싶은 경우, 삭제할 클러스터를 선택한 후 "Delete"를 클릭하기 전에 "Create final snapshot" 옵션을 선택하여 S3에 백업을 생성할 수 있습니다. 이렇게 생성된 S3 백업으로 나중에 새로운 Redshift 클러스터를 론치할 수 있습니다.

 

Redshift 클러스터를 삭제하면 모든 관련 데이터와 구성이 완전히 삭제되므로, 삭제 전에 반드시 백업을 만들어야 합니다. 삭제 후에는 복구할 수 없으므로 신중히 결정해야합니다.

 

 

 

5. (가변 비용) Redshift Serverless 삭제

Redshift Serverless 클러스터를 삭제하기 전에 다음 단계를 따라야 합니다.

 

  1. 모든 Workgroup 삭제: AWS Management Console에서 Redshift 콘솔로 이동한 후, Serverless 클러스터에 연결된 모든 Workgroup을 삭제해야 합니다. Workgroup을 삭제하려면 해당 Workgroup을 선택하고 "Actions" 메뉴에서 "Delete"를 선택하면 됩니다.
  2. 모든 Namespace 삭제: Serverless 클러스터에서 사용된 모든 Namespace을 삭제해야 합니다. Namespace은 클러스터에 연결된 데이터베이스를 그룹화하는 데 사용됩니다. Redshift 콘솔에서 해당 클러스터를 선택하고 "Actions" 메뉴에서 "Manage namespaces"를 선택하여 모든 Namespace을 삭제할 수 있습니다.

위의 단계를 따르면 Redshift Serverless 클러스터의 관련 리소스를 삭제할 수 있습니다. 이렇게 클러스터를 삭제하면 해당 클러스터와 관련된 모든 데이터와 구성이 완전히 삭제되므로, 신중히 결정해야합니다.

반응형