

 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/)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 連線至 Amazon Redshift Serverless
<a name="serverless-connecting"></a>

在設定 Amazon Redshift Serverless 執行個體後，便可以使用以下概述的各種方法連線到該執行個體。如果您有多個團隊或專案，並且想要分開管理成本，則可以使用不同的 AWS 帳戶。

如需 Amazon Redshift Serverless 可用 AWS 區域 位置的清單，請參閱 中針對 [Redshift Serverless API](https://docs.aws.amazon.com/general/latest/gr/redshift-service.html) 列出的端點*Amazon Web Services 一般參考*。

Amazon Redshift Serverless 會連線到目前 中 AWS 帳戶 的無伺服器環境 AWS 區域。Amazon Redshift Serverless 會在連接埠範圍為 5431 至 5455 和 8191 至 8215 的連接埠範圍內的 VPC 中執行。預設值為 5439。目前，您只能使用 API 操作 `UpdateWorkgroup`和 AWS CLI 操作 變更連接埠`update-workgroup`。

## 連線至 Amazon Redshift Serverless
<a name="serverless-connecting-endpoint"></a>

您可以使用下列語法連線到 Amazon Redshift Serverless 中的資料庫 (名為 `dev`)。

```
workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com:port/dev
```

例如，下列連線字串會指定區域 us-east-1。

```
default.123456789012.us-east-1.redshift-serverless.amazonaws.com:5439/dev
```

## 透過 JDBC 驅動程式連線至 Amazon Redshift Serverless
<a name="serverless-connecting-driver"></a>

您可以使用下列其中一種方法，透過 Amazon Redshift 所提供的 JDBC 驅動器 2.x 版驅動器，以偏好的 SQL 用戶端連線至 Amazon Redshift Serverless。

若要透過 JDBC 驅動器 2.x 版，使用登入憑證驗證資料庫以進行連線，請使用下列語法。您可以選擇是否使用連接埠號碼；如果未包含，Amazon Redshift Serverless 會預設為連接埠號碼 5439。您可以變更為 5431 至 5455 或 8191 至 8215 之連接埠範圍內的其他連接埠。若要變更無伺服器端點的預設連接埠，請使用 AWS CLI 和 Amazon Redshift API。

```
jdbc:redshift://workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com:5439/dev
```

例如，下列連線字串會指定工作群組預設值、帳戶 ID 123456789012 以及 us-east-2 區域。

```
jdbc:redshift://default.123456789012.us-east-2.redshift-serverless.amazonaws.com:5439/dev
```

若要使用 JDBC 驅動器 2.x 版與 IAM 連線，請使用下列語法。您可以選擇是否使用連接埠號碼；如果未包含，Amazon Redshift Serverless 會預設為連接埠號碼 5439。您可以變更為 5431 至 5455 或 8191 至 8215 之連接埠範圍內的其他連接埠。若要變更無伺服器端點的預設連接埠，請使用 AWS CLI 和 Amazon Redshift API。

```
jdbc:redshift:iam://workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com:5439/dev
```

例如，下列連線字串會指定工作群組預設值、帳戶 ID 123456789012 以及 us-east-2 區域。

```
jdbc:redshift:iam://default.123456789012.us-east-2.redshift-serverless.amazonaws.com:5439/dev
```

若為 ODBC，請使用下列語法。

```
Driver={Amazon Redshift (x64)}; Server=workgroup-name.account-number.aws-region.redshift-serverless.amazonaws.com; Database=dev
```

如果您使用的是 2.1.0.9 之前的 JDBC 驅動程式版本，並使用 IAM 來連線，則需要使用下列語法。

```
jdbc:redshift:iam://redshift-serverless-<name>:aws-region/database-name
```

例如，下列連線字串會指定工作群組預設值和 AWS 區域 us-east-1。

```
jdbc:redshift:iam://redshift-serverless-default:us-east-1/dev
```

如需驅動程式的相關資訊，請參閱[在 Amazon Redshift 中設定連線](configuring-connections.md)。

### 尋找 JDBC 和 ODBC 連線字串
<a name="serverless-connecting-jdbc-odbc-string"></a>

若要使用 SQL 用戶端工具來連線至工作群組，您必須有 JDBC 或 ODBC 連線字串。您可以在 Amazon Redshift Serverless 主控台的工作群組詳細資訊頁面上找到連線字串。

**尋找工作群組的連線字串**

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

1. 在導覽選單上，選擇 **Redshift Serverless**。

1. 在導覽選單上，選擇**工作群組組態**，然後從清單中選擇工作群組名稱以開啟其詳細資訊。

1. **General information** (一般資訊) 區段中提供了 **JDBC URL** 和 **ODBC URL** 連線字串，以及其他詳細資訊。每個字串都以工作群組執行 AWS 的區域為基礎。選擇適當連線字串旁邊的圖示以複製連線字串。

## 使用資料 API 連線至 Amazon Redshift Serverless
<a name="serverless-data-api"></a>

您也可以使用 Amazon Redshift 資料 API 來連線至 Amazon Redshift Serverless。在 AWS CLI 呼叫中使用 `workgroup-name` 參數，而非 `cluster-identifier` 參數。

如需資料 API 的相關資訊，請參閱[使用 Amazon Redshift 資料 API](data-api.md)。如需會在 Python 中呼叫資料 API 的範例程式碼和其他範例，請參閱[開始使用 Redshift 資料 API](https://github.com/aws-samples/getting-started-with-amazon-redshift-data-api#readme) 並查看 GitHub** 中的 `quick-start` 和 `use-cases` 資料夾。

## 使用 SSL 連線到 Amazon Redshift Serverless
<a name="serverless-secure-ssl"></a>

### 設定與 Amazon Redshift Serverless 的安全連線
<a name="serverless_secure-ssl"></a>

為了支援 SSL 連線，Redshift Serverless 會在每一個工作群組上建立並安裝 [AWS Certificate Manager (ACM)](https://aws.amazon.com/certificate-manager/) 發行的 SSL 憑證。ACM 憑證受到大多數作業系統、網頁瀏覽器和用戶端公開信任。如果 SQL 用戶端或應用程式在 `sslmode` 連線選項設為 `require`、`verify-ca` 或 `verify-full` 的情況下，使用 SSL 連線到 Redshift Serverless，您可能需要下載憑證套件。如果用戶端需要憑證，Redshift Serverless 會提供如下的憑證套件：
+ 從 [https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt](https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt) 下載套件。
  + 預期的 MD5 檢查總和碼為 418dea9b6d5d5de7a8f1ac42e164cdcf。
  + sha256 檢查總和碼為 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550。

  請勿使用位於 `https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt` 的先前憑證套件。
+  在中國 AWS 區域，請從 https：//[https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt](https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt) 下載套件。
  + 預期的 MD5 檢查總和碼為 418dea9b6d5d5de7a8f1ac42e164cdcf。
  + sha256 檢查總和碼為 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550。

  請勿使用位於 `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/redshift-ca-bundle.crt` 和 `https://s3---cn-north-1.amazonaws.com.rproxy.govskope.ca.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem` 的先前憑證套件。

**重要**  
Redshift Serverless 已變更 SSL 憑證的管理方式。您可能需要更新目前的信任根 CA 憑證，才能繼續使用 SSL 連線到工作群組。如需用於 SSL 連線的 ACM 憑證的詳細資訊，請參閱 [將 SSL 連線轉換為使用 ACM 憑證](connecting-transitioning-to-acm-certs.md)。

根據預設，不論連線是否使用 SSL，工作群組資料庫都接受連線。

若要建立只接受 SSL 連線的新工作群組，請使用 `create-workgroup` 命令並將 `require_ssl` 參數設定為 `true`。若要使用下列範例，請將 {{yourNamespaceName}} 取代為您的命名空間名稱，並將 {{yourWorkgroupName}} 取代為您的工作群組名稱。

```
aws redshift-serverless create-workgroup \
--namespace-name {{yourNamespaceName}} \
--workgroup-name {{yourWorkgroupName}} \
--config-parameters parameterKey=require_ssl,parameterValue=true
```

若要更新只接受 SSL 連線的現有工作群組，請使用 `update-workgroup` 命令並將 `require_ssl` 參數設定為 `true`。請注意，當您更新 `require_ssl` 參數時，Redshift Serverless 會重新啟動您的工作群組。若要使用下列範例，請將 {{yourWorkgroupName}} 取代為您的工作群組名稱。

```
aws redshift-serverless update-workgroup \
--workgroup-name {{yourWorkgroupName}} \
--config-parameters parameterKey=require_ssl,parameterValue=true
```

 Amazon Redshift 支援 Elliptic Curve Diffie—Hellman Ephemeral (ECDHE) 金鑰協議通訊協定。使用 ECDHE 時，用戶端和伺服器各有橢圓曲線公有-私有金鑰對，用於透過不安全通道建立共用秘密。您不需要在 Amazon Redshift 中設定任何項目來啟用 ECDHE。如果您從 SQL 用戶端工具連線，而此工具使用 ECDHE 來加密用戶端和伺服器之間的通訊，Amazon Redshift 會使用提供的密碼清單來建立適當的連線。如需詳細資訊，請參閱 Wikipedia 上的 [Elliptic curve diffie—hellman](https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman) 和 OpenSSL 網站上的 [Ciphers](https://www.openssl.org/)。

#### 設定與 FIPS 相容的 Amazon Redshift Serverless SSL 連線
<a name="serverless_secure-fips-ssl"></a>

若要建立使用與 FIPS 相容的 SSL 連線的新工作群組，請使用 `create-workgroup` 命令並將 `use_fips_ssl` 和 `require_ssl` 參數設定為 `true`。若要使用下列範例，請將 {{yourNamespaceName}} 取代為您的命名空間名稱，並將 {{yourWorkgroupName}} 取代為您的工作群組名稱。

```
aws redshift-serverless create-workgroup \
--namespace-name {{yourNamespaceName}} \
--workgroup-name {{yourWorkgroupName}} \
--config-parameters '[{"parameterKey": "require_ssl", "parameterValue": "true"}, {"parameterKey": "use_fips_ssl", "parameterValue": "true"}]'
```

若要更新現有工作群組以使用與 FIPS 相容的 SSL 連線，請使用 `update-workgroup` 命令並將 `use_fips_ssl` 和 `require_ssl` 參數設定為 `true`。請注意，當您更新 `use_fips_ssl` 參數時，Redshift Serverless 會重新啟動您的工作群組。若要使用下列範例，請將 {{yourWorkgroupName}} 取代為您的工作群組名稱。

```
aws redshift-serverless update-workgroup \
--workgroup-name {{yourWorkgroupName}} \
--config-parameters '[{"parameterKey": "require_ssl", "parameterValue": "true"}, {"parameterKey": "use_fips_ssl", "parameterValue": "true"}]'
```

如需設定 Redshift Serverless 以使用與 FIPS 相容的連線的詳細資訊，請參閱《Amazon Redshift 資料庫開發人員指南》**中的 [use\_fips\_ssl](https://docs.aws.amazon.com/redshift/latest/dg/use_fips_ssl)。

## 從 Amazon Redshift 受管 VPC 端點連線至 Amazon Redshift Serverless
<a name="serverless-secure-vpc"></a>

### 從其他 VPC 端點連線至 Amazon Redshift Serverless
<a name="serverless-vpc-connect"></a>

如需為 Amazon Redshift Serverless 工作群組設定受管 VPC 端點的相關資訊，請參閱[使用 Redshift 受管 VPC 端點](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-cross-vpc.html)。

## 從 VPC 端點介面 (AWS PrivateLink) 連線至 Amazon Redshift Serverless
<a name="serverless-secure-vpc-privatelink"></a>

如需從 VPC 端點介面 (AWS PrivateLink) 連線至 Amazon Redshift Serverless 的相關資訊，請參閱 [介面 VPC 端點](security-network-isolation.md#security-private-link)。

## 從其他帳戶中的 Redshift VPC 端點連線至 Amazon Redshift Serverless
<a name="serverless-cross-vpc"></a>

### 從跨 VPC 端點連線至 Amazon Redshift Serverless
<a name="database-connect-from-cross-account-vpc-endpoint"></a>

 Amazon Redshift Serverless 會佈建在 VPC 中。您可以授予對其他帳戶中 VPC 的存取權，以存取帳戶中的 Amazon Redshift Serverless。這類似於來自受管理 VPC 端點的連線，但在此情況下，連線起始於另一個帳戶中的資料庫用戶端。您可以執行幾項作業：
+ 資料庫擁有者可以將包含 Amazon Redshift Serverless 的 VPC 的存取權授予相同區域中的其他帳戶。
+ 資料庫擁有者可以撤銷 Amazon Redshift Serverless 存取權。

跨帳戶存取的主要優點是允許更輕鬆的資料庫協同作業。不必在包含資料庫的帳戶中佈建使用者即可存取資料庫，這樣可減少設定步驟並節省時間。

#### 授予對其他帳戶中 VPC 的存取
<a name="database-connect-from-cross-account-vpc-endpoint-permissions"></a>

若要授予存取權或變更允許的存取權，授予者需要具有下列權限的已指派權限政策：
+ redshift-serverless:PutResourcePolicy
+ redshift-serverless:GetResourcePolicy
+ redshift-serverless:DeleteResourcePolicy
+ ec2:CreateVpcEndpoint
+ ec2:ModifyVpcEndpoint

您可能需要 AWS 受管政策 *AmazonRedshiftFullAccess* 中指定的其他許可。如需詳細資訊，請參閱[授予 Amazon Redshift Serverless 的權限](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless-iam.html#serverless-security-other-services)。

承授者需要具有下列權限的已指派權限政策：
+ redshift-serverless:ListWorkgroups
+ redshift-serverless:CreateEndpointAccess
+ redshift-serverless:UpdateEndpointAccess
+ redshift-serverless:GetEndpointAccess
+ redshift-serverless:ListEndpointAccess
+ redshift-serverless:DeleteEndpointAccess

我們建議的最佳實務是，將許可政策附加到 IAM 角色，然後根據需要將其指派給使用者和群組。如需詳細資訊，請參閱 [Amazon Redshift 中的身分和存取管理](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-authentication-access-control.html)。

這是用來設定跨 VPC 存取權的範例資源政策：

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CrossAccountCrossVPCAccess",
            "Effect": "Allow",
            "Principal": {
                "AWS": [
                    "123456789012",
                    "234567890123"
                ]
            },
            "Action": [
                "redshift-serverless:CreateEndpointAccess",
                "redshift-serverless:UpdateEndpointAccess",
                "redshift-serverless:DeleteEndpointAccess",
                "redshift-serverless:GetEndpointAccess"
            ],
            "Resource": "arn:aws:redshift-serverless:*:*:*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestedRegion": "us-east-1"
                },
                "StringLike": {
                    "aws:SourceVpc": [
                       "vpc-11223344556677889",
                       "vpc-12345678"
                    ]
                }
            }
        }
    ]
}
```

------

本節接下來的程序假設執行這些權限的使用者具有適當的指派權限，例如，透過具有列出權限的已指派 IAM 角色。這些程序還假設工作群組具有附加適當資源權限的 IAM 角色。

#### 使用主控台授予其他帳戶的 VPC 存取權
<a name="database-connect-from-cross-account-vpc-console-tasks"></a>

此程序顯示當您是資料庫擁有者且想要授予存取權時，用於設定資料庫存取權的步驟。

**從擁有者帳戶授予存取權**

1. 在 Amazon Redshift Serverless 工作群組的屬性中，在**資料存取**索引標籤上有一份名為**已授予的帳戶**清單。它會顯示授予工作群組存取權的帳戶和 VPC。找到清單，然後選擇**授予存取權**，將帳戶新增至清單。

1. 出現一個視窗，您可以在其中新增承授者資訊。輸入 AWS 帳戶的 ID，其為您要授予存取權的帳戶的 12 位數 ID。

1. 授予承授者的所有 VPC 或特定 VPC 的存取權。如果僅授予特定 VPC 的存取權，則可以透過輸入每個 VPC 並選擇**新增 VPC**來為這些 VPC 新增 ID。

1. 完成後，選擇**儲存變更**。

當您儲存變更時，帳戶會出現在**已授予的帳戶**清單中。此項目會顯示**帳戶 ID** 和授予存取權的 VPC 清單。

資料庫擁有者也可以撤銷帳戶的存取權。您可以隨時撤消存取權。

**撤銷帳戶存取權**

1. 您可以從授予的帳戶清單開始。首先，選取一或多個帳戶。

1. 選擇**撤銷存取權**。

授予存取權之後，承授者的資料庫管理員可以檢查主控台，以判斷他們是否具有存取權。

**使用主控台確認已授予存取其他帳戶的存取權**

1. 在 Amazon Redshift Serverless 工作群組屬性的**資料存取**索引標籤上，有一份名為**授權的帳戶**清單。它顯示可以從此工作組存取的帳戶。承授者無法使用工作群組的端點 URL 直接存取工作群組。若要存取工作組，身為承授者的您移至**端點**區段，然後選擇**建立端點**。

1. 然後，身為承授者，您可以提供端點名稱和 VPC 來存取工作群組。

1. 成功建立端點後，它會出現在**端點**區段中，並且有端點 URL。您可以使用此端點 URL 來存取工作群組。

#### 使用 CLI 命令授予其他帳戶的存取權
<a name="database-connect-from-cross-account-vpc-api"></a>

授予存取權的帳戶必須先授予其他帳戶的存取權，才能使用連線`put-resource-policy`。資料庫擁有者可以呼叫 `put-resource-policy` 以授權其他帳戶，建立與工作群組的連線。接著，承授者帳戶便可透過其允許的 VPC，使用 `create-endpoint-authorization` 以建立與工作群組的連線。

以下顯示的內容適用於 `put-resource-policy`，您可以呼叫這些內容以允許存取特定帳戶和 VPC。

```
aws redshift-serverless put-resource-policy
--resource-arn <value> 
--policy <value>
```

呼叫命令後，您可以呼叫 `get-resource-policy`，並指定 `resource-arn` 以查看允許哪些帳戶和 VPC 存取資源。

承授者可以進行以下呼叫。它顯示有關授予存取權的資訊。具體而言，它會傳回一份包含授予存取權的 VPC 清單。

```
aws redshift-serverless list-workgroups
--owner-account <value>
```

這樣做的目的是讓承授者從授予帳戶取得有關端點授權的資訊。`owner-account` 是共用帳戶。當您執行此項目時，它會傳回每個工作群組的 `CrossAccountVpcs`，即為允許的 VPC 清單。以下內容展示了工作群組可用的所有屬性以做為參考：

```
Output: workgroup (Object)
workgroupId String,
workgroupArn String,
workgroupName String,
status: String,
namespaceName: String,
baseCapacity: Integer, (Not-applicable)
enhancedVpcRouting: Boolean,
configParameters: List,
securityGroupIds: List,
subnetIds: List,
endpoint: String,
publiclyAccessible: Boolean,
creationDate: Timestamp,
port: Integer,
CrossAccountVpcs: List
```

**注意**  
提醒您，[叢集重新定位](https://docs.aws.amazon.com/redshift/latest/mgmt/managing-cluster-recovery.html)不是設定其他 Redshift 網路功能的先決條件。您也不需要將其開啟才能啟用下列功能：  
**從跨帳戶或跨區域 VPC 連線至 Redshift** – 您可以從一個 AWS 虛擬私有雲端 (VPC) 連線至包含 Redshift 資料庫的另一個，如本節所述。
**設定自訂網域名稱** — 您可以為 Amazon Redshift 叢集或 Amazon Redshift Serverless 工作群組建立自訂網域名稱 (也稱為自訂 URL)，以使端點名稱更加簡單易記。如需詳細資訊，請參閱[使用自訂網域名稱來進行用戶端連線](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-connection-CNAME.html)。

## 其他資源
<a name="serverless-connecting-additional"></a>

設定網路流量設定的說明可在[具有預設或自訂安全群組組態的公開存取性](https://docs.aws.amazon.com/redshift/latest/mgmt/rs-security-group-public-private.html#rs-security-group-public-default)中取得。其中包括可公開存取叢集的使用案例。

設定網路流量設定的說明可在[具有預設或自訂安全群組組態的私有存取性](https://docs.aws.amazon.com/redshift/latest/mgmt/rs-security-group-public-private.html#rs-security-group-private)中取得。其中包括叢集無法在網際網路上使用的使用案例。

如需 Amazon Redshift Serverless 安全連線的相關資訊 (包括授予許可、授權其他服務的存取權，以及建立 IAM 角色)，請參閱 [Amazon Redshift Serverless 中的身分和存取管理](serverless-iam.md)。