AWS Command Line Interface 시작하기 - Amazon Redshift

AWS Command Line Interface 시작하기

이 섹션에서는 AWS Command Line Interface(AWS CLI) 사용을 시작하는 데 도움이 되도록 Amazon Redshift 클러스터의 기본 관리 태스크를 수행하는 방법을 보여줍니다. 이러한 태스크는 Amazon Redshift 시작 안내서의 태스크와 매우 비슷하지만, Amazon Redshift 콘솔보다는 AWS CLI에 초점을 맞춥니다.

이 단원에서는 클러스터 만들기, 데이터베이스 테이블 만들기, 데이터 업로드 및 쿼리 테스트 프로세스를 살펴봅니다. AWS CLI를 사용하여 클러스터를 프로비저닝하고 필요한 액세스 권한을 부여합니다. 그런 다음 SQL Workbench 클라이언트를 사용하여 클러스터에 연결하고, 샘플 테이블을 만들고, 샘플 데이터를 업로드하고, 테스트 쿼리를 실행합니다.

1단계: 시작하기 전에

AWS 계정이 아직 없는 경우 가입해야 합니다. 그런 다음 Amazon Redshift 명령줄 도구를 설정해야 합니다. 마지막으로 클러스터에 연결하기 위해 클라이언트 도구와 드라이버를 다운로드해야 합니다.

1.1단계: AWS 계정 가입

AWS 사용자 계정에 등록하는 방법에 대한 자세한 내용은 Amazon Redshift 시작 안내서를 참조하세요.

1.2단계: AWS CLI 다운로드 및 설치

AWS CLI를 설치하지 않은 경우 Amazon Redshift CLI 설정 단원을 참조하십시오 .

1.3단계: 클라이언트 도구 및 드라이버 다운로드

SQL 클라이언트 도구를 사용하여 Amazon Redshift 클러스터를 PostgreSQL JDBC 또는 ODBC 드라이버에 연결할 수 있습니다. 현재 이러한 소프트웨어가 설치되어 있지 않다면 Amazon Redshift 클러스터에서 테이블을 쿼리하는 데 사용할 수 있는 무료 교차 플랫폼 도구인 SQL Workbench를 사용해도 됩니다. 이 단원의 예에서는 SQL Workbench 클라이언트를 사용합니다.

SQL Workbench 및 PostgreSQL 드라이버를 다운로드하려면 Amazon Redshift 시작 안내서를 참조하세요.

2단계: 클러스터 시작

이제 AWS CLI를 사용하여 클러스터를 시작할 준비가 되었습니다.

중요

시작하려는 클러스터는 샌드박스에서 실행되지 않고 활성화됩니다. 종료하기 전까지 클러스터에 대해 표준 사용 요금이 발생합니다. 요금 정보는 Amazon Redshift 요금 페이지를 참조하세요.

여기에 설명되어 있는 연습을 한 번에 끝내고 연습을 마칠 때 클러스터를 종료하면 총 청구 비용이 가장 적게 듭니다.

create-cluster 명령에는 파라미터가 많습니다. 이 연습에서는 다음 표에 설명된 파라미터 값을 사용합니다. 클러스터 구성이 요건과 일치하도록 하려면 프로덕션 환경에서 클러스터를 생성하기 전에 모든 필수 및 선택적 파라미터를 검토하는 것이 좋습니다. 자세한 내용은 create-cluster 단원을 참조하십시오

파라미터 이름 이 연습의 파라미터 값
cluster-identifier

examplecluster

master-username

사용자 이름을 입력합니다.

master-user-password
참고

표시된 메시지가 아닌 다른 암호를 입력합니다.

node-type ds2.xlarge 또는 사용하려는 노드 크기. 자세한 내용은 Amazon Redshift의 클러스터 및 노드 섹션 섹션을 참조하세요
cluster-type single-node

클러스터를 생성하려면 다음 명령을 입력합니다.

aws redshift create-cluster --cluster-identifier examplecluster --master-username enter a username --master-user-password enter a password --node-type ds2.xlarge --cluster-type single-node

클러스터 생성 프로세스를 완료하는 데 몇 분 정도 걸릴 수 있습니다. 상태를 확인하려면 다음 명령을 입력합니다.

aws redshift describe-clusters --cluster-identifier examplecluster

출력은 다음과 비슷합니다.

{ "Clusters": [ { ...output omitted... "ClusterStatus": "creating", "ClusterIdentifier": "examplecluster", ...output omitted... }

ClusterStatus 필드가 creating에서 available로 바뀌면 클러스터를 사용할 준비가 된 것입니다.

다음 단계에서는 클러스터에 연결할 수 있도록 액세스 권한을 부여합니다.

3단계: 클러스터 액세스를 위한 인바운드 트래픽 허용

클러스터에 연결하기 위해서는 클라이언트에 대한 인바운드 액세스 권한을 명시적으로 부여해야 합니다. 클라이언트는 Amazon EC2 인스턴스이거나 외부 컴퓨터일 수 있습니다.

이전 단계에서 클러스터를 생성할 때 보안 그룹을 지정하지 않았기 때문에 기본 클러스터 보안 그룹이 클러스터에 연결됐습니다. 기본 클러스터 보안 그룹에는 클러스터에 대한 인바운드 트래픽을 허용하는 규칙이 포함되어 있지 않습니다. 새 클러스터에 액세스하려면 수신 규칙이라고 하는 인바운드 트래픽 규칙을 클러스터 보안 그룹에 추가해야 합니다.

인터넷에서 실행 중인 애플리케이션의 수신 규칙

인터넷에서 클러스터에 액세스하는 경우, Classless Inter-Domain Routing IP(CIDR/IP) 주소 범위를 승인해야 합니다. 이 예에서는 CIDR/IP 규칙 192.0.2.0/24를 사용합니다. 실제 IP 주소와 넷마스크를 반영하여 이 범위를 수정해야 합니다.

클러스터에 대한 네트워크 수신을 허용하려면 다음 명령을 입력합니다.

aws redshift authorize-cluster-security-group-ingress --cluster-security-group-name default --cidrip 192.0.2.0/24

EC2 인스턴스의 수신 규칙

Amazon EC2 인스턴스에서 클러스터에 액세스하는 경우 Amazon EC2 보안 그룹에 권한을 부여해야 합니다. 그러려면 보안 그룹 이름과 EC2 보안 그룹 소유자의 12자리 계정 번호를 지정합니다.

Amazon EC2 콘솔을 사용하여 인스턴스에 연결되어 있는 EC2 보안 그룹을 확인할 수 있습니다.

AWS 계정 번호를 찾으려면 https://aws.amazon.com/으로 가서 [내 계정(My Account)] 페이지에 로그인합니다. AWS 계정 번호가 해당 페이지의 우측 상단 모서리에 표시됩니다.

이 예에서는 myec2securitygroup을 Amazon EC2 보안 그룹 이름으로, 123456789012를 계정 번호로 사용합니다. 필요에 맞게 이름과 번호를 수정해야 합니다.

클러스터에 대한 네트워크 수신을 허용하려면 다음 명령을 입력합니다.

aws redshift authorize-cluster-security-group-ingress --cluster-security-group-name default --ec2-security-group-name myec2securitygroup --ec2-security-group-owner 123456789012

4단계: 클러스터에 연결

기본 클러스터 보안 그룹에 수신 규칙을 추가했으므로 특정 CIDR/IP 또는 EC2 보안 그룹에서 examplecluster로 들어오는 연결이 허용됩니다.

이제 클러스터에 연결할 준비가 되었습니다.

클러스터에 연결에 대한 자세한 내용은 Amazon Redshift 시작 안내서를 참조하세요.

5단계: 테이블 생성, 데이터 업로드, 예제 쿼리 시험

테이블 생성, 데이터 업로드 및 쿼리 실행에 대한 자세한 내용은 Amazon Redshift 시작 안내서를 참조하세요.

6단계: 샘플 클러스터 삭제

클러스터를 시작한 후 사용할 수 있게 되면 클러스터를 능동적으로 사용하고 있지 않더라도 클러스터가 실행된 시간에 대해 과금됩니다. 클러스터가 더 이상 필요하지 않으면 삭제할 수 있습니다.

클러스터를 삭제할 때는 최종 스냅샷을 생성할지 여부를 결정해야 합니다. 이것은 연습이고 테스트 클러스터에 중요한 데이터가 없기 때문에 최종 스냅샷은 건너뛸 수 있습니다.

클러스터를 삭제하려면 다음 명령을 입력합니다.

aws redshift delete-cluster --cluster-identifier examplecluster --skip-final-cluster-snapshot

축하합니다! 클러스터를 시작하고, 액세스 권한을 받고, 클러스터에 연결하고, 클러스터를 종료했습니다.