Redshift
더 이상 프리 티어
를 제공하지 않기 때문에 프리 티어
를 원하면 가변 고정 옵션인 Redshift Serverless
를 사용해야 한다.프리 티어
대상인지 아닌지 확인해 주기 위해 Redshift Serverless
대시 보드를 확인해 준다.Serverless
대시 보드에서 해당 Free Trial
혹은 무료 평가판
부분에 몇 크레딧을 사용할 수 있는지 확인 가능하다.Free Trial Expiration
을 통해 프리 티어
가 제공되는 기간도 확인할 수 있다.Redshift Serverless
우측 상단에 있는 작업 그룹 생성
버튼을 눌러 준다.작업 그룹 생성
에 들어가면 작업 그룹
의 이름을 작성해 줄 수 있다.Redshift 처리 단위 기본 용량
을 선택하는 것이 있는데 Redshift Serverless
는 사용한 만큼 비용이 청구되는 가변 비용 옵션이기 때문에 default로 지정된 128
을 선택해 주었다. 네트워크 및 보안
에서 default VPC
를 선택해 주고, 만약 써야 할 VPC
와 서브넷
이 있다면 그에 따라 설정해 주면 된다. 기본적으로 VPC 보안 그룹
이 선택되지 않거나 서브넷 ID
가 세 개 이상 선택되지 않으면 다음으로 넘어갈 수 없다. 새 네임스페이스 생성
과 기존 네임스페이스에 추가
두 가지가 있는데 아예 AWS Redshift
를 처음 사용하는 것이라면 새 네임스페이스 생성
을 선택해 주면 된다.IAM
으로 자격 증명을 하는 관리자 사용자의 자격 증명
이 있고, 직접 관리자를 생성하고 이를 사용하는 관리자 사용자의 자격 증명 사용자 지정
이 있다. 만약 IAM 사용자
를 통해 사용자를 등록하고 싶다면 두 번째 항목을 체크하지 않으면 된다.IAM 사용자
를 등록해 주는 실습을 진행할 예정이라 일단 관리자를 직접 설정해 주었다.IAM 역할(Role)
을 이 과정에서 설정해 줄 수 있다.암호화 및 보안 단계
로 AWS 소유 키
가 아닌 사용자 지정 암호화
를 설정하고 싶을 때 선택해 줄 수 있고, 또 감사를 위해 데이터베이스의 로그 정보
중 어떤 걸 수집할 것인지도 선택해 줄 수 있다.생성
버튼을 눌러 생성해 준다.생성
버튼을 누르면 다시 Redshift Serverless
대시 보드 화면으로 돌아가며 상단에 다음과 같이 생성 중입니다라는 알림이 뜨게 된다.Google Colab
에서 Redshift
환경에 접근하려고 한다면 Connection Timed Out
가 발생할 것이다.Redshift
의 Endpoint
가 Public Access
가 불가한 상태라 나타나는 현상이다.Redshift Serverless
대시 보드에 있는 네임스페이스/작업 그룹의 목록을 확인한다.Google Colab
과 연동해 줄 네임스페이스의 작업 그룹
을 선택해 준다작업 그룹
의 일반 정보가 뜨고 바로 하단에 다음과 같이 데이터 액세스
-> 네트워크 및 보안
을 확인해 준다.퍼블릭 액세스 가능
이 켜져 있는지 꺼져 있는지 확인하고 꺼져 있다면 편집
을 눌러 퍼블릭 액세스
가 가능하도록 켜 준다.편집
에서 다음과 같이 퍼블릭 액세스를 켜 주고 다시 변경 사항 저장
을 누른다.VPC 보안 그룹
의 세팅을 변경해 주어야 한다. VPC 보안 그룹
의 설정을 AWS Redshift
가 사용하는 5439 포트는 막지 않도록 바꿔 주어야 한다.작업 그룹
에서 선택한 후 데이터 액세스
->네트워크 및 보안
을 동일하게 접속해 준다. 퍼블릭 액세스 가능
과 동일하지만 VPC 보안 그룹
을 선택해 준다.EC2
대시 보드에 있는 보안 그룹
목록으로 가게 되는데 변경해 주어야 하는 보안 그룹을 선택하면 하단에 해당 보안 그룹
에 세부 정보
, 인바운드 규칙
, 아웃바운드 규칙
, 태그
등을 설정해 줄 수 있는 창이 뜬다.인바운드 규칙
을 클릭해 주고, 변경할 보안 그룹
을 선택 후 인바운드 규칙 편집
을 누른다.인바운드 규칙
을 편집할 수 있는 창이 뜨게 되는데 규칙 추가
를 눌러 한 줄을 추가해 준 다음 5439 포트에 0.0.0.0/0 모든 IP에 대해 접근할 수 있도록 권한을 부여해 주면 된다.Google Colab
에서 지원하는 부분보다 다운그레이드 환경으로 설치해 주어야 한다.!pip install SQLAlchemy==1.4.47
%load_ext sql
SQL
을 사용하기 위해 다음과 같은 명령어를 입력해 준다.%sql postgresql://admin:password@endpoint(http를 제외한)
작업 그룹
의 일반 정보
에서 다음과 같이 가지고 올 수 있다.Connection Timed Out
가 발생하지 않고 완료되었다는 표시가 뜬다면 RedShift
데이터베이스 환경이 제대로 생성된 것이며 Google Colab
에서도 접근 가능한 상태가 된 것이다.