

 Amazon Redshift는 패치 198부터 새 Python UDF 생성을 더 이상 지원하지 않습니다. 기존 Python UDF는 2026년 6월 30일까지 계속 작동합니다. 자세한 내용은 [블로그 게시물](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)을 참조하세요.

# 네트워킹 작업
<a name="networking-tasks"></a>

Redshift 데이터베이스 연결 사용자 지정과 같은 네트워킹 작업을 수행할 수 있습니다. 보안 또는 기타 목적으로 트래픽을 제어하기 위해 이 작업을 수행할 수 있습니다. Redshift 리소스의 사용자 지정 도메인 이름 설정과 같은 DNS 관련 작업도 수행할 수 있습니다. Amazon Redshift 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹이 있는 경우 이러한 구성 작업을 사용할 수 있습니다.

**Topics**
+ [클라이언트 연결의 사용자 지정 도메인 이름](connecting-connection-CNAME.md)
+ [Redshift 관리형 VPC 엔드포인트](managing-cluster-cross-vpc.md)
+ [VPC의 Redshift 리소스](managing-clusters-vpc.md)
+ [Redshift Enhanced VPC Routing으로 네트워크 트래픽 제어](enhanced-vpc-routing.md)

# 클라이언트 연결의 사용자 지정 도메인 이름
<a name="connecting-connection-CNAME"></a>

 Amazon Redshift 클러스터 및 Amazon Redshift Serverless 작업 그룹에 대해 사용자 지정 URL이라고도 하는 사용자 지정 도메인 이름을 만들 수 있습니다. 이 도메인 이름은 SQL 클라이언트 연결을 엔드포인트로 라우팅하는 읽기 쉬운 DNS 레코드입니다. 언제든지 기존 클러스터 또는 작업 그룹에 대해 구성할 수 있습니다. 다음과 같은 몇 가지 이점이 있습니다.
+ 사용자 지정 도메인 이름은 일반적으로 클러스터 이름 또는 작업 그룹 이름과 리전을 포함하는 기본 URL보다 더 단순한 문자열입니다. 기억하고 사용하기가 더 쉽습니다.
+ 예를 들어 장애 조치 시 새 클러스터 또는 작업 그룹으로 트래픽을 신속하게 라우팅할 수 있습니다. 이렇게 하면 클라이언트가 다시 연결할 때 구성을 변경할 필요가 없습니다. 중단을 최소화하면서 중앙에서 연결을 다시 라우팅할 수 있습니다.
+ 연결 URL에 서버 이름과 같은 개인 정보를 공유하는 것을 피할 수 있습니다. 사용자 지정 URL에서 숨길 수 있습니다.

CNAME을 사용하여 사용자 지정 도메인 이름을 설정하면 Amazon Redshift에서 추가 요금이 부과되지 않습니다. 새 도메인 이름을 만드는 경우 DNS 공급업체로부터 도메인 이름에 대한 요금이 청구될 수 있지만 일반적으로 이 비용은 적습니다.

# 도메인 이름 등록
<a name="connecting-connection-CNAME-certificates"></a>

 사용자 지정 도메인 이름 설정은 몇 가지 작업으로 구성됩니다. 여기에는 도메인 이름을 DNS 공급자에 등록하고 인증서를 생성하는 작업이 포함됩니다. 이러한 작업을 수행한 후에는 Amazon Redshift 콘솔 또는 Amazon Redshift Serverless 콘솔에서 또는 AWS CLI 명령을 사용하여 사용자 지정 도메인 이름을 구성합니다.

Amazon Redshift에서 사용자 지정 도메인 이름을 구성하려면 등록된 인터넷 도메인 이름이 있어야 합니다. Route 53를 사용하거나 타사 도메인 등록 서비스 제공자를 사용하여 인터넷 도메인을 등록할 수 있습니다. 이러한 작업은 Amazon Redshift 콘솔 외부에서 완료합니다. 도메인 등록은 나머지 절차를 완료하여 사용자 지정 도메인을 만들기 위한 사전 조건입니다.

**참고**  
프로비저닝된 클러스터를 사용하는 경우 사용자 지정 도메인 이름을 구성하는 단계를 수행하기 전에 클러스터를 재배치할 수 있도록 설정해야 합니다. 자세한 내용은 [클러스터 재부팅](managing-cluster-recovery.md) 섹션을 참조하세요. Amazon Redshift Serverless에서는 이 단계가 필요하지 않습니다.

사용자 지정 도메인 이름에는 일반적으로 루트 도메인과 하위 도메인(예: `mycluster.example.com`)이 포함됩니다. 구성하려면 다음 단계를 수행합니다.

**사용자 지정 도메인 이름에 대한 DNS CNAME 항목 생성**

1. 루트 도메인을 등록합니다(예: `example.com`). 경우에 따라 기존 도메인을 사용할 수도 있습니다. 사용자 지정 이름은 특정 문자에 대한 제한이나 기타 이름 유효성 검사에 의해 제한될 수 있습니다. Route 53에 도메인을 등록하는 방법에 대한 자세한 내용은 [새 도메인 등록](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/domain-register.html)을 참조하세요.

1. 사용자 지정 도메인 이름이 클러스터 또는 작업 그룹에 대한 Redshift 엔드포인트를 가리키도록 하는 DNS CNAME 레코드를 추가합니다. 엔드포인트는 Redshift 콘솔 또는 Amazon Redshift Serverless 콘솔의 클러스터 또는 작업 그룹 속성에서 찾을 수 있습니다. 클러스터 또는 작업 그룹 속성의 **일반 정보**에 있는 **JDBC URL**을 복사합니다. URL은 다음과 같습니다.
   + Amazon Redshift 클러스터: `redshift-cluster-sample.abc123456.us-east-1.redshift.amazonaws.com`
   + Amazon Redshift Serverless 작업 그룹: `endpoint-name.012345678901.us-east-1-dev.redshift-serverless-dev.amazonaws.com`

   URL에 JDBC 접두사가 있는 경우 제거하세요.
**참고**  
각 이름은 고유해야 하며 조직 내에서 사용할 수 있어야 하므로 DNS 레코드는 사용 가능 여부에 따라 달라질 수 있습니다.

**제한 사항**:

사용자 지정 도메인의 CNAME 레코드 생성에는 몇 가지 제약이 있습니다.
+ 동일한 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹에 대해 사용자 지정 도메인 이름을 여러 개 생성하는 것은 지원되지 않습니다. 단 한 개의 CNAME 레코드만 연결할 수 있습니다.
+ CNAME 레코드를 둘 이상의 클러스터 또는 작업 그룹과 연결하는 것은 지원되지 않습니다. 각 Redshift 리소스의 CNAME은 고유해야 합니다.

도메인을 등록하고 CNAME 레코드를 생성한 후 새 인증서 또는 기존 인증서를 선택합니다. 다음 단계는 AWS Certificate Manager를 사용하여 수행합니다.

AWS Certificate Manager에서 사용할 수 있는 관리형 갱신 자격을 충족하는 [DNS 검증이 완료된 인증서](https://docs.aws.amazon.com/acm/latest/userguide/dns-renewal-validation.html)를 생성하는 것이 좋습니다. 관리형 갱신이란 만료일이 다가오면 ACM이 인증서를 자동으로 갱신하거나 이메일 알림을 보내는 것입니다. 자세한 내용은 [ACM 인증서의 관리형 갱신](https://docs.aws.amazon.com/acm/latest/userguide/managed-renewal.html)을 참조하세요.

# 도메인 이름에 대한 인증서 요청
<a name="connecting-connection-CNAME-security"></a>

Amazon Redshift 또는 Amazon Redshift Serverless는 통신을 안전하게 유지하고 도메인 이름의 소유권을 확인하기 위해 사용자 지정 엔드포인트에 대해 유효한 Secure Sockets Layer(SSL) 인증서를 요구합니다. 안전한 인증서 관리를 위해 AWS KMS key와 함께 AWS Certificate Manager 인증서 관리자 계정을 사용할 수 있습니다. 보안 유효성 검사에는 전체 호스트 이름 확인(**sslmode=verify-full)이 포함됩니다.

인증서 갱신은 이메일 유효성 검사가 아닌 DNS 유효성 검사를 선택한 경우에만 Amazon Redshift에서 관리합니다. 이메일 유효성 검사를 사용하는 경우 인증서를 사용할 수 있지만 만료 전에 직접 갱신을 수행해야 합니다. 인증서에 대해 DNS 유효성 검사를 선택하는 것이 좋습니다. AWS Certificate Manager 인증서 관리자에서 가져온 인증서의 만료 날짜를 모니터링할 수 있습니다.

**도메인 이름에 대해 ACM에 인증서 요청**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/)에서 ACM 콘솔을 엽니다.

1. **인증서 요청**을 선택합니다.

1. **도메인 이름** 필드에 사용자 지정 도메인 이름을 입력합니다.
**참고**  
여러 사용자 지정 도메인 레코드에 단일 인증서를 사용하기 위해 인증서 도메인 외에 여러 접두사를 지정할 수 있습니다. 예를 들어, 동일한 인증서로 `one.example.com` 및 `two.example.com`과 같은 추가 레코드 또는 `*.example.com`과 같은 와일드카드 DNS 레코드를 사용할 수 있습니다.

1. [**Review and request**]를 선택합니다.

1. [**Confirm and request**]를 선택합니다.

1. 요청이 유효하려면 ACM이 인증서를 발급하기 전에 인터넷 도메인의 등록 소유자가 요청에 동의해야 합니다. 단계를 완료하면 ACM 콘솔에서 상태가 **발급됨**으로 표시되는지 확인합니다.

# 사용자 지정 도메인 구성
<a name="connecting-connection-CNAME-create-custom-domain"></a>

Amazon Redshift 또는 Amazon Redshift Serverless 콘솔을 사용하여 사용자 지정 도메인 URL을 만들 수 있습니다. 구성하지 않은 경우 **사용자 지정 도메인 이름** 속성은 **일반 정보** 아래에 대시(**-**)로 표시됩니다. CNAME 레코드와 인증서를 만든 후에는 클러스터 또는 작업 그룹에 대한 사용자 지정 도메인 이름을 연결합니다.

사용자 지정 도메인 연결을 생성하려면 다음 IAM 권한이 필요합니다.
+ `redshift:CreateCustomDomainAssociation` — ARN을 추가하여 특정 클러스터에 대한 권한을 제한할 수 있습니다.
+ `redshiftServerless:CreateCustomDomainAssociation` - 작업 그룹의 ARN을 추가하여 해당 작업 그룹에 대한 권한을 제한할 수 있습니다.
+ `acm:DescribeCertificate`

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 [Amazon Redshift의 Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)를 참조하세요.

다음 단계를 수행하여 사용자 지정 도메인 이름을 할당합니다.

1. Redshift 콘솔에서 클러스터를 선택하거나 Amazon Redshift Serverless 콘솔에서 작업 그룹을 선택한 다음 **작업** 메뉴에서 **사용자 지정 도메인 이름 생성**을 선택합니다. 대화 상자가 나타납니다.

1. 사용자 지정 도메인 이름을 입력합니다.

1. AWS Certificate Manager에서 **ACM 인증서**에 대한 ARN을 선택합니다. 변경 내용을 확인합니다. 인증서 생성 단계의 지침에 따라 AWS Certificate Manager를 통해 관리형 갱신이 가능하고 DNS 검증이 완료된 인증서를 선택하는 것이 좋습니다.

1. 클러스터 속성에서 **사용자 지정 도메인 이름** 및 **사용자 지정 도메인 인증서 ARN**이 입력한 항목으로 채워졌는지 확인합니다. **사용자 지정 도메인 인증서 만료 날짜**도 나열됩니다.

사용자 지정 도메인을 구성한 후에는 새 사용자 지정 도메인에 대해서만 `sslmode=verify-full`을 사용할 수 있습니다. 기본 엔드포인트에서는 작동하지 않습니다. 하지만 `sslmode=verify-ca`와 같은 다른 SSL 모드를 사용하여 기본 엔드포인트에 연결할 수 있습니다.

**참고**  
[클러스터 재배치](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-recovery.html)는 추가 Redshift 네트워킹 기능을 구성하기 위한 사전 조건은 아니라는 점을 기억하시기 바랍니다. 다음 기능을 활성화하기 위해 이 기능을 켤 필요는 없습니다.  
**계정 간 또는 리전 간 VPC에서 Redshift로 연결** - 하나의 AWS Virtual Private Cloud(VPC)에서 Redshift 데이터베이스를 포함하는 다른 VPC로 연결할 수 있습니다. 따라서 데이터베이스에 연결하는 ID에 대한 로컬 VPC 액세스를 제공하지 않고도 서로 다른 계정이나 VPC에서의 클라이언트 액세스 등을 더 쉽게 관리할 수 있습니다. 자세한 내용은 [다른 계정 또는 리전의 Redshift VPC 엔드포인트에서 Amazon Redshift Serverless에 연결](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-connecting.html#serverless-cross-vpc)을 참조하세요.
**사용자 지정 도메인 이름 설정** - 이 주제에 설명된 대로 사용자 지정 도메인 이름을 생성하여 엔드포인트 이름을 보다 관련성 있고 간단하게 만들 수 있습니다.

# Amazon Redshift 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹에 연결
<a name="connecting-connection-CNAME-client"></a>

사용자 지정 도메인 이름에 연결하려면 프로비저닝된 클러스터 `redshift:DescribeCustomDomainAssociations`의 경우 다음 IAM 권한이 필요합니다. Amazon Redshift Serverless의 경우 권한을 추가할 필요가 없습니다.

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 [Amazon Redshift의 Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)를 참조하세요.

콘솔에서 CNAME을 생성하고 클러스터 또는 적업 그룹에 할당하는 단계를 완료한 후에는 SQL 클라이언트의 연결 속성에서 사용자 지정 URL을 제공할 수 있습니다. CNAME 레코드가 생성된 직후에는 DNS 전파로 인해 지연이 있을 수 있습니다.

1. SQL 클라이언트를 엽니다. 예를 들어 SQL/Workbench J를 사용하여 연결 속성을 열고 연결 문자열에 대한 사용자 지정 도메인 이름을 추가할 수 있습니다. 예를 들어 `jdbc:redshift://mycluster.example.com:5439/dev?sslmode=verify-full`입니다. 이 예제에서는 `dev`가 기본 데이터베이스를 지정합니다.

1. 데이터베이스 사용자의 **사용자 이름**과 **암호**를 추가합니다.

1. 연결을 테스트합니다. 특정 테이블과 같은 데이터베이스 리소스를 쿼리하는 기능은 데이터베이스 사용자에게 부여된 권한 또는 할당된 Amazon Redshift 데이터베이스 역할에 부여된 권한에 따라 달라질 수 있습니다.

   클러스터 또는 작업 그룹이 VPC에 있는 경우 클러스터 또는 작업 그룹에 연결하려면 공개적으로 액세스할 수 있도록 설정해야 할 수도 있습니다. 이 설정은 네트워크 속성에서 변경할 수 있습니다.

**참고**  
사용자 지정 도메인 이름에 대한 연결은 JDBC, ODBC 및 Python 드라이버에서 지원됩니다.

# 사용자 지정 도메인이 할당된 클러스터 이름 변경
<a name="connecting-connection-CNAME-rename-cluster"></a>

**참고**  
이 일련의 단계는 Amazon Redshift Serverless 작업 그룹에는 적용되지 않습니다. 작업 그룹 이름은 변경할 수 없습니다.

사용자 지정 도메인 이름이 있는 클러스터의 이름을 바꾸려면 `acm:DescribeCertificate` IAM 권한이 필요합니다.

1. Amazon Redshift 콘솔로 이동하여 이름을 변경하려는 클러스터를 선택합니다. **편집**을 선택하여 클러스터 속성을 편집합니다.

1. **클러스터 식별자**를 편집합니다. 클러스터의 다른 속성도 변경할 수 있습니다. **변경 사항 저장(Save changes)**을 선택합니다.

1. 클러스터의 이름이 변경된 후에는 DNS 레코드를 업데이트하여 사용자 지정 도메인의 CNAME 항목이 업데이트된 Amazon Redshift 엔드포인트를 가리키도록 변경해야 합니다.

# 사용자 지정 도메인 연결 설명
<a name="connecting-connection-CNAME-describe-api"></a>

이 섹션의 명령을 사용하여 프로비저닝된 특정 클러스터 또는 Amazon Redshift Serverless 작업 그룹과 연결된 사용자 지정 도메인 이름 목록을 가져올 수 있습니다.

다음 권한이 필요합니다.
+ 프로비저닝된 클러스터: `redshift:DescribeCustomDomainAssociations`
+ Amazon Redshift Serverless 작업 그룹: `redshiftServerless:ListCnameAssociations`

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 [Amazon Redshift의 Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)를 참조하세요.

다음은 주어진 Amazon Redshift 클러스터에 대한 사용자 지정 도메인 이름을 나열하는 샘플 명령입니다.

```
aws redshift describe-custom-domain-associations ––custom-domain-name customdomainname
```

사용자 지정 도메인 이름을 활성화한 경우 이 명령을 실행하여 클러스터와 연결된 사용자 지정 도메인 이름을 확인할 수 있습니다. 사용자 지정 도메인 연결을 설명하기 위한 CLI 명령에 대한 자세한 내용은 [describe-custom-domain-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/redshift/describe-custom-domain-associations.html)를 참조하세요.

마찬가지로 다음은 주어진 Amazon Redshift Serverless 작업 그룹의 사용자 지정 도메인 이름을 나열하는 샘플 명령을 보여줍니다. 몇 가지 방법으로 수행할 수 있습니다. 사용자 지정 도메인 이름만 제공할 수 있습니다.

```
aws redshift-serverless list-custom-domain-associations ––custom-domain-name customdomainname
```

인증서 ARN만 제공하여 연결을 가져올 수도 있습니다.

```
aws redshift-serverless list-custom-domain-associations ––custom-domain-certificate-arn certificatearn
```

사용자 지정 도메인 이름을 활성화한 경우 이 명령을 실행하여 작업 그룹과 연결된 사용자 지정 도메인 이름을 확인할 수 있습니다. 명령을 실행하여 사용자 지정 도메인 연결의 속성을 가져올 수도 있습니다. 이렇게 하려면 사용자 지정 도메인 이름과 작업 그룹 이름을 파라미터로 제공해야 합니다. 인증서 ARN, 작업 그룹 이름, 사용자 지정 도메인의 인증서 만료 시간을 반환합니다.

```
aws redshift-serverless get-custom-domain-association ––workgroup-name workgroupname ––custom-domain-name customdomainname
```

Amazon Redshift Serverless에서 사용할 수 있는 CLI 참조 명령에 대한 자세한 내용은 [redshift-serverless](https://docs.aws.amazon.com/cli/latest/reference/redshift-serverless/)를 참조하세요.

# 사용자 지정 도메인을 다른 인증서와 연결
<a name="connecting-connection-CNAME-change-api"></a>

사용자 지정 도메인 이름에 대한 인증서 연결을 변경하려면 다음 IAM 권한이 필요합니다.
+ `redshift:ModifyCustomDomainAssociation`
+ `acm:DescribeCertificate`

가장 좋은 방법은 권한 정책을 IAM 역할에 연결한 다음 필요에 따라 사용자 및 그룹에 할당하는 것입니다. 자세한 내용은 [Amazon Redshift의 Identity and Access Management](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)를 참조하세요.

다음 명령을 사용하여 사용자 지정 도메인을 다른 인증서와 연결합니다. `––custom-domain-name` 및 `custom-domain-certificate-arn` 인수는 필수입니다. 새 인증서의 ARN은 기존 ARN과 달라야 합니다.

```
aws redshift modify-custom-domain-association ––cluster-id redshiftcluster ––custom-domain-name customdomainname ––custom-domain-certificate-arn certificatearn
```

다음 샘플은 사용자 지정 도메인을 Amazon Redshift Serverless 작업 그룹의 다른 인증서와 연결하는 방법을 보여줍니다.

```
aws redshift-serverless modify-custom-domain-association ––workgroup-name redshiftworkgroup ––custom-domain-name customdomainname ––custom-domain-certificate-arn certificatearn
```

클러스터에 연결할 수 있기까지 최대 30초의 지연이 있습니다. 지연의 일부는 Amazon Redshift 클러스터가 속성을 업데이트할 때 발생하며, DNS가 업데이트될 때 약간의 추가 지연이 있습니다. API 및 각 속성 설정에 대한 자세한 내용은 [ModifyCustomDomainAssociation](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyCustomDomainAssociation.html)을 참조하세요.

# 사용자 지정 도메인 삭제
<a name="connecting-connection-CNAME-delete-api"></a>

사용자 지정 도메인 이름을 삭제하려면 사용자에게 다음 작업에 대한 권한이 있어야 합니다.
+ 프로비저닝된 클러스터: `redshift:DeleteCustomDomainAssociation`
+ Amazon Redshift Serverless 작업 그룹: `redshiftServerless:DeleteCustomDomainAssociation`

**콘솔에서**

**작업** 버튼을 선택하고 **사용자 지정 도메인 이름 삭제**를 선택하여 사용자 지정 도메인 이름을 삭제할 수 있습니다. 이렇게 한 후에도 콘솔에 나열된 엔드포인트를 사용하도록 도구를 업데이트하여 서버에 연결할 수 있습니다.

**CLI 명령 사용**

다음 샘플은 사용자 지정 도메인 이름을 삭제하는 방법을 보여줍니다. 삭제 작업을 수행하려면 클러스터의 기존 사용자 지정 도메인 이름을 제공해야 합니다.

```
aws redshift delete-custom-domain-association ––cluster-id redshiftcluster ––custom-domain-name customdomainname
```

다음 샘플은 Amazon Redshift Serverless 작업 그룹의 사용자 지정 도메인 이름을 삭제하는 방법을 보여줍니다. 사용자 지정 도메인 이름은 필수 파라미터입니다.

```
aws redshift-serverless delete-custom-domain-association ––workgroup-name workgroupname ––custom-domain-name customdomainname
```

자세한 내용은 [DeleteCustomDomainAssociation](https://docs.aws.amazon.com/redshift/latest/APIReference/API_DeleteCustomDomainAssociation.html)을 참조하세요.

# Redshift 관리형 VPC 엔드포인트
<a name="managing-cluster-cross-vpc"></a>

기본적으로 Amazon Redshift 클러스터 또는 Amazon Redshift Serverless 작업 그룹은 Virtual Private Cloud(VPC)에서 프로비저닝됩니다. VPC는 퍼블릭 액세스를 허용하거나 인터넷 게이트웨이, NAT 디바이스 또는 AWS Direct Connect 연결을 설정하여 트래픽을 라우팅할 때 다른 VPC 또는 서브넷에서 액세스할 수 있습니다. 또한 Redshift 관리형 VPC 엔드포인트(AWS PrivateLink 기반)를 설정하여 클러스터 또는 작업에 액세스할 수 있습니다.

클러스터 또는 작업 그룹이 포함된 VPC와 클라이언트 도구를 실행하는 VPC 간의 프라이빗 연결로 Redshift 관리형 VPC 엔드포인트를 설정할 수 있습니다. 클러스터 또는 작업 그룹이 다른 계정에 있는 경우 계정 소유자(부여자)는 연결하는 계정(피부여자)에게 액세스 권한을 부여해야 합니다. 이 접근 방식을 사용하면 퍼블릭 IP 주소를 사용하거나 인터넷을 통해 트래픽을 라우팅하지 않고도 데이터 웨어하우스에 액세스할 수 있습니다.

Redshift 관리형 VPC 엔드포인트를 사용하여 액세스를 허용하는 일반적인 이유는 다음과 같습니다.
+ AWS 계정 A는 AWS 계정 B의 VPC가 클러스터 또는 작업 그룹에 액세스할 수 있도록 허용하려고 합니다.
+ AWS 계정 A는 AWS 계정 A에도 있는 VPC가 클러스터 또는 작업 그룹에 액세스할 수 있도록 허용하려고 합니다.
+ AWS 계정 A는 AWS 계정 A 내의 VPC에 있는 다른 서브넷이 클러스터 또는 작업 그룹에 액세스할 수 있도록 허용하려고 합니다.

Redshift 관리형 VPC 엔드포인트를 설정하여 다른 계정의 클러스터 또는 작업 그룹에 액세스하는 워크플로는 다음과 같습니다.

1. 소유자 계정은 다른 계정에 액세스 권한을 부여하고 피부여자의 AWS 계정 ID와 VPC 식별자(또는 모든 VPC)를 지정합니다.

1. 피부여자 계정은 Redshift 관리형 VPC 엔드포인트를 생성할 권한이 있다는 알림을 받습니다.

1. 피부여자 계정은 Redshift 관리형 VPC 엔드포인트를 생성합니다.

1. 피부여자 계정은 Redshift 관리형 VPC 엔드포인트를 사용하여 소유자 계정의 클러스터 또는 작업 그룹에 액세스할 수 있습니다.

Amazon Redshift 콘솔, AWS CLI 또는 Amazon Redshift API를 사용하여 이를 수행할 수 있습니다.

## Redshift 관리형 VPC 엔드포인트 사용 시 고려 사항
<a name="managing-cluster-cross-vpc-considerations"></a>

**참고**  
RedShift 관리형 VPC 엔드포인트를 생성하거나 수정하려면 AWS 관리형 정책 `AmazonRedshiftFullAccess`에 지정된 기타 권한 외에도 IAM 정책 내에 `ec2:CreateVpcEndpoint` 또는 `ec2:ModifyVpcEndpoint` 권한이 필요합니다.

Redshift 관리형 VPC 엔드포인트를 사용할 때 다음 사항에 유의합니다.
+ 프로비저닝된 클러스터를 사용하는 경우 노드 유형이 RA3이어야 합니다. Amazon Redshift Serverless 작업 그룹은 VPC 엔드포인트를 설정하는 데에도 사용할 수 있습니다.
+ 프로비저닝된 클러스터의 경우 클러스터에 클러스터 재배치 또는 다중 AZ가 활성화되어 있어야 합니다. 클러스터 재배치를 설정하기 위한 요구 사항에 대한 자세한 내용은 [클러스터 재부팅](managing-cluster-recovery.md) 섹션을 참조하세요. 다중 AZ 활성화에 대한 자세한 내용은 [새 클러스터 생성 시 다중 AZ 설정](create-cluster-multi-az.md) 섹션을 참조하세요.
+ 보안 그룹을 통해 액세스할 클러스터 또는 작업 그룹이 유효한 포트 범위 5431\$15455 및 8191\$18215 내에서 사용 가능한지 확인합니다. 기본값은 5439입니다.
+ 기존 Redshift 관리형 VPC 엔드포인트와 연결된 VPC 보안 그룹을 수정할 수 있습니다. 다른 설정을 수정하려면 현재 Redshift 관리형 VPC 엔드포인트를 삭제하고 새 엔드포인트를 생성합니다.
+ 생성할 수 있는 Redshift 관리형 VPC 엔드포인트 수는 VPC 엔드포인트 할당량으로 제한됩니다.
+ Redshift 관리형 VPC 엔드포인트는 인터넷에서 액세스할 수 없습니다. Redshift 관리형 VPC 엔드포인트는 엔드포인트가 프로비저닝된 VPC 내에서 또는 라우팅 테이블 및 보안 그룹에서 허용하는 대로 엔드포인트가 프로비저닝된 VPC와 피어링된 VPC에서만 액세스할 수 있습니다.
+ Amazon VPC 콘솔을 사용하여 Redshift 관리형 VPC 엔드포인트를 관리할 수 없습니다.
+ 프로비저닝된 클러스터에 대해 Redshift 관리형 VPC 엔드포인트를 만들 때 선택하는 VPC에는 클러스터 서브넷 그룹이 있어야 합니다. 서브넷 그룹을 생성하려면 [클러스터 서브넷 그룹 생성](create-cluster-subnet-group.md) 섹션을 참조하세요.
+ 가용 영역이 다운된 경우 Amazon Redshift는 다른 가용 영역에 새로운 탄력적 네트워크 인터페이스를 생성하지 않습니다. 이 경우 새 엔드포인트를 생성해야 할 수도 있습니다.

할당량 및 명명 제약 조건에 대한 자세한 내용은 [Amazon Redshift의 할당량 및 제한](amazon-redshift-limits.md) 섹션을 참조하세요.

요금에 대한 자세한 정보는 [AWS PrivateLink 요금](https://aws.amazon.com/privatelink/pricing/)을 참조하세요.

# VPC에 대한 액세스 권한 부여
<a name="managing-cluster-cross-vpc-console-grantor"></a>

클러스터 또는 작업 그룹에 액세스하도록 하려는 VPC가 다른 AWS 계정에 있는 경우 소유자(부여자) 계정에서 권한을 부여해야 합니다.

**다른 AWS 계정의 VPC가 클러스터 또는 작업 그룹에 액세스할 수 있도록 허용하는 방법**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **클러스터(Clusters)**를 선택합니다. Amazon Redshift Serverless의 경우 **Serverless 대시보드**를 선택합니다.

1. 액세스를 허용하려는 클러스터에서 클러스터 이름을 선택하여 세부 정보를 봅니다. 클러스터에 대한 [**Properties(속성)**] 탭을 선택합니다.

   [**부여된 계정(Granted accounts)**] 섹션에는 클러스터에 액세스할 수 있는 계정과 해당 VPC가 표시됩니다. Amazon Redshift Serverless 작업 그룹의 경우 작업 그룹을 선택합니다. **부여된 계정**은 **데이터 액세스** 탭에서 확인할 수 있습니다.

1. [**액세스 권한 부여(Grant access)**]를 선택하여 계정을 추가할 [**피부여자 정보(Grantee information)**]를 입력하는 양식을 표시합니다.

1. **AWS 계정 ID**에 액세스 권한을 부여할 계정의 ID를 입력합니다. 특정 VPC 또는 지정된 계정의 모든 VPC에 대한 액세스 권한을 부여할 수 있습니다.

1. [**액세스 권한 부여(Grant access)**]를 선택하여 액세스 권한을 부여합니다.

# Redshift 관리형 VPC 엔드포인트 생성
<a name="managing-cluster-cross-vpc-console-grantee"></a>

클러스터 또는 작업 그룹을 소유하거나 관리 액세스 권한이 부여된 경우 이에 대한 Redshift 관리형 VPC 엔드포인트를 생성할 수 있습니다.

**Redshift 관리형 VPC 엔드포인트를 생성하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 창에서 **구성(Configurations)**을 선택합니다.

   [**구성(Configurations)**] 페이지에 생성된 Redshift 관리형 VPC 엔드포인트가 표시됩니다. 엔드포인트에 대한 세부 정보를 보려면 해당 이름을 선택합니다. Amazon Redshift Serverless의 경우 작업 그룹을 선택하면 VPC 엔드포인트가 **데이터 액세스** 탭 아래에 있습니다.

1. [**엔드포인트 생성(Create endpoint)**]을 클릭하여 추가할 엔드포인트에 대한 정보를 입력할 양식을 표시합니다.

1. **엔드포인트 이름**, 12자리 **AWS 계정 ID**, 엔드포인트가 위치한 **Virtual Private Cloud(VPC)**, **서브넷** 및 **VPC 보안 그룹**의 값을 입력합니다.

   **서브넷**의 서브넷은 Amazon Redshift가 엔드포인트를 배포하는 서브넷과 IP 주소를 정의합니다. Amazon Redshift는 엔드포인트와 연결된 네트워크 인터페이스에 사용할 수 있는 IP 주소가 있는 서브넷을 선택합니다.

   **VPC 보안 그룹**의 보안 그룹 규칙은 엔드포인트에 대해 권한을 부여하는 인바운드 트래픽의 포트, 프로토콜 및 소스를 정의합니다. 선택한 포트에 대해 워크로드가 실행되는 보안 그룹 또는 CIDR 범위를 통한 액세스를 허용합니다.

1. [**엔드포인트 생성(Create endpoint)**]을 선택하여 엔드포인트를 생성합니다.

엔드포인트가 생성되면 Redshift 관리형 VPC 엔드포인트에 대한 구성 설정의 **엔드포인트** URL에 표시된 URL을 통해 클러스터 또는 작업 그룹에 액세스할 수 있습니다.

# VPC의 Redshift 리소스
<a name="managing-clusters-vpc"></a>

Amazon VPC 서비스를 기반으로 하는 EC2-VPC 플랫폼의 VPC에서 Amazon Redshift 클러스터 또는 Amazon Redshift Serverless 작업 그룹을 시작할 수 있습니다. 자세한 내용은 [EC2를 사용하여 클러스터 생성](working-with-clusters.md#cluster-platforms) 섹션을 참조하세요.

**참고**  
클러스터 및 Serverless 작업 그룹을 전용 테넌시 VPC로 실행하는 것은 지원되지 않습니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [전용 인스턴스](https://docs.aws.amazon.com/vpc/latest/userguide/dedicated-instance.html)를 참조하세요.

VPC에서 리소스를 프로비저닝할 때는 다음을 수행해야 합니다.
+ **VPC 정보를 입력합니다.**

  VPC에서 프로비저닝된 클러스터를 만들 때는 클러스터 서브넷 그룹을 생성하여 VPC 정보를 제공해야 합니다. 이 정보에는 VPC ID 및 VPC의 서브넷 목록이 포함됩니다. 클러스터를 시작할 때 Redshift가 VPC의 서브넷 중 하나에서 프로비저닝할 수 있도록 서브넷 그룹을 제공합니다. Amazon Redshift Serverless를 사용하면 프로세스가 비슷합니다. Serverless 작업 그룹에 직접 서브넷을 할당합니다. 하지만 Serverless의 경우 서브넷 그룹을 만들지 않습니다. Amazon Redshift에서 서브넷 그룹 생성에 대한 자세한 내용은 [Redshift 리소스의 서브넷](working-with-cluster-subnet-groups.md) 섹션을 참조하세요. 자세한 내용은 **Amazon VPC 시작 안내서의 [Amazon VPC 시작하기](https://docs.aws.amazon.com/AmazonVPC/latest/GettingStartedGuide/GetStarted.html) 섹션을 참조하세요.
+  **선택적으로 접근성 옵션을 구성합니다.**

  Amazon Redshift에서 프로비저닝된 클러스터 및 서버리스 작업 그룹은 기본적으로 프라이빗입니다. 프로비저닝된 클러스터 또는 서버리스 작업 그룹을 퍼블릭 액세스가 가능하도록 구성하는 경우, Amazon Redshift는 외부 IP 주소로 탄력적 IP 주소를 사용합니다. 탄력적 IP 주소는 고정 IP 주소입니다. 이를 통해 클라이언트가 연결하는 데 사용하는 IP 주소에 영향을 주지 않고 기본 구성을 변경할 수 있습니다. 이러한 접근 방식은 재해 복구 같은 상황에 유용할 수 있습니다. 탄력적 IP 주소 생성 여부는 가용 영역 재배치 설정에 따라 다릅니다. 두 가지 옵션이 있습니다.

  1. 가용 영역 재배치가 켜져 있고 퍼블릭 액세스를 활성화하려는 경우 탄력적 IP 주소를 지정하지 않습니다. Amazon Redshift에서 관리하는 탄력적 IP 주소가 할당됩니다. AWS 계정과 연결되어 있습니다.

  1. 가용 영역 재배치가 꺼져 있고 퍼블릭 액세스를 활성화하려는 경우 Amazon Redshift 클러스터 또는 작업 그룹을 시작하기 전에 Amazon EC2에서 VPC에 대한 탄력적 IP 주소를 생성하도록 선택할 수 있습니다. IP 주소를 생성하지 않는 경우 Amazon Redshift가 VPC에 사용할 구성된 탄력적 IP 주소를 제공합니다. 이러한 탄력적 IP 주소는 Amazon Redshift에서 관리하며 AWS 계정과 연결되어 있지 않습니다.

  자세한 내용은 *Amazon EC2 사용 설명서*에서 [탄력적 IP 주소](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)를 참조하세요.

  경우에 따라 VPC에 VPC 내에서 프라이빗 IP 주소를 사용하여 연결하려는 퍼블릭 액세스가 가능한 클러스터가 있을 수 있습니다. 이 경우 다음 VPC 파라미터를 `true`로 설정하세요.
  +  `DNS resolution` 
  +  `DNS hostnames` 

  Amazon Redshift Serverless에서는 이러한 방식으로 연결할 수 없다는 점에 유의하세요.

  VPC에 퍼블릭 액세스가 가능한 프로비저닝된 클러스터가 있지만 VPC에서 해당 파라미터를 `true`로 설정하지 않았다고 가정합니다. 이러한 경우 VPC 내에서 생성된 연결은 리소스의 프라이빗 IP 주소 대신 탄력적 IP 주소로 확인됩니다. VPC 내부에서 공개 액세스가 가능한 클러스터에 연결할 때는 위의 파라미터를 `true`로 설정하여 프라이빗 IP 주소를 사용하는 것이 바람직합니다. 자세한 내용은*Amazon VPC 사용 설명서*의 [VPC에서 DNS 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)을 참조하세요.
**참고**  
VPC에 기존 퍼블릭 액세스가 가능한 프로비저닝된 클러스터가 있는 경우 크기를 조정할 때까지 VPC 내의 연결은 계속해서 탄력적 IP 주소를 사용하여 연결합니다. 이는 위의 파라미터가 설정된 경우에도 발생합니다. 새로 생성된 클러스터는 동일한 VPC 내에서 퍼블릭 액세스가 가능한 클러스터에 연결할 때 프라이빗 IP 주소를 사용하는 새로운 동작을 따릅니다.

   탄력적 IP 주소는 VPC 외부의 리소스에 액세스하기 위한 외부 IP 주소입니다. 프로비저닝된 클러스터의 경우, Amazon Redshift 콘솔의 **노드 IP 주소** 아래에 표시되는 **퍼블릭 IP 주소** 및 **프라이빗 IP 주소**와는 관련이 없습니다. 퍼블릭 및 프라이빗 클러스터 노드 IP 주소는 클러스터의 퍼블릭 액세스 여부와 상관없이 표시됩니다. 특정 상황에서만 원격 호스트에서 수신 규칙을 구성하는 데 사용됩니다. 이러한 상황은 SSH(Secure Shell) 연결을 사용하여 Amazon EC2 인스턴스 또는 다른 원격 호스트에서 데이터를 로드할 때 발생합니다. 자세한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*의 [1단계: 클러스터 퍼블릭 키 및 클러스터 노드 IP 주소 검색](https://docs.aws.amazon.com/redshift/latest/dg/loading-data-from-remote-hosts.html#load-from-host-steps-retrieve-key-and-ips)을 참조하세요.
**참고**  
노드 IP 주소는 Redshift Serverless 작업 그룹에 적용되지 않습니다.

   프로비저닝된 클러스터를 탄력적 IP 주소와 연결하는 옵션은 클러스터를 생성하거나 클러스터를 스냅샷에서 복원할 때 사용할 수 있습니다. 경우에 따라 클러스터를 탄력적 IP 주소와 연결하거나 클러스터와 연관된 탄력적 IP 주소를 변경해야 할 때가 있습니다. 클러스터를 생성한 후 탄력적 IP 주소를 연결하려면 먼저 공개적으로 액세스할 수 없도록 클러스터를 업데이트한 다음 공개적으로 액세스할 수 있도록 만들고 동일한 작업에서 탄력적 IP 주소를 추가합니다.

  프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹을 퍼블릭 액세스가 가능하도록 설정하고 탄력적 IP 주소를 할당하는 방법에 대한 자세한 내용은 [기본 또는 사용자 지정 보안 그룹 구성을 통한 퍼블릭 액세스 가능성](https://docs.aws.amazon.com/redshift/latest/mgmt/rs-security-group-public-private.html#rs-security-group-public-default) 섹션을 참조하세요.
+ **VPC 보안 그룹을 연결합니다.**

  VPC 보안 그룹을 사용하여 인바운드 액세스 권한을 부여합니다. 자세한 내용은 클라이언트와 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹 간의 인바운드 및 아웃바운드 규칙 구성에 대한 지침을 제공하는 [Amazon Redshift 클러스터에 대한 보안 그룹 통신 설정 구성](https://docs.aws.amazon.com/redshift/latest/mgmt/rs-security-group-public-private.html)을 참조하세요. 보안 그룹을 이해하는 데 도움이 되는 또 다른 리소스는 **Amazon VPC 사용 설명서의 [VPC 보안](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html)입니다.

**VPC에서 프로비저닝된 클러스터 또는 Serverless 작업 그룹의 스냅샷 복원**  
VPC의 클러스터 또는 Serverless 작업 그룹의 스냅샷은 VPC 외부가 아닌 VPC 내부에서만 복원할 수 있습니다. 또한 계정 내 동일한 VPC는 물론이고 다른 VPC에서도 복원할 수 있습니다. 스냅샷 복사에 대한 자세한 내용은 [Amazon Redshift 스냅샷 및 백업](working-with-snapshots.md) 섹션을 참조하세요

# VPC에서 Redshift 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹 생성
<a name="getting-started-cluster-in-vpc"></a>

다음은 Virtual Private Cloud(VPC)에서 클러스터 또는 작업 그룹을 배포할 수 있는 방법을 보여 주는 일반적인 단계입니다.

**VPC에서 클러스터 또는 Serverless 작업 그룹을 만들려면 다음을 수행하세요.**

1. VPC 구성 - 계정에 기본 VPC가 있는 경우 계정의 기본 VPC에서 또는 직접 만든 VPC에서 Redshift 리소스를 만들 수 있습니다. 자세한 내용은 [EC2를 사용하여 클러스터 생성](working-with-clusters.md#cluster-platforms) 섹션을 참조하세요. VPC를 만들려면 *Amazon VPC 사용 설명서*의 [VPC의 서브넷](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)을 참조하세요. 이때 VPC 식별자, 서브넷 및 서브넷의 가용 영역을 기록해 두세요. 클러스터 또는 작업 그룹을 시작할 때 이 정보가 필요합니다.
**참고**  
다음 단계에서 서브넷 그룹에 추가하려면 VPC에 서브넷이 하나 이상 정의되어 있어야 합니다. VPC에 서브넷 추가에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC에 서브넷 추가](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-subnets.html)를 참조하세요.

1. Amazon Redshift 클러스터 서브넷 그룹을 생성하여 Amazon Redshift 클러스터가 VPC에서 사용할 수 있는 서브넷을 지정합니다. Redshift Serverless의 경우 서브넷 그룹을 생성하지 않고 작업 그룹을 생성할 때 서브넷 모음을 할당합니다. 작업 그룹을 만들 때 **Serverless 대시보드**에서 이 작업을 수행할 수 있습니다.

   서브넷 그룹은 Amazon Redshift 콘솔을 사용하거나 프로그래밍 방식으로 생성할 수 있습니다. 자세한 내용은 [Redshift 리소스의 서브넷](working-with-cluster-subnet-groups.md) 섹션을 참조하세요.

1. 클러스터 또는 작업 그룹과 연결할 VPC 보안 그룹에서 인바운드 연결을 위한 액세스 권한을 부여합니다. 퍼블릭 인터넷에서 VPC 외부의 클라이언트가 클러스터에 연결하도록 할 수 있습니다. 이렇게 하려면 클러스터를 인바운드 액세스를 허용하는 VPC 보안 그룹과 연결합니다. 자세한 내용은 [Amazon Redshift 클러스터에 대한 보안 그룹 통신 설정 구성 또는 Amazon Redshift Serverless 작업 그룹](rs-security-group-public-private.md) 섹션을 참조하세요.

1. Redshift 프로비저닝된 콘솔 또는 작업 그룹 또는 Amazon Redshift Serverless 콘솔에서 클러스터를 생성하는 단계를 따르세요. **네트워크 및 보안**에서 설정한 **가상 프라이빗 클라우드(VPC)**, **클러스터 서브넷 그룹** 및 **VPC 보안 그룹**을 지정합니다.

   

   프로비저닝된 데이터 웨어하우스 클러스터를 생성하는 자세한 단계가 나와 있는 연습은 Amazon Redshift 시작 안내서에서 [Get started with Amazon Redshift provisioned data warehouses](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html) 섹션을 참조하세요**. Amazon Redshift Serverless 작업 그룹을 만드는 방법에 대한 자세한 내용은 Amazon Redshift 시작 안내서에서 [Amazon Redshift Serverless 데이터 웨어하우스 시작하기](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html) 섹션을 참조하세요**.

시작하기 단계에 따라 샘플 데이터를 업로드한 후 쿼리 예를 실행하면서 클러스터 또는 작업 그룹을 테스트할 수 있습니다. 자세한 내용은 *Amazon Redshift 시작 안내서*에서 [Amazon Redshift Serverless 데이터 웨어하우스 시작하기](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-launch-sample-cluster.html)를 참조하세요.

# VPC 보안 그룹
<a name="managing-vpc-security-groups"></a>

Amazon Redshift 클러스터 또는 Amazon Redshift Serverless 작업 그룹을 프로비저닝할 때는 기본적으로 아무도 액세스할 수 없도록 액세스가 제한됩니다. 다른 사용자에게 인바운드 액세스 권한을 부여하려면 해당 사용자를 보안 그룹과 연결합니다. EC2-VPC 플랫폼을 사용하는 경우 기존 Amazon VPC 보안 그룹을 사용하거나 새로운 보안 그룹을 정의할 수 있습니다. 그런 다음 다음과 같이 클러스터 또는 작업 그룹과 연결합니다. EC2-Classic 플랫폼을 사용할 때는 보안 그룹을 정의한 후 클러스터 또는 작업 그룹과 연결합니다. EC2-Classic 플랫폼에서 보안 그룹을 사용하는 방법에 대한 자세한 내용은 [Amazon Redshift 보안 그룹](security-network-isolation.md#working-with-security-groups) 섹션을 참조하세요.

VPC 보안 그룹은 클러스터 같은 VPC 인스턴스에 대한 액세스 권한을 제어하는 규칙 집합으로 구성됩니다. 각 규칙 집합은 IP 주소의 범위 또는 기타 VPC 보안 그룹을 기준으로 액세스를 설정합니다. VPC 보안 그룹을 클러스터 또는 작업 그룹과 연결하면 VPC 보안 그룹에 정의된 규칙에 따라 액세스가 제어됩니다.

EC2-VPC 플랫폼에 프로비저닝하는 클러스터는 각각 1개 이상의 Amazon VPC 보안 그룹이 연결되어 있습니다. Amazon VPC는 VPC를 생성할 때 자동으로 생성되는 기본값(default)이라는 VPC 보안 그룹을 제공합니다. Redshift 리소스를 사용할 때 다른 VPC 보안 그룹을 지정하지 않으면 VPC에서 실행하는 각 클러스터가 기본 VPC 보안 그룹에 자동으로 연결됩니다. VPC 보안 그룹은 클러스터 생성 시 클러스터와 연결하거나, 혹은 나중에 클러스터를 수정하면서 VPC 보안 그룹을 연결할 수도 있습니다.

다음 스크린샷은 기본 VPC 보안 그룹에 대한 기본 규칙을 보여줍니다.

![\[이 테이블에는 보안 그룹에 대한 인바운드 및 아웃바운드 규칙이 나와 있습니다. 각 규칙에는 소스 또는 대상, 프로토콜, 포트 범위 및 설명이 있습니다.\]](http://docs.aws.amazon.com/ko_kr/redshift/latest/mgmt/images/security_groups.png)


필요에 따라 기본 VPC 보안 그룹에 대한 규칙을 변경할 수 있습니다.

기본 VPC 보안 그룹으로 충분한 경우 더 생성할 필요는 없습니다. 그러나 선택적으로 추가 VPC 보안 그룹을 생성하여 인바운드 액세스를 더 잘 관리할 수 있습니다. 예를 들어 Amazon Redshift 클러스터 또는 Serverless 작업 그룹에서 서비스를 실행한다고 가정했을 때 고객에게 제공할 수 있는 서비스 수준이 몇 가지 있습니다. 모든 서비스 수준에서 동일한 액세스 권한을 부여하지 않으려는 경우 각 서비스 수준에 대해 하나씩 개별 VPC 보안 그룹을 생성할 수 있습니다. 그런 다음 각 VPC 보안 그룹을 클러스터 또는 작업 그룹과 연결하면 됩니다.

VPC에 대해 최대 100개의 VPC 보안 그룹을 만들고 VPC 보안 그룹을 여러 클러스터 및 작업 그룹과 연결할 수 있습니다. 그러나 클러스터 또는 작업 그룹에 연결할 수 있는 VPC 보안 그룹의 수에는 제한이 있습니다.

Amazon Redshift는 변경 사항을 VPC 보안 그룹에 즉시 적용합니다. 따라서 VPC 보안 그룹을 클러스터와 연결하면 업데이트되는 VPC 보안 그룹의 인바운드 클러스터 액세스 규칙이 바로 적용됩니다.

[https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)에서 VPC 보안 그룹을 생성하고 수정할 수 있습니다. 또한 AWS CLI, Amazon EC2 CLI, 및 AWS Tools for Windows PowerShell을 사용하여 VPC 보안 그룹을 프로그래밍 방식으로 관리할 수 있습니다. 보안 그룹 작업에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC의 보안 그룹](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)을 참조하세요.

# Amazon Redshift 클러스터에 대한 보안 그룹 통신 설정 구성 또는 Amazon Redshift Serverless 작업 그룹
<a name="rs-security-group-public-private"></a>

이 주제는 네트워크 트래픽을 적절하게 라우팅하고 수신하도록 보안 그룹을 구성하는 데 도움이 됩니다. 다음은 몇 가지 일반적인 사용 사례입니다.
+ Amazon Redshift 클러스터 또는 Amazon Redshift Serverless 작업 그룹에 대해 퍼블릭 액세스를 활성화했지만 트래픽이 수신되지 않는 경우. 이런 경우 인터넷에서 트래픽이 클러스터에 도달할 수 있도록 인바운드 규칙을 구성해야 합니다.
+ 클러스터 또는 작업 그룹에 공개적으로 액세스할 수 없으며 인바운드 트래픽을 허용하기 위해 Redshift의 사전 구성된 기본 VPC 보안 그룹을 사용하는 경우. 하지만 기본값 이외의 보안 그룹을 사용해야 하는 요구 사항이 있으며 이 사용자 지정 보안 그룹은 인바운드 트래픽을 허용하지 않는 경우. 통신을 허용하도록 구성해야 합니다.

 다음 섹션에서는 각 사용 사례에 대한 올바른 응답을 선택하고 요구 사항에 따라 네트워크 트래픽을 구성하는 방법을 보여 줍니다. 선택적으로 이 단계를 사용하여 다른 프라이빗 보안 그룹으로부터의 통신을 설정할 수 있습니다.



**참고**  
대부분의 경우 네트워크 트래픽 설정은 Amazon Redshift에서 자동으로 구성되지 않습니다. 이는 트래픽 소스가 인터넷인지 프라이빗 보안 그룹인지에 따라 세부적인 수준에서 달라질 수 있고 보안 요구 사항이 다양하기 때문입니다.

## 기본 또는 사용자 지정 보안 그룹 구성을 통한 퍼블릭 액세스 가능성
<a name="rs-security-group-public-default"></a>

클러스터 또는 작업 그룹을 만들고 있거나 이미 있는 경우 다음 구성 단계를 수행하여 퍼블릭 액세스를 허용하세요. 이는 기본 보안 그룹을 선택하는 경우와 사용자 지정 보안 그룹을 선택하는 경우 모두에 적용됩니다.

1. 네트워크 설정을 찾는 방법:
   + 프로비저닝된 Amazon Redshift 클러스터의 경우 **속성** 탭을 선택한 다음 **네트워크 및 보안 설정**에서 클러스터의 VPC를 선택합니다.
   + Amazon Redshift Serverless 작업 그룹의 경우 **작업 그룹 구성**을 선택합니다. 목록에서 작업 그룹을 선택합니다. **데이터 액세스**의 **네트워크 및 보안** 패널에서 **편집**을 선택합니다.

1. VPC의 인터넷 게이트웨이 및 라우팅 테이블을 구성합니다. VPC를 이름으로 선택하여 구성을 시작합니다. 그러면 VPC 대시보드가 열립니다. 인터넷에서 퍼블릭 액세스가 가능한 클러스터 또는 작업 그룹에 연결하려면 인터넷 게이트웨이를 라우팅 테이블에 연결해야 합니다. VPC 대시보드에서 **라우팅 테이블**을 선택하여 이를 구성할 수 있습니다. 인터넷 게이트웨이의 대상이 소스 0.0.0.0/0 또는 퍼블릭 IP CIDR로 설정되어 있는지 확인합니다. 라우팅 테이블은 클러스터가 상주하는 VPC와 연결되어야 합니다. 여기에 설명된 것과 같이 VPC의 인터넷 액세스 설정에 대한 자세한 내용은 Amazon VPC 설명서에서 [인터넷 액세스 활성화](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#vpc-igw-internet-access)를 참조하세요. 라우팅 테이블 구성에 대한 자세한 내용은 [라우팅 테이블 구성](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)을 참조하세요.

1. 인터넷 게이트웨이 및 라우팅 테이블을 구성한 후 Redshift의 네트워크 설정으로 돌아가세요. 보안 그룹을 선택한 다음 **인바운드 규칙**을 선택하여 인바운드 액세스를 엽니다. **인바운드 규칙 편집**을 선택합니다.

1. 요구 사항에 따라 인바운드 규칙의 **프로토콜** 및 **포트**를 선택하여 클라이언트의 트래픽을 허용합니다. RA3 클러스터의 경우 5431\$15455 또는 8191\$18215 범위 내의 포트를 선택하세요. 작업을 마쳤으면 각 규칙을 저장합니다.

1. **퍼블릭 액세스 가능** 설정을 편집하여 활성화합니다. 클러스터 또는 작업 그룹의 **작업** 메뉴에서 이 작업을 수행할 수 있습니다.

퍼블릭 액세스 가능 설정을 켜면 Redshift가 탄력적 IP 주소를 생성합니다. 이는 AWS 계정과 연결되는 고정 IP 주소입니다. VPC 외부의 클라이언트는 이를 사용하여 연결할 수 있습니다.

보안 그룹 구성에 대한 자세한 내용은 [Amazon Redshift 보안 그룹](security-network-isolation.md#working-with-security-groups)을 참조하세요.

클라이언트와 연결하여 규칙을 테스트할 수 있습니다. Amazon Redshift Serverless에 연결하는 경우 다음 작업을 수행하세요. 네트워크 구성을 완료한 후 [Amazon Redshift RSQL](https://docs.aws.amazon.com/redshift/latest/mgmt/rsql-query-tool.html)과 같은 클라이언트 도구를 사용하여 연결합니다. Amazon Redshift Serverless 도메인을 호스트로 사용하여 다음을 입력합니다.



```
rsql -h workgroup-name.account-id.region.amazonaws.com -U admin -d dev -p 5439
```

## 기본 또는 사용자 지정 보안 그룹 구성을 통한 프라이빗 액세스 가능성
<a name="rs-security-group-private"></a>

 인터넷을 통해 클러스터 또는 작업 그룹과 통신하지 않는 경우 **프라이빗 액세스가 가능하다고 합니다. 보안 그룹을 만들 때 기본 보안 그룹을 선택한 경우 보안 그룹에는 다음과 같은 기본 통신 규칙이 포함됩니다.
+ 이 보안 그룹에 할당된 모든 리소스로부터의 인바운드 트래픽을 허용하는 인바운드 규칙
+ 모든 아웃바운드 트래픽을 허용하는 아웃바운드 규칙. 이 규칙의 대상은 0.0.0.0/0입니다. Classless Inter-Domain Routing(CIDR) 표기법에서는 가능한 모든 IP 주소를 나타냅니다.

클러스터나 작업 그룹의 보안 그룹을 선택하여 콘솔에서 규칙을 볼 수 있습니다.

클러스터나 작업 그룹 및 클라이언트가 모두 기본 보안 그룹을 사용하는 경우 네트워크 트래픽을 허용하는 데 추가 구성이 필요하지 않습니다. 그러나 Redshift 또는 클라이언트의 기본 보안 그룹에서 규칙을 삭제하거나 변경하면 추가 구성이 필요해집니다. 이 경우 인바운드 및 아웃바운드 통신을 허용하도록 규칙을 구성해야 합니다. 다음은 일반적인 보안 그룹 구성입니다.
+ 클라이언트 Amazon EC2 인스턴스의 경우:
  + 클라이언트의 IP 주소를 허용하는 인바운드 규칙
  + Redshift 사용을 위해 제공된 모든 서브넷의 IP 주소 범위(CIDR 블록)를 허용하는 아웃바운드 규칙. 아니면 모든 IP 주소 범위인 0.0.0.0/0을 지정해도 됩니다.
+ Redshift 클러스터 또는 작업 그룹의 경우:
  + 클라이언트 보안 그룹을 허용하는 인바운드 규칙
  + 0.0.0.0/0으로의 트래픽을 허용하는 아웃바운드 규칙. 일반적으로 이 아웃바운드 규칙은 모든 아웃바운드 트래픽을 허용합니다. 선택적으로 아웃바운드 규칙을 추가하여 클라이언트 보안 그룹에 대한 트래픽을 허용할 수 있습니다. 이 경우에는 각 요청에 대한 응답 트래픽이 인스턴스에 도달하도록 허용되므로 아웃바운드 규칙이 항상 필요한 것은 아닙니다. 요청 및 응답 동작에 대한 자세한 내용은 **Amazon VPC 사용 설명서의 [보안 그룹](https://docs.aws.amazon.com/vpc/latest/userguide/security-groups.html)을 참조하세요.

Redshift 사용을 위해 지정된 서브넷 또는 보안 그룹의 구성을 변경하는 경우 통신을 계속 유지하기 위해 트래픽 규칙을 적절히 변경해야 할 수 있습니다. 인바운드 및 아웃바운드 규칙 생성에 대한 자세한 내용은 **Amazon VPC 사용 설명서의 [VPC CIDR 블록](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-cidr-blocks.html)을 참조하세요. 클라이언트에서 Amazon Redshift에 연결하는 방법에 대한 자세한 내용은 [Amazon Redshift에서 연결 구성](https://docs.aws.amazon.com/redshift/latest/mgmt/configuring-connections.html)을 참조하세요.

# Redshift 리소스의 서브넷
<a name="working-with-cluster-subnet-groups"></a>

Virtual Private Cloud(VPC)에서 프로비저닝된 클러스터를 만드는 경우 서브넷 그룹을 만듭니다. 각 VPC에는 보안 및 운영 요구 사항에 따라 리소스를 그룹화할 수 있는 VPC 내의 IP 주소 하위 집합인 서브넷이 하나 이상 있을 수 있습니다. 프로비저닝된 클러스터를 만들 때 서브넷 그룹을 생성하여 VPC에 서브넷 세트를 지정합니다. **프로비저닝된 클러스터 대시보드**의 **구성**에서 클러스터 서브넷 그룹을 찾아 편집할 수 있습니다. 프로비저닝된 클러스터에 대한 초기 구성 중에 서브넷 그룹을 지정하면 Amazon Redshift가 해당 서브넷 중 하나에 클러스터를 생성합니다. VPC 서비스에 대한 자세한 내용은 [Amazon VPC](https://aws.amazon.com/vpc/) 제품 세부 정보 페이지를 참조하세요.

Amazon Redshift Serverless 작업 그룹의 서브넷 구성은 프로비저닝된 클러스터와 유사하지만 단계가 약간 다릅니다. Serverless 작업 그룹을 만들고 설정할 때 작업 그룹의 서브넷을 지정하면 해당 서브넷이 목록에 추가됩니다. **Serverless 대시보드**에서 작업 그룹 속성을 선택하면 기존 작업 그룹의 서브넷을 볼 수 있습니다. **네트워크 및 보안** 속성에서 사용할 수 있습니다. 자세한 내용은 [네임스페이스를 사용하여 작업 그룹 생성](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-console-workgroups-create-workgroup-wizard.html)을 참조하세요.

VPC 생성에 대한 자세한 내용은 [Amazon VPC 사용 설명서](https://docs.aws.amazon.com/vpc/latest/userguide/)를 참조하세요.

프로비저닝된 클러스터의 서브넷 그룹을 만들거나 Serverless 작업 그룹의 서브넷을 선택한 후에는 이전에 추가한 서브넷을 제거하거나 더 추가할 수 있습니다. 이러한 변경 작업은 콘솔을 사용하거나 API 작업을 사용하여 수행할 수 있습니다. 프로비저닝된 클러스터의 API 작업에 대한 자세한 내용은 [ModifyClusterSubnetGroup](https://docs.aws.amazon.com/redshift/latest/APIReference/API_ModifyClusterSubnetGroup.html)을 참조하세요. Serverless 작업 그룹에 대한 API 작업은 [UpdateWorkgroup](https://docs.aws.amazon.com/redshift-serverless/latest/APIReference/API_UpdateWorkgroup.html)을 참조하세요.



서브넷 그룹의 서브넷 중 하나에 클러스터를 프로비저닝할 수 있습니다. 클러스터 서브넷 그룹을 사용하면 Virtual Private Cloud(VPC)에서 서브넷 세트를 지정할 수 있습니다.

**주의**  
클래식 크기 조정, 일시 중지 및 다시 시작, 다중 AZ 장애 조치 또는 기타 이벤트와 같은 클러스터 유지 관리 작업 중에 프로비저닝된 컴퓨팅 노드가 Amazon Redshift 클러스터 서브넷 그룹 내의 다른 서브넷으로 이동될 수 있습니다. 서브넷 그룹의 모든 서브넷에는 동일한 네트워크 ACL 인바운드 및 아웃바운드 규칙과 동일한 라우팅 테이블 경로가 있어야 합니다. 이렇게 하면 이러한 유지 관리 이벤트 후에도 Amazon Redshift 컴퓨팅 리소스가 최적으로 통신하고 작동할 수 있도록 연결이 보장됩니다. 네트워크 ACL 또는 라우팅 테이블 구성이 다른 서브넷을 동일한 Amazon Redshift 클러스터 서브넷 그룹에 추가하지 마세요.  
서브넷 구성에 대한 자세한 내용은 Amazon VPC 사용 설명서에서 [VPC의 서브넷](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)을 참조하세요. Redshift 다중 AZ 배포에 대한 자세한 내용은 Redshift 관리 가이드에서 [다중 AZ 배포](managing-cluster-multi-az.md)을 참조하세요. [클러스터 크기 조정](resizing-cluster.md)도 Redshift 관리 가이드에서 다루고 있습니다.

# 클러스터 서브넷 그룹 생성
<a name="create-cluster-subnet-group"></a>

다음 절차에서는 프로비저닝된 클러스터를 위한 서브넷 그룹을 생성하는 방법을 안내합니다. VPC에서 클러스터를 프로비저닝하려면 적어도 하나의 클러스터 서브넷 그룹이 정의되어야 합니다.

**프로비저닝된 클러스터에 대한 클러스터 서브넷 그룹을 생성하려면 다음을 수행하세요.**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **구성(Configurations)**을 선택한 다음 **서브넷 그룹(Subnet groups)**을 선택합니다. 서브넷 그룹 목록이 표시됩니다.

1. **클러스터 서브넷 그룹 생성**을 선택하여 생성 페이지를 표시합니다.

1. 추가할 서브넷을 포함하여 서브넷 그룹에 대한 정보를 입력합니다.

1. **클러스터 서브넷 그룹 생성**을 선택하여 선택한 서브넷이 포함된 그룹을 생성합니다.

**참고**  
서브넷 컬렉션으로 Amazon Redshift Serverless 작업 그룹을 만드는 방법에 대한 자세한 내용은 Amazon VPC 사용 설명서에서 [네임스페이스가 있는 작업 그룹 생성](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-console-workgroups-create-workgroup-wizard.html) 또는 [서브넷 생성](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html)을 참조하세요.

# 클러스터 서브넷 그룹 수정
<a name="modify-cluster-subnet-group"></a>

서브넷 그룹을 생성한 후 Amazon Redshift 콘솔에서 해당 정보를 수정할 수 있습니다. 다음 절차는 프로비저닝된 클러스터의 서브넷 그룹을 수정하는 방법을 안내합니다.

**프로비저닝된 클러스터에 대한 클러스터 서브넷 그룹을 수정하려면 다음을 수행하세요.**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **구성(Configurations)**을 선택한 다음 **서브넷 그룹(Subnet groups)**을 선택합니다. 서브넷 그룹 목록이 표시됩니다.

1. 수정할 서브넷 그룹을 선택합니다.

1. **작업**에서 **수정**을 선택하여 서브넷 그룹의 세부 정보를 표시합니다.

1. 서브넷 그룹에 대한 정보를 업데이트합니다.

1. **저장**을 선택하여 그룹을 수정합니다.

경우에 따라 서브넷을 변경하거나 제거하려면 추가 단계가 필요합니다. 예를 들어, 이 AWS 지식 센터 문서인 [프로비전된 Amazon Redshift 클러스터를 다른 서브넷으로 이동하려면 어떻게 해야 하나요?](https://repost.aws//knowledge-center/redshift-move-subnet)에서는 클러스터 이동을 다루는 사용 사례를 설명합니다.

# 프로비저닝된 클러스터에 대한 클러스터 서브넷 그룹을 삭제하려면 다음을 수행하세요.
<a name="delete-cluster-subnet-group"></a>

클러스터 서브넷 그룹 사용을 마치면 그룹을 삭제하여 정리해야 합니다. 다음 절차에서는 프로비저닝된 클러스터의 서브넷 그룹을 삭제하는 단계를 안내합니다.

**클러스터 서브넷 그룹을 삭제하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **구성(Configurations)**을 선택한 다음 **서브넷 그룹(Subnet groups)**을 선택합니다. 서브넷 그룹 목록이 표시됩니다.

1. 삭제할 서브넷 그룹을 선택하고 **삭제**를 선택합니다.

**참고**  
클러스터가 사용 중인 클러스터 서브넷 그룹은 삭제할 수 없습니다.

# VPC 및 서브넷에 대한 퍼블릭 액세스 차단
<a name="block-public-access"></a>

VPC 퍼블릭 액세스 차단(BPA)은 중앙 집중식 보안 기능으로, 인터넷 게이트웨이 및 이그레스 전용 인터넷 게이트웨이를 통한 AWS 리전 소유 VPC 및 서브넷의 리소스의 인터넷 송신 또는 수신을 차단할 수 있습니다. AWS 계정에서 이 기능을 켜면 기본적으로 Amazon Redshift가 사용하는 VPC 또는 서브넷에 영향을 미칩니다. 즉, Amazon Redshift는 퍼블릭에 대한 모든 작업을 차단합니다.

VPC BPA가 켜져 있고 퍼블릭 인터넷을 통해 Amazon Redshift API를 사용하려는 경우 VPC 또는 서브넷에 Amazon EC2 API를 사용하기 위한 제외를 추가해야 합니다. 제외 항목에는 다음 모드 중 하나를 사용할 수 있습니다.
+ **양방향**: 제외된 VPC 및 서브넷을 오가는 모든 인터넷 트래픽이 허용됩니다.
+ **송신 전용**: 제외된 VPC 및 서브넷의 아웃바운드 인터넷 트래픽만 허용됩니다. 제외된 VPC 및 서브넷으로의 인바운드 인터넷 트래픽은 차단됩니다. 이는 BPA가 양방향으로 설정된 경우에만 적용됩니다.

VPC BPA 제외는 전체 VPC 또는 VPC 내의 특정 서브넷을 퍼블릭 액세스 가능으로 지정합니다. 해당 경계 내의 네트워크 인터페이스는 해당 인터페이스에 퍼블릭 인터넷에 대한 라우팅 및 액세스 권한이 있는지와 관련하여 보안 그룹, 라우팅 테이블 및 네트워크 ACL과 같은 일반 VPC 네트워킹 제어를 준수합니다. 제외 추가에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [Create and delete exclusions](https://docs.aws.amazon.com//vpc/latest/userguide/security-vpc-bpa.html#security-vpc-bpa-exclusions) 섹션을 참조하세요.

**프로비저닝된 클러스터**

서브넷 그룹은 동일한 VPC의 서브넷 조합입니다. 프로비저닝된 클러스터의 서브넷 그룹이 VPC BPA가 켜져 있는 계정에 있는 경우 다음 기능이 차단됩니다.
+ 퍼블릭 클러스터 만들기
+ 퍼블릭 클러스터 복원
+ 프라이빗 클러스터를 퍼블릭으로 수정
+ 그룹 내에 퍼블릭 클러스터가 하나 이상 있는 경우 VPC BPA가 켜져 있는 서브넷을 서브넷 그룹에 추가

 **Serverless 클러스터**

Redshift Serverless는 서브넷 그룹을 사용하지 않습니다. 대신 각 클러스터에는 자체 서브넷 세트가 있습니다. 작업 그룹이 VPC BPA가 켜져 있는 계정에 있는 경우 다음 기능이 차단됩니다.
+ 퍼블릭 액세스 작업 그룹 만들기
+ 프라이빗 작업 그룹을 퍼블릭으로 수정
+ 작업 그룹이 퍼블릭일 때 VPC BPA가 켜져 있는 서브넷을 작업 그룹에 추가

# Redshift Enhanced VPC Routing으로 네트워크 트래픽 제어
<a name="enhanced-vpc-routing"></a>

Amazon Redshift Enhanced VPC Routing을 사용하면 Amazon Redshift는 클러스터와 데이터 리포지토리 사이의 [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) 및 [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) 트래픽이 모두 Amazon VPC 서비스를 기반으로 하는 Virtual Private Cloud(VPC)를 통과하도록 강제합니다. Enhanced VPC Routing을 사용하면 *Amazon VPC 사용 설명서*에 설명된 대로 [VPC 보안 그룹](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html), [네트워크 액세스 제어 목록(ACL)](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ACLs.html), [VPC 엔드포인트](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html), [VPC 엔드포인트 정책](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html#vpc-endpoints-policies-s3), [인터넷 게이트웨이](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html), [도메인 이름 시스템(DNS)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) 서버 등의 표준 VPC 기능을 사용할 수 있습니다. 이러한 기능을 사용하여 Amazon Redshift 클러스터와 다른 리소스 간의 데이터 흐름을 제어할 수 있습니다. Enhanced VPC Routing 기능을 사용하여 트래픽이 VPC를 통과하도록 라우팅하면 [VPC 흐름 로그](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)를 사용하여 COPY 및 UNLOAD 트래픽을 모니터링할 수도 있습니다.

 Amazon Redshift 클러스터 및 Amazon Redshift Serverless 작업 그룹은 모두 향상된 VPC 라우팅을 지원합니다. Redshift Spectrum에서 향상된 VPC 라우팅을 사용할 수 없습니다. 자세한 내용은 [Redshift Spectrum으로 Amazon S3 버킷에 액세스](spectrum-enhanced-vpc.md) 섹션을 참조하세요.

향상된 VPC 라우팅 기능을 켜지 않은 경우 Amazon Redshift는 AWS 네트워크 내의 다른 서비스로 전송되는 트래픽을 포함하여 인터넷을 통해 트래픽을 라우팅합니다.

**중요**  
Enhanced VPC Routing은 Amazon Redshift가 다른 리소스에 액세스하는 방식에 영향을 미치기 때문에, VPC를 올바르게 구성하지 않으면 COPY 및 UNLOAD 명령이 실패할 수 있습니다. 따라서 다음 설명과 같이 클러스터의 VPC와 사용자의 데이터 리소스 사이의 네트워크 경로를 명확하게 생성해야 합니다.

향상된 VPC 라우팅 기능을 켠 클러스터에서 COPY 또는 UNLOAD 명령을 실행하면 VPC는 사용 가능한 *가장 엄격한* 또는 가장 특정한 네트워크 경로를 사용하여 트래픽을 지정된 리소스로 라우팅합니다.

예를 들어 VPC에서 다음과 같은 경로를 구성할 수 있습니다.
+ ** VPC 엔드포인트 **- 트래픽이 클러스터 또는 작업 그룹과 동일한 AWS 리전에 속한 Amazon S3 버킷으로 전송되는 경우에는 VPC 엔드포인트를 생성하여 트래픽을 버킷으로 직접 보낼 수 있습니다. VPC 엔드포인트를 사용하면 엔드포인트 정책을 연결하여 Amazon S3에 대한 액세스를 관리할 수 있습니다. Redshift에서 엔드포인트 사용에 대한 자세한 내용은 [VPC 엔드포인트를 사용하여 데이터베이스 트래픽 제어](enhanced-vpc-working-with-endpoints.md) 섹션을 참조하세요. Lake Formation 를 사용하는 경우, VPC와 AWS Lake Formation 간에 프라이빗 연결을 설정하는 방법에 대한 자세한 정보를 [AWS Lake Formation 및 인터페이스 VPC 엔드포인트(AWS PrivateLink)](https://docs.aws.amazon.com/lake-formation/latest/dg/privatelink.html)에서 확인할 수 있습니다.
**참고**  
Amazon S3 VPC 게이트웨이 엔드포인트와 함께 Redshift VPC 엔드포인트를 사용하는 경우 Redshift에서 향상된 VPC 라우팅을 활성화해야 합니다. 자세한 내용은 [Amazon S3용 게이트웨이 엔드포인트](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html)를 참조하세요.
+ **NAT 게이트웨이** - 다른 AWS 리전의 Amazon S3 버킷에 연결하고 AWS 네트워크 내 다른 서비스에 연결할 수 있습니다. 또한 AWS 네트워크 외부에 있는 호스트 인스턴스에도 액세스할 수 있습니다. 이렇게 하려면 *Amazon VPC 사용 설명서*의 설명에 따라 [네트워크 주소 변환(NAT) 게이트웨이](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)를 구성합니다.
+ **인터넷 게이트웨이** – VPC 외부의 AWS 서비스에 연결하기 위해 *Amazon VPC 사용 설명서*의 설명에 따라 [인터넷 게이트웨이](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)를 VPC 서브넷에 연결할 수 있습니다. 인터넷 게이트웨이를 사용하려면 클러스터 또는 작업 그룹이 다른 서비스에서 통신할 수 있도록 공개적으로 액세스할 수 있어야 합니다.

자세한 내용은 Amazon VPC 사용 설명서의 [VPC 엔드포인트](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 섹션을 참조하세요.

Enhanced VPC Routing 사용에 대한 추가 요금은 없습니다. 특정 작업에 대해 데이터 전송 요금이 추가로 발생할 수 있습니다. 여기에는 다른 AWS 리전의 Amazon S3로 UNLOAD 등의 작업이 포함됩니다. 퍼블릭 IP 주소를 사용하여 Amazon EMR 또는 SSH(Secure Shell)에서 COPY합니다. 요금에 대한 자세한 정보는 [Amazon EC2 요금](https://aws.amazon.com/ec2/pricing/)을 참조하세요.

**Topics**
+ [VPC 엔드포인트를 사용하여 데이터베이스 트래픽 제어](enhanced-vpc-working-with-endpoints.md)
+ [향상된 VPC 라우팅 켜기](enhanced-vpc-enabling-cluster.md)
+ [Redshift Spectrum으로 Amazon S3 버킷에 액세스](spectrum-enhanced-vpc.md)

# VPC 엔드포인트를 사용하여 데이터베이스 트래픽 제어
<a name="enhanced-vpc-working-with-endpoints"></a>

VPC 엔드포인트를 사용하여 VPC의 Amazon Redshift 클러스터 또는 Serverless 작업 그룹과 Amazon Simple Storage Service(Amazon S3) 간에 관리형 연결을 생성할 수 있습니다. 이때는 Amazon S3의 데이터베이스와 데이터 간 COPY 및 UNLOAD 트래픽이 Amazon VPC를 벗어나지 않습니다. 따라서 엔드포인트 정책을 엔드포인트에 연결하여 데이터에 대한 액세스를 더욱 밀접하게 관리할 수 있습니다. 예를 들어 계정 내에서 특정 Amazon S3 버킷에만 데이터를 언로드하도록 허용하는 정책을 VPC 엔드포인트에 추가할 수 있습니다.

VPC 엔드포인트를 사용하려면 데이터 웨어하우스가 있는 VPC에 대한 VPC 엔드포인트를 생성한 다음 향상된 VPC 라우팅 기능을 켭니다. 클러스터 또는 작업 그룹을 생성할 때 향상된 VPC 라우팅 기능을 켜거나 향상된 VPC 라우팅을 사용하도록 VPC의 클러스터 또는 작업 그룹을 수정할 수 있습니다.

VPC 엔드포인트는 라우팅 테이블을 사용하여 VPC의 클러스터 또는 작업 그룹과 Amazon S3 사이의 트래픽 라우팅을 제어합니다. 지정된 라우팅 테이블과 연결된 서브넷의 클러스터 및 작업 그룹은 모두 자동으로 해당 엔드포인트를 사용하여 서비스에 액세스합니다.

VPC는 트래픽과 가장 명확하게, 즉 가장 한정적으로 일치하는 라우팅을 사용하여 트래픽의 라우팅 방식을 결정합니다. 예를 들어 라우팅 테이블에 인터넷 게이트웨이 및 Amazon S3 엔드포인트를 가리키는 모든 인터넷 트래픽(0.0.0.0/0)에 대한 라우팅이 있다고 가정해 보겠습니다. 이러한 경우 엔드포인트 라우팅은 Amazon S3로 전달되는 모든 트래픽에 우선합니다. 이는 Amazon S3 서비스에 대한 IP 주소 범위가 0.0.0.0/0보다 더 구체적이기 때문입니다. 이러한 예에서는 다른 AWS 리전의 Amazon S3 버킷으로 향하는 트래픽을 포함하여 그 밖의 다른 인터넷 트래픽 모두 인터넷 게이트웨이로 이동합니다.

엔드포인트 생성에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC 엔드포인트 생성](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html)을 참조하세요.

엔드포인트 정책은 클러스터 또는 작업 그룹에서 데이터 파일이 저장되어 있는 Amazon S3 버킷에 액세스하는 것을 제어할 때 사용됩니다. 더욱 명확하게 제어하려면 옵션으로 사용자 지정 엔드포인트 정책을 연결할 수 있습니다. 자세한 내용은 *AWS PrivateLink 안내서*의 [엔드포인트 정책을 사용하여 서비스에 대한 액세스 제어](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html)를 참조하세요.

**참고**  
 AWS Database Migration Service(AWS DMS)는 관계형 데이터베이스, 데이터 웨어하우스 및 기타 유형의 데이터 스토어를 마이그레이션할 수 있는 클라우드 서비스입니다. VPC가 활성화된 Amazon Redshift 데이터베이스를 비롯한 모든 AWS 소스 또는 대상 데이터베이스에 연결할 수 있지만 일부 구성 제한이 있습니다. Amazon VPC 엔드포인트를 지원하므로 AWS DMS에서 복제 태스크에 대한 엔드 투 엔드 네트워크 보안을 더 쉽게 유지할 수 있습니다. AWS DMS와 함께 Redshift를 사용하는 방법에 대한 자세한 내용은 **AWS Database Migration Service 사용 설명서의 [VPC 엔드포인트를 AWS DMS 소스 및 대상 엔드포인트로 구성](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_VPC_Endpoints.html)을 참조하세요.

엔드포인트 사용에 따르는 추가 요금은 없습니다. 데이터 전송 및 리소스 사용량에 대한 표준 요금이 그대로 적용됩니다. 요금에 대한 자세한 정보는 [Amazon EC2 요금](https://aws.amazon.com/redshift/pricing/#Data_Transfer)을 참조하세요.

# 향상된 VPC 라우팅 켜기
<a name="enhanced-vpc-enabling-cluster"></a>

클러스터를 생성 또는 수정할 때, 그리고 Amazon Redshift Serverless 작업 그룹을 생성 또는 수정할 때 향상된 VPC 라우팅 기능을 켤 수 있습니다.

향상된 VPC 라우팅을 사용하려면 클러스터 또는 Serverless 작업 그룹이 다음 요구 사항 및 제약 조건을 충족해야 합니다.
+ 클러스터가 VPC에 속해야 합니다.

  Amazon S3 VPC 엔드포인트를 연결할 경우 VPC 엔드포인트는 동일한 AWS 리전에 있는 Amazon S3 버킷에 액세스하는 데만 사용됩니다. VPC 엔드포인트를 사용하지 않고 다른 AWS 리전에 속한 버킷에 액세스하거나, 혹은 다른 AWS 서비스에 액세스하려면 클러스터 또는 Serverless 작업 그룹을 공개 액세스로 변경하거나 [네트워크 주소 변환(NAT) 게이트웨이](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)를 사용합니다. 자세한 내용은 [VPC에서 Redshift 프로비저닝된 클러스터 또는 Amazon Redshift Serverless 작업 그룹 생성](getting-started-cluster-in-vpc.md) 섹션을 참조하세요.
+ VPC에서 DNS(Domain Name Service) 확인을 활성화해야 합니다. 또한 자체 DNS 서버를 사용하는 경우 Amazon S3에 대한 DNS 요청이 AWS에서 유지 관리하는 IP 주소로 올바르게 확인되어야 합니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC에서 DNS 사용](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) 을 참조하세요.
+ DNS 호스트 이름이 VPC에서 활성화되어야 합니다. 기본적으로 DNS 호스트 이름을 사용하도록 되어 있습니다.
+ VPC 엔드포인트 정책이 Amazon Redshift에서 COPY, UNLOAD 또는 CREATE LIBRARY 호출 시 사용되는 모든 Amazon S3 버킷에 대한 액세스를 허용해야 합니다. 여기에는 관련된 모든 매니페스트 파일에 대한 액세스도 포함됩니다. 원격 호스트에서 호출하는 COPY의 경우에는 엔드포인트 정책이 각 호스트 컴퓨터에 대한 액세스를 허용해야 합니다. 자세한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*의 [COPY, UNLOAD 및 CREATE LIBRARY 작업을 위한 IAM 권한](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-access-permissions.html#copy-usage_notes-iam-permissions) 섹션을 참조하세요.

**프로비저닝된 클러스터에 대해 Enhanced VPC Routing을 설정하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **Provisioned clusters dashboard**(프로비저닝된 클러스터 대시보드)를 선택한 다음 **Create cluster**(클러스터 생성)를 선택하고 **Cluster details**(클러스터 세부 정보) 속성을 입력합니다.

1. **추가 구성** 섹션을 표시하려면 **기본값 사용**을 끕니다.

1. **Network and security**(네트워크 및 보안) 섹션으로 이동합니다.

1. **향상된 VPC 라우팅** 기능을 켜려면 **Turn on**(켜기)을 선택하여 클러스터 트래픽이 VPC를 통과하도록 합니다.

1. 클러스터를 생성하려면 **클러스터 생성(Create cluster)**을 선택합니다. 클러스터를 사용할 준비가 끝나려면 몇 분이 걸릴 수 있습니다.

**Amazon Redshift Serverless에 대해 Enhanced VPC Routing을 설정하려면**

1. AWS Management Console에 로그인한 후 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)에서 Amazon Redshift 콘솔을 엽니다.

1. 탐색 메뉴에서 **Serverless dashboard**(Serverless 대시보드)를 선택한 다음 **Create workgroup**(작업 그룹 생성)을 선택하고 작업 그룹의 속성을 입력합니다.

1. **Network and security**(네트워크 및 보안) 섹션으로 이동합니다.

1. **Turn on enhanced VPC routing**(향상된 VPC 라우팅 켜기)을 선택하여 VPC를 통해 네트워크 트래픽을 라우팅합니다.

1. **Next**(다음)를 선택하고 작업 그룹을 **생성**할 때까지 작업 그룹 속성 입력을 마칩니다.

# Redshift Spectrum으로 Amazon S3 버킷에 액세스
<a name="spectrum-enhanced-vpc"></a>

일반적으로 Amazon Redshift Spectrum은 프로비저닝된 클러스터에서 향상된 VPC 라우팅을 지원하지 않지만, 향상된 VPC 라우팅이 활성화된 경우 프로비저닝된 클러스터가 Amazon S3에서 외부 테이블을 쿼리할 수 있습니다.

Amazon Redshift의 향상된 VPC 라우팅은 VPC를 통해 특정 트래픽을 전송합니다. 즉, 클러스터와 Amazon S3 버킷 간의 모든 트래픽이 Amazon VPC를 통과하게 됩니다. Redshift Spectrum은 Amazon Redshift가 소유하지만 VPC 외부에 있는 AWS 관리형 리소스에서 실행되므로 Redshift Spectrum은 향상된 VPC 라우팅을 사용하지 않습니다.

Redshift Spectrum과 Amazon S3 간의 트래픽은 VPC 외부에서 AWS 사설 네트워크를 통해 안전하게 라우팅됩니다. 이동 중인 트래픽은 Amazon Signature Version 4 프로토콜(SIGv4)로 서명되고 HTTPS를 사용하여 암호화됩니다. 이 트래픽에는 Amazon Redshift 클러스터에 연결된 IAM 역할을 기반으로 권한이 부여됩니다. Redshift Spectrum 트래픽을 추가로 관리하기 위해 클러스터의 IAM 역할과 Amazon S3 버킷에 연결된 정책을 수정할 수 있습니다. 또한 아래의 설명처럼 클러스터가 AWS Glue 또는 Athena에 액세스할 수 있도록 VPC를 구성해야 할 수도 있습니다.

 Enhanced VPC Routing은 Amazon Redshift가 다른 리소스에 액세스하는 방식에 영향을 미치기 때문에, VPC를 올바르게 구성하지 않으면 쿼리가 실패할 수 있다는 점에 유의하세요. 자세한 내용은 Amazon S3 버킷으로 트래픽을 전송하기 위해 VPC 엔드포인트, NAT 게이트웨이 및 기타 네트워킹 리소스를 생성하는 방법에 대해 상세히 설명하는 [Redshift Enhanced VPC Routing으로 네트워크 트래픽 제어](enhanced-vpc-routing.md) 섹션을 참조하세요.

**참고**  
Amazon Redshift Serverless는 Amazon S3의 외부 테이블에 대한 쿼리를 위한 향상된 VPC 라우팅을 지원합니다. 구성에 대한 자세한 내용은 Amazon Redshift Serverless 시작 안내서에서 [Amazon S3에서 데이터 로드](https://docs.aws.amazon.com/redshift/latest/gsg/new-user-serverless.html#serverless-load-data-from-s3)를 참조하세요.

## Amazon Redshift Spectrum 사용 시 권한 정책 구성
<a name="spectrum-enhanced-vpc-considerations"></a>

Redshift Spectrum을 사용할 때는 다음을 고려하세요.
+ [Amazon S3 버킷 액세스 정책 및 IAM 역할](#spectrum-enhanced-vpc-considerations-policies)
+ [IAM 역할을 맡기 위한 권한](#spectrum-enhanced-vpc-considerations-cluster-role)
+ [Amazon S3 액세스 로깅 및 감사](#spectrum-enhanced-vpc-considerations-logging-s3)
+ [AWS Glue 또는 Amazon Athena에 액세스](#spectrum-enhanced-vpc-considerations-glue-access)

### Amazon S3 버킷 액세스 정책 및 IAM 역할
<a name="spectrum-enhanced-vpc-considerations-policies"></a>

버킷에 연결된 버킷 정책을 사용하고, 프로비저닝된 클러스터에 연결된 IAM 역할을 사용하여 Amazon S3 버킷에서 데이터에 대한 액세스를 제어할 수 있습니다.

프로비저닝된 클러스터의 Redshift Spectrum은 지정된 VPC 엔드포인트에 대한 액세스만 제한하는 버킷 정책을 사용하는 Amazon S3 버킷에 저장된 데이터에 액세스할 수 없습니다. 대신 특정 보안 주체(예: 특정 AWS 계정 또는 특정 사용자)에 대한 액세스를 제한하는 버킷 정책을 사용합니다.

버킷에 대한 액세스 권한이 부여된 IAM 역할의 경우 Amazon Redshift 서비스 보안 주체만 이 역할을 맡도록 허용하는 신뢰 관계를 사용합니다. 클러스터에 연결할 때 이 역할은 Amazon Redshift의 컨텍스트 내에서만 사용할 수 있으며 클러스터 외부에서는 공유할 수 없습니다. 자세한 내용은 [IAM 역할에 대한 액세스 제한](authorizing-redshift-service-database-users.md) 섹션을 참조하세요. 서비스 제어 정책(SCP)을 사용하여 역할을 추가로 제한할 수도 있습니다. **AWS Organizations 사용 설명서의 [IAM 사용자 및 역할이 지정된 변경을 수행하지 못하도록 방지(지정된 관리자 역할은 제외)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_general.html#example-scp-restricts-with-exception)를 참조하세요.

**참고**  
Redshift Spectrum을 사용하기 위해 Amazon S3의 미리 서명된 URL 사용을 차단하는 IAM 정책을 적용할 수 없습니다. Amazon Redshift Spectrum에서 생성한 미리 서명된 URL은 1시간 동안 유효하므로 Amazon Redshift가 충분한 시간을 갖고 Amazon S3 버킷에서 모든 파일을 로드할 수 있습니다. Redshift Spectrum으로 스캔한 각 파일에 대해 미리 서명된 고유한 URL이 생성됩니다. `s3:signatureAge` 작업이 포함된 버킷 정책의 경우 값을 최소 3,600,000밀리초로 설정해야 합니다.

다음 예시 버킷 정책은 AWS 계정 `123456789012`가 소유한 지정된 버킷에 액세스하도록 허용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "BucketPolicyForSpectrum",
            "Effect": "Allow",
            "Principal": {
                "AWS": ["arn:aws:iam::123456789012:role/redshift"]
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucketVersions",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        }
    ]
}
```

------

### IAM 역할을 맡기 위한 권한
<a name="spectrum-enhanced-vpc-considerations-cluster-role"></a>

클러스터에 연결된 역할에는 다음과 같이 Amazon Redshift 서비스에서만 이 역할을 맡을 수 있도록 허용하는 신뢰 관계가 있어야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "redshift.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

자세한 내용은 *Amazon Redshift 데이터베이스 개발자 안내서*의 [Redshift Spectrum에 대한 IAM 정책](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-iam-policies.html) 단원을 참조하세요.

### Amazon S3 액세스 로깅 및 감사
<a name="spectrum-enhanced-vpc-considerations-logging-s3"></a>

Amazon Redshift Enhanced VPC Routing 사용의 한 가지 이점은 모든 COPY 및 UNLOAD 트래픽이 VPC 흐름 로그에 로깅된다는 것입니다. Redshift Spectrum에서 시작해 Amazon S3로 전송되는 트래픽이 VPC를 통과하면 안 되기 때문에 이 트래픽은 VPC 흐름 로그에 로깅되지 않습니다. Redshift Spectrum이 Amazon S3의 데이터에 액세스하는 경우 AWS 계정 및 각 역할 권한의 맥락에서 이러한 작업을 수행합니다. AWS CloudTrail 및 Amazon S3에서 서버 액세스 로깅을 사용하여 Amazon S3 액세스를 기록하고 감사할 수 있습니다.

S3 IP 범위가 허용 목록에 추가되었는지 확인합니다. 필요한 S3 IP 범위에 대한 자세한 내용은 [네트워크 격리](https://docs.aws.amazon.com//redshift/latest/mgmt/security-network-isolation.html#network-isolation)를 참조하세요.

**AWS CloudTrail 로그** 

Redshift Spectrum 액세스를 비롯해 Amazon S3의 객체에 대한 모든 액세스를 추적하려면 Amazon S3 객체에 대한 CloudTrail 로깅을 사용합니다.

CloudTrail을 사용하여 AWS 인프라 전반에서 계정 활동을 확인, 검색, 다운로드, 보관 및 응답할 수 있습니다. 자세한 내용은 [CloudTrail 시작하기](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-getting-started.html)를 참조하십시오.

기본적으로 CloudTrail은 버킷 수준의 작업만 추적합니다. 객체 수준 작업(예: `GetObject`)을 추적하려면 로깅된 각 버킷에 대해 데이터 및 관리 이벤트를 활성화하십시오.

**Amazon S3 서버 액세스 로깅** 

서버 액세스 로깅은 버킷에 대해 이루어진 요청에 따른 상세 레코드를 제공합니다. 액세스 로그 정보는 보안 및 액세스 감사에 유용할 수 있습니다. 자세한 내용은 *Amazon Simple Storage Service 사용 설명서*의 [서버 액세스 로깅 활성화 방법](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html#server-access-logging-overview)을 참조하세요.

자세한 내용은 AWS Security Blog 게시물 [How to Use Bucket Policies and Apply Defense-in-Depth to Help Secure Your Amazon S3 Data](https://aws.amazon.com/blogs/security/how-to-use-bucket-policies-and-apply-defense-in-depth-to-help-secure-your-amazon-s3-data/)를 참조하세요.

### AWS Glue 또는 Amazon Athena에 액세스
<a name="spectrum-enhanced-vpc-considerations-glue-access"></a>

Redshift Spectrum은 AWS Glue 또는 Athena에서 데이터 카탈로그에 액세스합니다. 또 다른 옵션은 데이터 카탈로그에 전용 Hive 메타스토어를 사용하는 것입니다.

AWS Glue 또는 Athena에 액세스하도록 하려면 인터넷 게이트웨이 또는 NAT 게이트웨이를 사용해 VPC를 구성합니다. AWS Glue 및 Athena의 퍼블릭 엔드포인트에 대한 아웃바운드 트래픽을 허용하도록 VPC 보안 그룹을 구성합니다. 또는 AWS Glue에 액세스하도록 AWS Glue Data Catalog의 인터페이스 VPC 엔드포인트를 구성할 수 있습니다. VPC 인터페이스 엔드포인트를 사용하는 경우 VPC와 AWS Glue 간의 통신은 AWS 네트워크에서 수행됩니다. 자세한 내용은 [인터페이스 엔드포인트 생성](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)을 참조하세요.

VPC에서 다음과 같은 경로를 구성할 수 있습니다.
+ **인터넷 게이트웨이** – VPC 외부의 AWS 서비스에 연결하기 위해 *Amazon VPC 사용 설명서*의 설명에 따라 [인터넷 게이트웨이](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)를 VPC 서브넷에 연결할 수 있습니다. 인터넷 게이트웨이를 사용하려면 프로비저닝된 클러스터에 다른 서비스에서 통신할 수 있는 퍼블릭 IP 주소가 있어야 합니다.
+ **NAT 게이트웨이** – 다른 AWS 리전의 Amazon S3 버킷이나 AWS 네트워크 내의 다른 서비스에 연결하려면 *Amazon VPC 사용 설명서*에 설명된 대로 [네트워크 주소 변환(NAT)](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) 게이트웨이를 구성합니다. 이 구성은 AWS 네트워크 외부에 있는 호스트 인스턴스에 액세스하는 데에도 사용합니다.

자세한 내용은 [Redshift Enhanced VPC Routing으로 네트워크 트래픽 제어](enhanced-vpc-routing.md) 섹션을 참조하세요.