

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 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 資料庫的連線。基於安全考量或其他目的，您可能會希望利用這種方式來控制流量。您也可以執行 DNS 相關任務，例如設定 Redshift 資源的自訂網域名稱。如果您有 Amazon Redshift 佈建叢集或使用 Amazon Redshift Serverless 工作群組，則可以使用這些組態任務。

**Topics**
+ [自訂網域名稱來進行用戶端連線](connecting-connection-CNAME.md)
+ [Redshift 受管 VPC 端點](managing-cluster-cross-vpc.md)
+ [VPC 中的 Redshift 資源](managing-clusters-vpc.md)
+ [使用 Redshift 增強型 VPC 路由控制網路流量](enhanced-vpc-routing.md)

# 自訂網域名稱來進行用戶端連線
<a name="connecting-connection-CNAME"></a>

 您可以為 Amazon Redshift 叢集和 Amazon Redshift Serverless 工作群組建立自訂網域名稱 (也稱為自訂 URL)。其為易讀的 DNS 記錄，可將 SQL 用戶端連線路由到您的端點。您可以隨時為現有叢集或工作群組設定此項目。其提供了數種優勢：
+ 自訂網域名稱比預設 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：

我們建議您建立符合受管續約資格的 [DNS 驗證憑證](https://docs.aws.amazon.com/acm/latest/userguide/dns-renewal-validation.html)，此憑證適用於 AWS Certificate Manager。受管續約的意思是 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 Certificate Manager 帳戶搭配 AWS KMS key 進行安全憑證管理。安全驗證包括完整的主機名稱驗證 (*sslmode=verify-full*)。

只有在選擇 DNS 驗證 (而非電子郵件驗證) 時，Amazon Redshift 才會管理憑證的續約。如果您使用電子郵件驗證，您還是可以使用憑證，但必須在憑證到期前自行續約。建議您為憑證選擇 DNS 驗證。您可以在 AWS Certificate Manager中監控所匯入憑證的到期日期。

**向 ACM 請求網域名稱的憑證**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/acm/](https://console.aws.amazon.com/acm/) 的 ACM 主控台。

1. 選擇 **Request a certificate (請求憑證)**。

1. 在**網域名稱**欄位中輸入您的自訂網域名稱。
**注意**  
除了憑證網域外，您還可以指定許多字首，以便將單一憑證用於多個自訂網域記錄。若要說明，您可以搭配相同憑證來使用其他記錄，例如 `one.example.com`、`two.example.com` 或萬用字元 DNS 記錄如 `*.example.com`。

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 中的身分和存取管理](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)。

您可以透過執行下列步驟來指派自訂網域名稱。

1. 在 Amazon Redshift 主控台選擇叢集，或在 Amazon Redshift Serverless 主控台選擇工作群組，然後在**動作**功能表下選擇**建立自訂網域名稱**。隨即會出現對話方塊。

1. 輸入自訂網域名稱。

1. 從 選取 ACM 憑證 AWS Certificate Manager 的 ARN。 ****確認變更。根據您建立憑證所採取步驟中的指引，我們建議您選擇符合受管續約資格的 DNS 驗證憑證 AWS Certificate Manager。

1. 在叢集屬性中確認**自訂網域名稱**和**自訂網域憑證 ARN** 已填入您的項目。其中也會列出**自訂網域憑證到期日**。

設定好自訂網域後，使用 `sslmode=verify-full` 只會對新的自訂網域起作用。其不會對預設端點起作用。但是您仍然可以透過使用其他 ssl 模式 (例如 `sslmode=verify-ca`) 來連線到預設端點。

**注意**  
提醒您，[叢集重新定位](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-recovery.html)不是設定其他 Redshift 網路功能的先決條件。您不需要開啟此功能即可啟用下列項目：  
**從跨帳戶或跨區域 VPC 連線至 Redshift** – 您可以從一個 AWS 虛擬私有雲端 (VPC) 連線至包含 Redshift 資料庫的另一個。這樣可以更輕鬆地管理，例如：從不同的帳戶或 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>

若要使用自訂網域名稱進行連線，必須有佈建叢集的下列 IAM 許可：`redshift:DescribeCustomDomainAssociations`。對於 Amazon Redshift Serverless 伺服器，您不需新增許可。

我們建議的最佳實務是，將許可政策附加到 IAM 角色，然後根據需要將其指派給使用者和群組。如需詳細資訊，請參閱 [Amazon Redshift 中的身分和存取管理](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 中的身分和存取管理](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 中的身分和存取管理](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 工作群組會佈建在虛擬私有雲端 (VPC) 中。當您允許公開存取，或設定網際網路閘道、NAT 裝置或 AWS Direct Connect 連線來將流量路由時，便可從其他 VPC 或子網路存取 VPC。您也可以設定 Redshift 受管 VPC 端點 （由 提供） 來存取叢集或工作群組 AWS PrivateLink。

您可以將 Redshift 受管 VPC 端點設定為包含叢集或工作群組的 VPC 與用戶端工具執行所在的 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 受管政策 `ec2:ModifyVpcEndpoint` 中指定的其他許可之外，還需要 許可`ec2:CreateVpcEndpoint`或 IAM 政策中的 `AmazonRedshiftFullAccess`。

在使用 Redshift 管理的 VPC 端點時，請記住以下事項：
+ 如果您使用的是佈建叢集，其必須具有 RA3 節點類型。Amazon Redshift Serverless 工作群組也可用於設定 VPC 端點。
+ 對於佈建叢集，請確定已啟用叢集重新放置或多可用區域的叢集。如需開啟叢集重新定位要求的相關資訊，請參閱[重新定位叢集](managing-cluster-recovery.md)。如需啟用多可用區域的相關資訊，請參閱 [在建立新叢集時設定多可用區](create-cluster-multi-az.md)。
+ 確定要透過此安全群組存取的叢集或工作群組可在有效的連接埠範圍 5431 到 5455 和 8191 到 8215 內使用。預設值為 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 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽選單上，選擇**叢集**。針對 Amazon Redshift Serverless，選擇 **Serverless 儀表板**。

1. 對於您要允許存取的叢集，選擇該叢集名稱來檢視詳細資訊。選擇叢集的**屬性**索引標籤。

   **已授予的帳戶**區段會顯示可存取您叢集的帳戶和對應的 VPC。對於 Amazon Redshift Serverless 工作群組，請選擇工作群組。**已授予的帳戶**位於**資料存取**索引標籤下。

1. 選擇**授予存取權**以顯示表單，供您輸入要新增帳戶的**被授予者資訊**。

1. 對於 **AWS 帳戶 ID**，輸入您要授予存取權之帳戶的 ID。您可以授予存取權給指定帳戶中的特定 VPC 或所有 VPC。

1. 選擇**授予存取權**以授予存取權。

# 建立 Redshift 管理的 VPC 端點
<a name="managing-cluster-cross-vpc-console-grantee"></a>

如果您擁有叢集或工作群組，或是您已獲授予該叢集的存取權可進行管理，則您可以為其建立 Redshift 受管 VPC 端點。

**建立 Redshift 管理的 VPC 端點**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽功能表上，選擇**組態**。

   **組態**頁面會顯示已建立的 Redshift 管理的 VPC 端點。若要檢視端點的詳細資訊，請選擇其名稱。對於 Amazon Redshift Serverless，當您選擇工作群組時，VPC 端點位於**資料存取**索引標籤下。

1. 選擇**建立端點**以顯示表單，供您輸入要新增之端點的相關資訊。

1. 輸入**端點名稱**、12 位數 **AWS 帳戶 ID**、端點所在的**虛擬私有雲端 (VPC)**、**子網路**和 **VPC 安全群組**的值。

   **子網路**中的子網路會定義 Amazon Redshift 部署端點所在的子網路和 IP 位址。Amazon Redshift 會選擇具有 IP 地址可供與該端點相關聯之網路介面使用的子網路。

   **VPC 安全群組**中的安全群組規則會定義您為端點授權之傳入流量的連接埠、通訊協定和來源。您允許透過安全群組或工作負載執行所在的 CIDR 範圍來存取選取的連接埠。

1. 選擇**建立端點**以建立端點。

建立端點之後，您可以透過 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)。

**注意**  
不支援啟動叢集和無伺服器工作群組進入專用的租用 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 工作群組。但是在無伺服器的情況下，您不會建立子網路群組。如需在 Amazon Redshift 中建立子網路群組的相關資訊，請參閱 [Redshift 資源的子網路](working-with-cluster-subnet-groups.md)。如需設定 VPC 的相關資訊，請參閱《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 會提供已設定的彈性 IP 地址以用於 VPC。此彈性 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 使用者指南》**中的 [將 DNS 用於您的 VPC](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 位址都會顯示。這些位址只能在特定情況下，用來設定遠端主機上的傳入規則。當您從 Amazon EC2 執行個體或其他使用安全殼層 (SSH) 連線的遠端主機載入資料時，就會發生這些情況。如需詳細資訊，請參閱《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 叢集的安全群組通訊設定](https://docs.aws.amazon.com/redshift/latest/mgmt/rs-security-group-public-private.html)，其中會提供在用戶端與佈建叢集或 Amazon Redshift Serverless 工作群組之間設定傳入和傳出規則的指引。另一個可協助您了解安全群組的資源是《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>

以下是在虛擬私有雲端 (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 入門指南》**中的[開始使用 Amazon Redshift 佈建資料倉儲](https://docs.aws.amazon.com/redshift/latest/gsg/new-user.html)。如需建立 Amazon Redshift Serverless 的詳細資訊，請參閱《Amazon Redshift 入門指南》**中的[開始使用 Amazon Redshift 資料倉儲](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 security groups (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 平台上佈建的每個叢集都有一個或多個 Amazon VPC 安全群組與其相關聯。Amazon VPC 會提供名為預設的 VPC 安全群組，系統會在您建立 VPC 時自動建立此群組。若您未在建立 Redshift 資源時指定其他 VPC 安全群組，您在 VPC 中啟動的每個叢集都會自動與預設 VPC 安全群組建立關聯。您可以在建立叢集時將 VPC 安全群組與叢集建立關聯，也可以在稍後修改叢集，將 VPC 安全群組與其建立關聯。

以下螢幕擷取畫面說明預設 VPC 安全群組的預設規則。

![\[此表顯示安全群組的傳入和傳出規則。每項規則都有來源或目的地、通訊協定、連接埠範圍及註解。\]](http://docs.aws.amazon.com/zh_tw/redshift/latest/mgmt/images/security_groups.png)


您可以視需要變更預設 VPC 安全群組的規則。

如果預設 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 和 ，以程式設計方式管理 VPC 安全群組 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 的網路設定。透過先選擇安全群組，再選擇**傳入規則**來開啟傳入存取。選擇 **Edit inbound Rules** (編輯傳入規則)。

1. 根據您的要求，為一或多個傳入規則選擇**通訊協定**和**連接埠**，以允許來自用戶端的流量。若為 RA3 叢集，請選取 5431-5455 或 8191-8215 範圍內的連接埠。完成時，請儲存每個規則。

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。在無類別域間路由 (CIDR) 標記法中，其代表所有可能的 IP 地址。

您可以透過選取叢集或工作群組的安全群組，在主控台中檢視規則。

如果您的叢集或工作群組和用戶端都使用預設安全群組，則不需要設定任何額外的組態來允許網路流量。但是，如果您刪除或變更 Redshift 或用戶端的預設安全群組中的任何規則，此做法就不再適用。在此情況下，您必須設定規則以允許傳入和傳出通訊。常見的安全群組組態如下：
+ 針對用戶端 Amazon EC2 執行個體：
  + 傳入規則，允許用戶端的 IP 地址。
  + 傳出規則，允許針對 Redshift 用途所提供之所有子網路的 IP 地址範圍 (CIDR 區塊)。或者，您也可以指定 0.0.0.0/0，這是所有 IP 地址範圍。
+ 針對您的 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>

如果要在虛擬私有雲端 (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) 中的子網路集合。

**警告**  
在進行傳統調整大小、暫停和恢復、多可用區域容錯移轉或其他事件等叢集維護操作期間，您的佈建運算節點可能會移至 Amazon Redshift 叢集子網路群組內的另一個子網路。請注意，子網路群組中的所有子網路都必須具有相同的網路 ACL 傳入和傳出規則，以及相同的路由表路由。這可確保往返 Amazon Redshift 運算資源的連線，使其能夠在此類維護事件之後以最佳方式進行通訊和運作。避免將具有不同網路 ACL 或路由表組態的子網路新增至同一個 Amazon Redshift 叢集子網路群組。  
如需設定子網路的詳細資訊，請參閱《Amazon VPC 使用者指南》中的 [VPC 的子網路](https://docs.aws.amazon.com/vpc/latest/userguide/configure-subnets.html)。如需 Redshift 多可用區域部署的詳細資訊，請參閱《Redshift 管理指南》中的 [多可用區域部署](managing-cluster-multi-az.md)。《Redshift 管理指南》中也涵蓋了 [調整叢集大小](resizing-cluster.md)。

# 建立叢集子網路群組
<a name="create-cluster-subnet-group"></a>

下列程序將逐步說明如何為佈建叢集建立子網路群組。您至少必須定義一個叢集子網路群組，才能在 VPC 中佈建叢集。

**為佈建叢集建立叢集子網路群組**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽功能表上，選擇**組態**，然後選擇**子網路群組**。子網路群組清單即會出現。

1. 選擇 **Create cluster subnet group (建立叢集子網路群組)** 以顯示建立頁面。

1. 輸入子網路群組的資訊，包括要新增的子網路。

1. 選擇 **Create cluster subnet group (建立叢集子網路群組)**，使用您選擇的子網路建立群組。

**注意**  
如需有關如何建立具有子網路集合的 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 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽功能表上，選擇**組態**，然後選擇**子網路群組**。子網路群組清單即會出現。

1. 選擇要修改的子網路群組。

1. 針對 **Actions (動作)**，選擇 **Modify (修改)** 以顯示子網路群組的詳細資訊。

1. 更新子網路群組的資訊。

1. 選擇 **Save (儲存)** 以修改群組。

若要在某些情況下變更或移除子網路，您需要進行額外的步驟。例如，這篇 AWS 知識中心文章：[如何將 Amazon Redshift 佈建叢集移至不同的子網路？](https://repost.aws//knowledge-center/redshift-move-subnet)便有內容涵蓋如何移動叢集的使用案例。

# 刪除佈建叢集的叢集子網路群組
<a name="delete-cluster-subnet-group"></a>

當您使用完叢集子網路群組後，您應刪除該群組以將其清除。下列程序將引導您逐步完成刪除佈建叢集的子網路群組的步驟。

**刪除叢集子網路群組**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽功能表上，選擇**組態**，然後選擇**子網路群組**。子網路群組清單即會出現。

1. 選擇要刪除的子網路群組，再選擇 **Delete (刪除)**。

**注意**  
您無法刪除叢集正在使用的叢集子網路群組。

# 封鎖對 VPC 和子網路的公開存取
<a name="block-public-access"></a>

VPC 封鎖公開存取 (BPA) 是一項集中式安全功能，可用來封鎖您在 中擁有VPCs 和子網路中的資源，使其 AWS 區域 無法連線網際網路，或透過網際網路閘道和僅限輸出網際網路閘道從網際網路連線。如果您在 中開啟此功能，預設 AWS 帳戶會影響 Amazon Redshift 使用的任何 VPC 或子網路。這表示，Amazon Redshift 會封鎖所有公開操作。

當您開啟 VPC BPA 並想要透過公有網際網路使用 Amazon Redshift API 時，您必須新增排除項目，才能針對 VPC 或子網路使用 Amazon EC2 API。排除項目可以有下列其中一種模式：
+ **雙向**：允許進出排除 VPC 和子網路的所有網際網路流量。
+ **僅輸出**：允許來自排除 VPC 和子網路的傳出網際網路流量。已封鎖對排除 VPC 和子網路的傳入網際網路流量。這僅適用於 BPA 設為雙向時。

VPC BPA 排除項目會將 VPC 內的整個 VPC 或特定子網路指定為可公開存取。在該界限內的網路介面是否具有公有網際網路的路由和存取權方面，該介面會遵守一般 VPC 網路控制，例如安全群組、路由表和網路 ACL。如需新增排除項目的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的[建立和刪除排除項目](https://docs.aws.amazon.com//vpc/latest/userguide/security-vpc-bpa.html#security-vpc-bpa-exclusions)。

**佈建叢集**

子網路群組是來自相同 VPC 的子網路組合。如果佈建叢集的子網路群組位於已開啟 VPC BPA 的帳戶中，則下列功能會遭到封鎖：
+ 建立公有叢集
+ 還原公有叢集
+ 將私有叢集修改為公有
+ 在群組內至少有一個公有叢集時，將開啟 VPC BPA 的子網路新增至子網路群組

 **無伺服器叢集**

Redshift Serverless 不使用子網路群組。而是每個叢集都有自己的一組子網路。如果工作群組位於已開啟 VPC BPA 的帳戶中，則下列功能會遭到封鎖：
+ 建立公有存取工作群組
+ 將私有工作群組修改為公有
+ 在工作群組為公有時，將開啟 VPC BPA 的子網路新增至工作群組

# 使用 Redshift 增強型 VPC 路由控制網路流量
<a name="enhanced-vpc-routing"></a>

當您使用 Amazon Redshift 增強型 VPC 路由時，Amazon Redshift 會根據 Amazon VPC 服務來強制叢集與資料儲存庫之間所有的 [COPY](https://docs.aws.amazon.com/redshift/latest/dg/r_COPY.html) 與 [UNLOAD](https://docs.aws.amazon.com/redshift/latest/dg/r_UNLOAD.html) 流量通過您的虛擬私有雲端 (VPC)。使用增強型 VPC 路由時，您可以使用標準 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) 伺服器，如《Amazon VPC 使用者指南》**中所述。您可以使用這些功能來控制 Amazon Redshift 叢集與其他資源之間的資料流程。當您使用增強型 VPC 路由以透過 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 。

**重要**  
由於增強型 VPC 路由會影響 Amazon Redshift 存取其他資源的方式，COPY 與 UNLOAD 命令可能會失敗，除非您正確設定 VPC。您必須在叢集的 VPC 與資料資源之間特別建立網路路徑，如下所述。

當您在已開啟增強型 VPC 路由的叢集上執行 COPY 或 UNLOAD 命令時，您的 VPC 會使用「最嚴格」** (或最獨特) 可用的網路路徑，將流量路由至指定的資源。

例如，您可以在 VPC 中設定下列路徑：
+ ** VPC 端點 **– 對於與叢集或工作群組位於相同 AWS 區域中的 Amazon S3 儲存貯體流量，您可以建立 VPC 端點，將流量直接導向儲存貯體。當您使用 VPC 端點時，可以連接端點政策以管理 Amazon S3 的存取。如需搭配 Redshift 使用端點的相關資訊，請參閱 [使用 VPC 端點控制資料庫流量](enhanced-vpc-working-with-endpoints.md)。如果您使用 Lake Formation，您可以在 Lake Formation 的 VPC 和 AWS Lake Formation 之間建立私有連線[AWS ，以及介面 VPC 端點 (AWS PrivateLink) ](https://docs.aws.amazon.com/lake-formation/latest/dg/privatelink.html)的詳細資訊。
**注意**  
當您搭配 Amazon S3 VPC Gateway 端點使用 Redshift VPC 端點時，您必須在 Redshift 中啟用增強型 VPC 路由。如需詳細資訊，請參閱 [Amazon S3 的閘道端點](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html)。
+ **NAT 閘道** – 您可以連接到另一個 AWS 區域中的 Amazon S3 儲存貯體，也可以連接到網路中的 AWS 其他服務。您也可以存取 AWS 網路外部的主機執行個體。若要這麼做，請設定[網路位址轉譯 (NAT) 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)，如《Amazon VPC 使用者指南》**中所述。
+ **網際網路閘道** — 若要連線至 VPC 外的 AWS 服務，您可以將[網際網路閘道](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)附加至您的 VPC 子網路，如《Amazon VPC 使用者指南》**中所述。若要使用網際網路閘道，您的叢集或工作群組必須可公開存取，以便讓其他服務與其進行通訊。

如需詳細資訊，請參閱《Amazon VPC 使用者指南》中的 [VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)。

使用增強型 VPC 路由無需額外付費。某些操作可能需要額外的數據傳輸費。這些操作包括 UNLOAD 到不同區域中的 Amazon S3 AWS 。從 Amazon EMR 或 Secure Shell (SSH) 透過公有 IP 地址 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 中。您可以將端點政策連接至您的端點，更緊密地管理您資料的存取。例如，您可以將政策新增至您的 VPC 端點，僅允許資料上傳至您帳戶中特定的 Amazon S3 儲存貯體。

若要使用 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) 是一種雲端服務，可讓您遷移關聯式資料庫、資料倉儲和其他類型的資料存放區。它可以連接到任何 AWS 來源或目標資料庫，包括已啟用 VPC 的 Amazon Redshift 資料庫，並具有一些組態限制。支援 Amazon VPC 端點可讓您更輕鬆地 AWS DMS 維護end-to-end網路安全。如需搭配 Redshift 使用的詳細資訊 AWS DMS，請參閱*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 端點僅用於存取相同區域中的 Amazon S3 儲存貯 AWS 體。若要存取另一個 AWS 區域中的儲存貯體 （不使用 VPC 端點） 或存取其他服務 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) 解析。或者，如果您使用自己的 DNS 伺服器，請確定對 Amazon S3 提出的 DNS 請求可正確解析為 AWS所維護的 IP 地址。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [使用 DNS 與您的 VPC 搭配](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html)。
+ 您的 VPC 必須啟用 DNS 主機名稱。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)。

**開啟佈建叢集的增強型 VPC 路由**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽功能表上，選擇**佈建叢集儀表板**，然後選擇**建立叢集**並輸入**叢集詳細資訊**屬性。

1. 若要顯示 **Additional configurations (其他組態)** 區段，請選擇關閉 **Use defaults (使用預設值)**。

1. 導覽至**網路和安全**區段。

1. 若要開啟**增強型 VPC 路由**，請選擇**開啟**以強制透過 VPC 傳輸叢集流量。

1. 選擇 **Create cluster (建立叢集)** 以建立叢集。該叢集可能需要幾分鐘方可使用。

**開啟 Amazon Redshift Serverless 的增強型 VPC 路由**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/redshiftv2/](https://console.aws.amazon.com/redshiftv2/)：// 開啟 Amazon Redshift 主控台。

1. 在導覽功能表上，選擇 **Serverless 儀表板**，然後選擇**建立工作群組**並輸入工作群組的屬性。

1. 導覽至**網路和安全**區段。

1. 選取**開啟增強型 VPC 路由**以透過 VPC 來路由網路流量。

1. 選擇**下一步**並完成工作群組屬性的輸入，直到您**建立**工作群組為止。

# 透過 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 之間的流量會透過 AWS 私有網路安全地路由至 VPC 外部。傳輸中的流量是使用 Amazon Signature 第 4 版通訊協定 (SIGv4) 來簽署，並使用 HTTPS 來加密。此流量是根據連接到 Amazon Redshift 叢集的 IAM 角色而獲得授權。若要進一步管理 Redshift Spectrum 流量，您可以修改叢集的 IAM 角色和已連接到 Amazon S3 儲存貯體的政策。您可能還需要設定 VPC 以允許叢集存取 AWS Glue 或 Athena，如下所示。

 請注意，由於增強型 VPC 路由會影響 Amazon Redshift 存取其他資源的方式，查詢可能會失敗，除非您正確設定 VPC。如需詳細資訊，請參閱 [使用 Redshift 增強型 VPC 路由控制網路流量](enhanced-vpc-routing.md)，其中會詳細討論如何建立 VPC 端點、NAT 閘道和其他網路資源，以將流量導向 Amazon S3 儲存貯體。

**注意**  
Amazon Redshift Serverless 支援將增強型 VPC 路由用於 Amazon S3 上外部資料表的查詢。如需組態的詳細資訊，請參閱《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 儲存貯體中資料的存取權。

如果 Amazon S3 儲存貯體使用的儲存貯體政策僅限於存取指定的 VPC 端點，佈建叢集上的 Redshift Spectrum 便無法存取該儲存貯體中儲存的資料。反之，請使用儲存貯體政策，限制只能存取特定委託人，例如特定 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 增強型 VPC 路由的一項好處是所有 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 日誌** 

若要追蹤對 Amazon S3 中的物件的所有存取，包括 Redshift Spectrum 存取，請對 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 安全部落格文章[如何使用儲存貯體政策和套用Defense-in-Depth以協助保護您的 Amazon S3 資料](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。設定您的 VPC 安全群組，以允許 AWS Glue 和 Athena 的公有端點傳出流量。或者，您可以設定介面 VPC 端點 AWS Glue ，讓 存取您的 AWS Glue Data Catalog。當您使用 VPC 介面端點時，VPC 與 之間的通訊 AWS Glue 會在 AWS 網路中執行。如需詳細資訊，請參閱[建立界面端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)。

您可以在 VPC 中設定下列路徑：
+ **網際網路閘道** – 若要連線至 VPC 以外的 AWS 服務，您可以將[網際網路閘道](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)連接至 VPC 子網路，如 *Amazon VPC 使用者指南中所述。*若要使用網際網路閘道，佈建叢集必須有公有 IP 位址，才能讓其他服務與其進行通訊。
+ **NAT 閘道 **– 若要連線至另一個 AWS 區域中的 Amazon S3 儲存貯體或網路中的 AWS 其他服務，請設定[網路位址轉譯 (NAT) 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)，如 *Amazon VPC 使用者指南中所述。*您也可以使用此組態來存取 AWS 網路外的主機執行個體。

如需詳細資訊，請參閱[使用 Redshift 增強型 VPC 路由控制網路流量](enhanced-vpc-routing.md)。