AWS Redshift Serverless 설정(외부 접속 허용)

박단이·2023년 11월 30일
0

AWS

목록 보기
3/4

Redshift 란?

  • Redshift는 AWS에서 제공하는 데이터 웨어하우스 서비스다.
  • 가장 대표적인 OLAP으로 빠른 속도보다 데이터 처리 양이 중요하다.
    OLAP(Online Analytical Processing)는 데이터 웨어하우스, 데이터 마트 또는 기타 중앙화된 통합 데이터 저장소의 대용량 데이터를 고속으로 다차원 분석하는 소프트웨어
  • 최소 160GB에서 2PB까지 지원하는 고정 비용 옵션이었지만, 현재는 Redshift serverless로 가변 비용 옵션도 제공한다.
  • 컬럼 기반 스토리지
    컬럼별 압축 가능, 컬럼을 추가하거나 삭제하는 것이 빠르다.
  • 벌크 업데이트를 지원한다 -> COPY SQL
  • 데이터 공유 기능(Data Share)
    다른 계정과 데이터 공유 가능
  • Primary Key Uniqueness를 보장하지 않는다.
  • Postgresql 8.x 버전과 호환이 된다.
    JDBC/ODBC를 지원하는 툴이나 library로 엑세스 가능
  • SQL이 메인 언어이기 때문에 데이터 모델링(테이블 디자인)이 중요하다.

Redshift Serverless 생성

serverless는 free trail로 300달러 혹은 3개월까지 사용할 수 있다.
생성하는 방법은 Create 버튼을 누르면 설명할 내용이 없다. (선택할 수 있는 권한이 거의 없다.)
그렇기 때문에 넘어가고 외부에서 접속할 수 있는 방법을 정리한다.

Redshift 외부 접속

외부에서 redshift에 접속하기 위해서는 퍼블릭 액세서를 허용하고 인바운드 규칙에 포트와 IP를 설정해야 한다.

1. 퍼블릭 액세스 on

  1. 작업 그룹을 클릭한다.
    작업 그룹 선택

  2. 네트워크 및 보안의 '퍼블릭 액세스 가능'이 현재 꺼짐으로 되어 있으므로 이것을 켜짐으로 변경하기 위해 '편집' 버튼을 누른다.
    퍼블릭 액세스 가능 편집 전

  3. 가장 아래에 있는 '퍼블릭 액세스 가능'에 공개적으로 액세스 가능 켜기 체크박스를 누르고 '변경 사항 저장' 버튼을 누른다.
    퍼블릭 액세스 가능

  4. 아래의 그림처럼 적용되기 시간이 조금 걸린다.(5분 정도)
    퍼블릭 액세스 가능 편집 후

2. 인바운드 규칙 편집

  1. 작업 그룹에서 VPC 보안 그룹을 선택한다.
    VPC 보안 그룹
  2. '인바운드 규칙 편집' 클릭
    인바운드 규칙 편집
  3. 포트넘버 5439과 IP에 0.0.0.0/0을 추가한다.
    포트 넘버 5439는 redshift 전용 포트
    0.0.0.0/0은 모든 IP에 대해서 접근을 허용한다는 뜻
    인바운드 포트 & IP
  4. 다 완료되면 볼 수 있는 인바운드 규칙
    인바운드 규칙

위의 퍼블릭 액세스와 인바운드 규칙을 편집하면 외부 접속을 할 수 있다.
다음은 Google colab에서 접속하는 방법이다.

3. Google colab에서 접속하기

우선 접속하기 위해서는 사용자의 id와 pw를 알아야 하고 접속할 수 있는 엔드포인트를 알아야 한다.

  1. 작업그룹에서 엔드포인트를 copy한다.
    엔드포인트
  2. google colab에서 다음과 같은 명령어를 사용한다.
%load_ext sql
# 다음을 진행하면 restart 버튼이 나옴.
# 그 버튼을 눌러서 재실행해주고 다시 이 cell을 실행하자.
!pip install ipython-sql==0.4.1
!pip install SQLAlchemy==1.4.49
# 다음의 중괄호에 필요한 값을 넣는다. 단, 중괄호는 삭제
%sql postgresql://{user id}:{user pw}@{copy한 엔드포인트}
  1. 모든 과정에 에러가 없다면 마지막 접속 코드에서 아무것도 뜨지 않을 것이다.
profile
데이터 엔지니어를 꿈꾸는 주니어 입니다!

0개의 댓글