BLOG

Redshift 클러스터 최단 시간에 구축하기
작성일: 2016-09-08

작성 : 메가존 SA팀

Amazon Redshift 클러스터를 검증이나 테스트 용으로 빠르게 구축이 필요한 경우를 위해 CloudFormation 템플릿을 이용하여 빠르게 구축하고 연결 테스트 하는 부분까지 확인해보도록 하겠습니다.

Amazon Redshift는 AWS에서 제공하고 있는 관리형 Data warehouse 서비스 입니다.

클러스터 안에 필요한 인스턴스를 추가할 수 있으며 인스턴스를 추가함에 따라 데이터 용량과 성능이 향상되는 구조로 동작하게 됩니다.

 

일단 CloudFormation 템플릿을 이용하여 Redshift 클러스터를 구축할 것이기 때문에 이에 적합한 템플릿을 아래의 사이트에서 찾았습니다.

해당 템플릿은 awslabs에서 공식 제공하는 템플릿으로 해당 템플릿을 로컬 PC에 다운로드 하도록 합니다.

 

템플릿을 다운로드 하셨으면 AWS Dashboard에 로그인하셔서 CloudFormation을 클릭하여 이동하도록 합니다.

Region은 당연히 Seoul Region 입니다.

 

 

 

 

CloudFormation으로 이동 후 화면 왼쪽 상단의 파란색 ‘Create Stack’ 버튼을 클릭하면 아래의 화면이 열립니다.

 

 

 

이어 ‘Design template’ 버튼을 클릭하면 ‘CloudFormation Designer’가 시작됩니다. 방금 전에 awslabs 사이트에서 로컬 PC에 다운로드 해 놓은 템플릿 파일을 화면 좌측 상단의 ‘File=>Open’ 버튼을 클릭하여 오픈하면 아래와 같은 구성이 표시됩니다. 구성 내용을 확인하고 화면 좌측 상단의 메뉴 버튼 중 구름 모양인 ‘Create Stack’ 버튼을 클릭하면 CloudFormation의 시작 화면으로 이동됩니다.(참고로 본 블로그에서는 구성내용에 대한 자세한 설명은 범위와 다르기 때문에 하지 않습니다.)

 

 

 

화면이 이동되면 기본적으로 “Specify an Amazon S3 template URL” 라디오 버튼이 선택되어 있으며 이 상태에서 다른 버튼을 클릭하지 않고 그대로 “Next” 버튼을 클릭합니다.

 

 

 

화면이 이동되면 추가 설정을 지정하도록 합니다.

 

 

 

추가 및 변경된 내역은 아래와 같습니다. 아래의 내역대로 추가 및 변경 후 ‘Next’ 버튼을 클릭하여 계속 합니다.

 

 

 

화면이 이동되면 아래의 화면에서 Tags의 경우 필수 항목은 아님으로 기입하지 않아도 무관합니다. 저는 아래와 같이 적절하게 기입하였습니다. 기입 후 ‘Next’ 버튼을 클릭하여 계속 진행합니다.

 

 

 

 

마지막으로 지금까지 설정했던 내역들의 Review 화면으로 이동됩니다. 내용을 꼼꼼히 확인해주시고 아래의 화면과 다른점이 없다면 ‘Create’ 버튼을 클릭하면 Redshift 클러스터의 설정이 시작됩니다.

 

 

 

 

Redshift 클러스터의 설정이 완료되어 Cluster 메뉴에 표시되기 까지는 다소 시간이 소요됩니다. 참고로 우리는 CloudFormation 템플릿을 가지고 클러스터를 구축하는 것이기 때문에 CloudFormation으로 이동해보면 아래의 CloudFormation 화면과 같이 설정이 진행되는 걸 확인하실 수 있습니다.

 

 

 

 

대략 5분 정도 소요 후 Redshift 클러스터 생성이 무사히 완료되었습니다.

 

 

 

 

이어서 Redshift 메뉴로 이동하여 ‘Clusters’ 버튼을 클릭하면 생성이 완료된 Redshift 클러스터를 확인하실 수 있습니다.

 

 

 

복사한 Redshift Endpoint에 접속 테스트를 위해 psql을  사용하며 명령어 사용 방법은 아래와 같습니다.

 

 

 

 

빨간색으로 표기된 부분에 우리가 설정한 Redshift 클러스터 정보로 수정해여하며 각 항목별 설명은 아래와 같습니다.

  • <endpoint> : 조금 전에 복사한 클러스터의 Endpoint를 기입합니다. 단 맨 끝에 함께 기입된 Port 정보는 삭제하고 기입합니다.
  • <userid> : 역시 클러스터 생성 시 기입한 ‘MasterUsername’ 정보를 기입합니다.
  • <databasename> : 말 그대로 database name을 지칭하며 Redshift 클러스터 상세정보 화면의 ‘Cluster Database Properties’를 참고하도록 합니다.
  • <port> : Redshift 클러스터 DB의 포트 정보를 기입하도록 합니다. 역시 ‘Cluster Database Properties’를 참고하도록 합니다.

 

이상 위의 psql 명령어의 각 항목을 우리의 Redshift 클러스터 정보로 기입 후 명령어를 실행하면 아래의 화면과 같이 Redshift 클러스터에 문제 없이 접속됨을 확인 할 수 있습니다.

 

 

 

 

 

여기까지 “Redshift 클러스터 최단 시간에 구축하기” 였습니다.

 

Amazon Redshift 에 대해 더 궁금하신 사항이 있으시면 메가존으로 연락 주시길 바랍니다.

지금까지 짧지 않은 글 읽어주셔서 감사합니다.