

 [AWS SDK for JavaScript V3 API 참조 안내서](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/)는 AWS SDK for JavaScript 버전 3(V3)의 모든 API 작업을 자세히 설명합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Redshift 예
<a name="redshift-examples-section"></a>

이 예에서는 일련의 Node.js 모듈에서 `Redshift` 클라이언트 클래스의 다음 메서드를 사용하여 Amazon Redshift 클러스터의 파라미터를 생성, 수정, 설명하고 클러스터를 삭제합니다.
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/CreateClusterCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/CreateClusterCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/ModifyClusterCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/ModifyClusterCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/DescribeClustersCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/DescribeClustersCommand/)
+ [https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/DeleteClusterCommand/](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-redshift/Class/DeleteClusterCommand/)

Amazon Redshift 사용자에 관한 자세한 내용은 [Amazon Redshift 시작 안내서](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)를 참조하세요.

## 사전 필수 작업
<a name="s3-example-configuring-buckets-prerequisites"></a>

이 예제를 설정하고 실행하려면 먼저 이러한 작업들을 완료해야 합니다.
+ 이러한 노드 TypeScript 예를 실행하도록 프로젝트 환경을 설정하고 필수 AWS SDK for JavaScript 모듈과 타사 모듈을 설치합니다. [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javascriptv3/example_code/redshift/README.md)의 지침을 따릅니다.
+ 사용자 자격 증명을 사용하여 공유 구성 파일을 생성합니다. 공유 보안 인증 파일 제공에 관한 자세한 내용은 *AWS SDK 및 도구 참조 가이드*의 [Shared config and credentials files](https://docs.aws.amazon.com/sdkref/latest/guide/file-format.html) 단원을 참조하세요.

**중요**  
이 예는 ECMAScript6(ES6)를 사용하여 클라이언트 서비스 객체 및 명령을 가져오거나 내보내는 방법을 보여줍니다.  
따라서 Node.js 버전 13.x 이상이 필요합니다. 최신 버전의 Node.js를 다운로드하여 설치하려면 [Node.js downloads](https://nodejs.org/en/download)를 참조하세요.
CommonJS 구문을 사용하려는 경우 [JavaScript ES6/CommonJS 구문](sdk-example-javascript-syntax.md) 단원을 참조하세요.

## Amazon Redshift 클러스터 생성
<a name="redshift-create-cluster"></a>

이 예에서는 AWS SDK for JavaScript를 사용하여 Amazon Redshift 클러스터를 생성하는 방법을 보여줍니다. 자세한 내용은 [CreateCluster](https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateCluster) 단원을 참조하세요.

**중요**  
*생성하려는 클러스터가 활성화됩니다(샌드박스에서 실행되지 않음). 클러스터를 삭제할 때까지 클러스터에 대해 기본 Amazon Redshift 사용 요금이 청구됩니다. 클러스터를 생성할 때와 같은 작업 기간 내에 해당 클러스터를 삭제하면 총 청구 비용이 가장 적게 듭니다. * 

`libs` 디렉터리를 생성하고 파일 이름이 `redshiftClient.js`인 Node.js 모듈을 생성합니다. 이 모듈에 아래 코드를 복사하여 붙여 넣으면 Amazon Redshift 클라이언트 객체가 생성됩니다. *REGION*을 AWS 리전으로 바꿉니다.

```
import  { RedshiftClient }  from  "@aws-sdk/client-redshift";
// Set the AWS Region.
const REGION = "REGION"; //e.g. "us-east-1"
// Create Redshift service object.
const redshiftClient = new RedshiftClient({ region: REGION });
export { redshiftClient };
```

이 코드 예는 [여기 GitHub에서](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/libs/redshiftClient.js) 찾을 수 있습니다.

파일 이름이 `redshift-create-cluster.js`인 Node.js 모듈을 생성합니다. 필수 클라이언트 및 패키지 설치를 포함하여 앞서 나와 있는 것처럼 SDK를 구성해야 합니다. 프로비저닝할 노드 유형, 클러스터에 자동으로 생성되는 데이터베이스 인스턴스의 마스터 로그인 보안 인증, 마지막으로 클러스터 유형을 지정하여 파라미터 객체를 생성합니다.

**참고**  
*CLUSTER\$1NAME*을 클러스터 이름으로 바꿉니다. *NODE\$1TYPE*의 경우 프로비저닝할 노드 유형(예: 'dc2.large')을 지정합니다. *MASTER\$1USERNAME* 및 *MASTER\$1USER\$1PASSWORD*는 클러스터에 있는 DB 인스턴스의 마스터 사용자 로그인 보안 인증 정보입니다. *CLUSTER\$1TYPE*에는 클러스터 유형을 입력합니다. `single-node`를 지정하는 경우 `NumberOfNodes` 파라미터가 필요하지 않습니다. 나머지 파라미터는 선택 사항입니다.

```
// Import required AWS SDK clients and commands for Node.js
import { CreateClusterCommand } from "@aws-sdk/client-redshift";
import { redshiftClient } from "./libs/redshiftClient.js";

const params = {
  ClusterIdentifier: "CLUSTER_NAME", // Required
  NodeType: "NODE_TYPE", //Required
  MasterUsername: "MASTER_USER_NAME", // Required - must be lowercase
  MasterUserPassword: "MASTER_USER_PASSWORD", // Required - must contain at least one uppercase letter, and one number
  ClusterType: "CLUSTER_TYPE", // Required
  IAMRoleARN: "IAM_ROLE_ARN", // Optional - the ARN of an IAM role with permissions your cluster needs to access other AWS services on your behalf, such as Amazon S3.
  ClusterSubnetGroupName: "CLUSTER_SUBNET_GROUPNAME", //Optional - the name of a cluster subnet group to be associated with this cluster. Defaults to 'default' if not specified.
  DBName: "DATABASE_NAME", // Optional - defaults to 'dev' if not specified
  Port: "PORT_NUMBER", // Optional - defaults to '5439' if not specified
};

const run = async () => {
  try {
    const data = await redshiftClient.send(new CreateClusterCommand(params));
    console.log(
      `Cluster ${data.Cluster.ClusterIdentifier} successfully created`,
    );
    return data; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

예를 실행하려면 명령 프롬프트에서 다음을 입력합니다.

```
node redshift-create-cluster.js  
```

이 샘플 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/redshift-create-cluster.js)에서 찾을 수 있습니다.

## Amazon Redshift 클러스터 수정
<a name="redshift-modify-cluster"></a>

이 예에서는 AWS SDK for JavaScript를 사용하여 Amazon Redshift 클러스터의 마스터 사용자 암호를 수정하는 방법을 보여줍니다. 수정할 수 있는 다른 설정에 관한 자세한 내용은 [ModifyCluster](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyCluster.html) 단원을 참조하세요.

`libs` 디렉터리를 생성하고 파일 이름이 `redshiftClient.js`인 Node.js 모듈을 생성합니다. 이 모듈에 아래 코드를 복사하여 붙여 넣으면 Amazon Redshift 클라이언트 객체가 생성됩니다. *REGION*을 AWS 리전으로 바꿉니다.

```
import  { RedshiftClient }  from  "@aws-sdk/client-redshift";
// Set the AWS Region.
const REGION = "REGION"; //e.g. "us-east-1"
// Create Redshift service object.
const redshiftClient = new RedshiftClient({ region: REGION });
export { redshiftClient };
```

이 코드 예는 [여기 GitHub에서](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/libs/redshiftClient.js) 찾을 수 있습니다.

파일 이름이 `redshift-modify-cluster.js`인 Node.js 모듈을 생성합니다. 필수 클라이언트 및 패키지 설치를 포함하여 앞서 나와 있는 것처럼 SDK를 구성해야 합니다. AWS 리전, 수정하려는 클러스터 이름, 새 마스터 사용자 암호를 지정합니다.

**참고**  
*CLUSTER\$1NAME*을 클러스터 이름으로 바꾸고 *MASTER\$1USER\$1PASSWORD*를 새 마스터 사용자 암호로 바꿉니다.

```
// Import required AWS SDK clients and commands for Node.js
import { ModifyClusterCommand } from "@aws-sdk/client-redshift";
import { redshiftClient } from "./libs/redshiftClient.js";

// Set the parameters
const params = {
  ClusterIdentifier: "CLUSTER_NAME",
  MasterUserPassword: "NEW_MASTER_USER_PASSWORD",
};

const run = async () => {
  try {
    const data = await redshiftClient.send(new ModifyClusterCommand(params));
    console.log("Success was modified.", data);
    return data; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

예를 실행하려면 명령 프롬프트에서 다음을 입력합니다.

```
node redshift-modify-cluster.js 
```

이 샘플 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/redshift-modify-cluster.js)에서 찾을 수 있습니다.

## Amazon Redshift 클러스터의 세부 정보 보기
<a name="redshift-describe-cluster"></a>

이 예에서는 AWS SDK for JavaScript를 사용하여 Amazon Redshift 클러스터의 세부 정보를 확인하는 방법을 보여줍니다. 옵션에 관한 자세한 내용은 [DescribeClusters](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DescribeClusters.html) 단원을 참조하세요.

`libs` 디렉터리를 생성하고 파일 이름이 `redshiftClient.js`인 Node.js 모듈을 생성합니다. 이 모듈에 아래 코드를 복사하여 붙여 넣으면 Amazon Redshift 클라이언트 객체가 생성됩니다. *REGION*을 AWS 리전으로 바꿉니다.

```
import  { RedshiftClient }  from  "@aws-sdk/client-redshift";
// Set the AWS Region.
const REGION = "REGION"; //e.g. "us-east-1"
// Create Redshift service object.
const redshiftClient = new RedshiftClient({ region: REGION });
export { redshiftClient };
```

이 코드 예는 [여기 GitHub에서](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/libs/redshiftClient.js) 찾을 수 있습니다.

파일 이름이 `redshift-describe-clusters.js`인 Node.js 모듈을 생성합니다. 필수 클라이언트 및 패키지 설치를 포함하여 앞서 나와 있는 것처럼 SDK를 구성해야 합니다. AWS 리전, 수정하려는 클러스터 이름, 새 마스터 사용자 암호를 지정합니다.

**참고**  
*CLUSTER\$1NAME*을 클러스터 이름으로 바꿉니다.

```
// Import required AWS SDK clients and commands for Node.js
import { DescribeClustersCommand } from "@aws-sdk/client-redshift";
import { redshiftClient } from "./libs/redshiftClient.js";

const params = {
  ClusterIdentifier: "CLUSTER_NAME",
};

const run = async () => {
  try {
    const data = await redshiftClient.send(new DescribeClustersCommand(params));
    console.log("Success", data);
    return data; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

예를 실행하려면 명령 프롬프트에서 다음을 입력합니다.

```
node redshift-describe-clusters.js 
```

이 샘플 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/redshift-describe-clusters.js)에서 찾을 수 있습니다.

## Amazon Redshift 클러스터 삭제
<a name="redshift-delete-cluster"></a>

이 예에서는 AWS SDK for JavaScript를 사용하여 Amazon Redshift 클러스터의 세부 정보를 확인하는 방법을 보여줍니다. 수정할 수 있는 다른 설정에 관한 자세한 내용은 [DeleteCluster](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteCluster.html) 단원을 참조하세요.

`libs` 디렉터리를 생성하고 파일 이름이 `redshiftClient.js`인 Node.js 모듈을 생성합니다. 이 모듈에 아래 코드를 복사하여 붙여 넣으면 Amazon Redshift 클라이언트 객체가 생성됩니다. *REGION*을 AWS 리전으로 바꿉니다.

```
import  { RedshiftClient }  from  "@aws-sdk/client-redshift";
// Set the AWS Region.
const REGION = "REGION"; //e.g. "us-east-1"
// Create Redshift service object.
const redshiftClient = new RedshiftClient({ region: REGION });
export { redshiftClient };
```

이 코드 예는 [여기 GitHub에서](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/libs/redshiftClient.js) 찾을 수 있습니다.

파일 이름이 `redshift-delete-clusters.js`인 Node.js 모듈을 생성합니다. 필수 클라이언트 및 패키지 설치를 포함하여 앞서 나와 있는 것처럼 SDK를 구성해야 합니다. AWS 리전, 수정하려는 클러스터 이름, 새 마스터 사용자 암호를 지정합니다. 삭제하기 전에 클러스터의 최종 스냅샷을 저장할지 여부를 지정하고, 저장할 경우 스냅샷의 ID를 지정합니다.

**참고**  
*CLUSTER\$1NAME*을 클러스터 이름으로 바꿉니다. *SkipFinalClusterSnapshot*의 경우 클러스터를 삭제하기 전에 해당 클러스터의 최종 스냅샷을 생성할지 여부를 지정합니다. 'false'를 지정하는 경우 *CLUSTER\$1SNAPSHOT\$1ID*에 최종 클러스터 스냅샷의 ID를 지정합니다. **클러스터** 대시보드에서 클러스터에 대한 **스냅샷** 열의 링크를 클릭하고 **스냅샷** 창까지 아래로 스크롤하여 이 ID를 얻을 수 있습니다. `rs:` 스템은 스냅샷 ID의 일부가 아닙니다.

```
// Import required AWS SDK clients and commands for Node.js
import { DeleteClusterCommand } from "@aws-sdk/client-redshift";
import { redshiftClient } from "./libs/redshiftClient.js";

const params = {
  ClusterIdentifier: "CLUSTER_NAME",
  SkipFinalClusterSnapshot: false,
  FinalClusterSnapshotIdentifier: "CLUSTER_SNAPSHOT_ID",
};

const run = async () => {
  try {
    const data = await redshiftClient.send(new DeleteClusterCommand(params));
    console.log("Success, cluster deleted. ", data);
    return data; // For unit tests.
  } catch (err) {
    console.log("Error", err);
  }
};
run();
```

예를 실행하려면 명령 프롬프트에서 다음을 입력합니다.

```
node redshift-delete-cluster.js  
```

이 샘플 코드는 [GitHub](https://github.com/awsdocs/aws-doc-sdk-examples/blob/main/javascriptv3/example_code/redshift/src/redshift-delete-cluster.js)에서 찾을 수 있습니다.