brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Oct 17. 2020

453. Amazon Redshift  소개

클러스터 생성 실습과 사용하기

Amazon Redshift  소개



큰 그림

Redshift 클러스터를 만든다.

Amazon Redshift 클러스터에 SQL 클라이언트로 접속한다.

데이터를 S3 버킷으로  올리고,  S3버킷 데이터를 Amazon Redshift로 올리기

Amazon Redshift에 저장된 데이터에 대해 쿼리 실행



클러스터 만들 시 필요 사항

1. 서버사양, 노드수에 따라  최소 한 달에 40만 원은 발생한다.

2. Redshift-Role을 사용해야 한다. S3버킷에 대한 권한이 있는 role을 미리 만들어 놓자

 Amazon Redshift에서 S3데이터를 가져와야 해서 롤(Redshift-Role)에 대한 ARN이 필요함.

3. 보안 그룹은  tcp 5439 0.0.0.0/0으로  우선 사용한다.  보안그룹도 미리 만들어 놓자

4. 클러스터 서브넷 그룹을 미리 만들자. 그래야 내가 원하는 서브넷에 구축할수 있다.  구성에서 만들자.

클러스터 서브넷 그룹은 Private Subnet 으로 지정하자.  




<1>   Amazon Redshift  클러스터 생성

<2>  Amazon Redshift 쿼리 편집기 사용하기

<3>  Amazon Redshift에  테이블 생성

<4>  S3에서   Amazon Redshift로  샘플 데이터 올리기

<5>  쿼리로 원하는 것 조회함.

<6>  정리




<1>   Amazon Redshift  클러스터 생성


0 선수 조건 2가지 

Redshift-Role을 사용해야 한다. S3버킷에 대한 권한이 있는 role을 미리 만들자.


클러스터 서브넷 그룹을 미리 만들어야 한다. 그래야 내가 원하는 서브넷에 구축할수 있다.

클러스터 서브넷 그룹은 Private Subnet 으로 지정하자.



1

 Amazon Redshift  >  클러스터 생성  >


클러스터 식별자 :  seo-redshift

dc2.large

node 2

// 월 360달러 , 월 40만 원

// 노드유형과 노드수  조합으로  스토리지 저장 공간을 확인하자



데이터베이스 이름 :  seodb  , 포트 5439

사용자 이름  admin

사용자 암호  admin123 A           (대문자가 1개 들어가야 한다)


2

클러스터 권한

IAM 역할

레드쉬프트 역할  >   IAM 역할 추가  클릭

Redshift-Role을 사용한다.

// Amazon Redshift 가 S3에 데이터를 읽을 수 있는 권한을 부여한다.


참고 : AWSServiceRoleforRedshift  롤   <    AmazonRedshiftServiceLinkedRolePolicy


3

추가 구성  > 기본 값 사용 해지

네트워크와 보안

별도로 인프라 담당자가 제공하는 네트워크로 사용한다.

레드쉬프트 보안 그룹을  사용한다.

보안그룹 내용 

TCP 5439를 허용한다.


가용 영역   // 연습이라 public subnet을 선택한다.

생성하기

5분 걸림.


4

생성 완료


5

구성확인은 ?

CLUSTERS  > 해당 redshift 클륵 >  맨끝 속성에 가면  

보안그룹과 네트워크 를 확인 할수 있다.

보안그룹은 5439 포트만 허용한다.

Public 오픈 여부도 확인 할수 있다. public으로 구성하지 않도록 한다.





<2>  Amazon Redshift 쿼리 편집기 사용하기


이게 쿼리 편집기를 사용할 수 있다.

쿼리 편집기로 테이블 생성해보자.


데이터 베이스 연결 클릭

클러스터

데이터베이스 이름  :  seodb

사용자  : admin

비밀번호 :   admin123 A





<3>  Amazon Redshift에  테이블 생성


1

테이블 생성을 위한 쿼리 실행

CREATE TABLE   xxxxxxxx  (


);




<4>  S3에서   Amazon Redshift로  샘플 데이터 올리기


 Amazon Redshift에서  S3에 데이터를 가져올 수 있는 롤(Redshift-Role)에 대한 ARN이 필요함.




<5>  쿼리로 원하는 것 조회함.


테이블수

사람 이름




<6>  정리


Redshift 클러스터를 만든다.

Amazon Redshift 클러스터에 SQL 클라이언트로 접속한다.

데이터를 S3 버킷으로  올리고,  S3버킷 데이터를 Amazon Redshift로 올리기

Amazon Redshift에 저장된 데이터에 대해 쿼리 실행



클러스터 만들 시 필요 사항

1. 서버사양, 노드수에 따라  최소 한 달에 40만 원은 발생한다.

2. Redshift-Role을 사용해야 한다.

3. 보안 그룹은  tcp 5439 0.0.0.0/0으로  우선 사용한다.  

4. Amazon Redshift에서 S3데이터를 가져와야 해서 롤(Redshift-Role)에 대한 ARN이 필요함.



감사합니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari