本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
連線至 Amazon Redshift Serverless
在設定 Amazon Redshift Serverless 執行個體後,便可以使用以下概述的各種方法連線到該執行個體。如果您有多個團隊或專案,並且想要分開管理成本,則可以使用不同的 AWS 帳戶。
如需 Amazon Redshift Serverless 可用 AWS 區域 位置的清單,請參閱 中為 Redshift Serverless API 列出的端點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
您可以使用下列語法連線到 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
您可以使用下列其中一種方法,使用 Amazon Redshift 提供的JDBC驅動程式第 2 版驅動程式,透過您偏好的SQL用戶端連線至 Amazon Redshift Serverless。
若要使用JDBC驅動程式 2.1.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
若要IAM使用JDBC驅動程式 2.1.x 版或更新版本連線至 ,請使用下列語法。您可以選擇是否使用連接埠號碼;如果未包含,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 中設定連線。
尋找您的 JDBC和 ODBC 連線字串
若要使用SQL用戶端工具連線到工作群組,您必須具有 JDBC或 ODBC連線字串。您可以在 Amazon Redshift Serverless 主控台的工作群組詳細資訊頁面上找到連線字串。
尋找工作群組的連線字串
-
登入 AWS Management Console 並在 開啟 Amazon Redshift 主控台https://console.aws.amazon.com/redshiftv2/
。 -
在導覽選單上,選擇 Redshift Serverless。
-
在導覽選單上,選擇工作群組組態,然後從清單中選擇工作群組名稱以開啟其詳細資訊。
-
一般資訊區段中有可用的 JDBCURL和 ODBCURL連線字串,以及其他詳細資訊。每個字串都以工作群組執行 AWS 的區域為基礎。選擇適當連線字串旁邊的圖示以複製連線字串。
使用 Data 連線至 Amazon Redshift Serverless API
您也可以使用 Amazon Redshift Data API連線至 Amazon Redshift Serverless。在 AWS CLI 通話中使用 workgroup-name
參數,而不是 cluster-identifier
參數。
如需資料 的詳細資訊API,請參閱 使用 Amazon Redshift Data API。如需在 Python API 中呼叫 Data 的範例程式碼和其他範例,請參閱開始使用 Redshift DataAPIquick-start
和 use-cases
資料夾GitHub。
連線至 SSL Amazon Redshift Serverless
設定與 Amazon Redshift Serverless 的安全連線
為了支援SSL連線,Redshift Serverless 會為每個工作群組建立並安裝 AWS Certificate Manager (ACM)sslmode
選項設定為 require
、 或 ,連線至 Redshift Serverlessverify-ca
,您可能需要下載憑證套件verify-full
。如果您的用戶端需要憑證,Redshift Serverless 會提供套件憑證,如下所示:
從 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://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/amazon-trust-ca-bundle.crt
下載套件。 預期的總MD5和檢查碼為 418dea9b6d5d5de7a8f1ac42e164cdcf。
sha256 檢查總和碼為 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550。
請勿使用位於
https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/redshift-ca-bundle.crt
和https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/redshift-downloads-cn/redshift-ssl-ca-cert.pem
的先前憑證套件。
重要
Redshift Serverless 已變更管理SSL憑證的方式。您可能需要更新目前的信任根 CA 憑證,才能繼續使用 連線到工作群組SSL。如需SSL連線ACM憑證的詳細資訊,請參閱 轉換至SSL連線的ACM憑證。
根據預設,工作群組資料庫接受連線SSL,無論是否使用。
若要建立新的只接受SSL連線的工作群組,請使用 create-workgroup
命令,並將 require_ssl
參數設定為 true
。若要使用下列範例,請取代 yourNamespaceName
使用命名空間的名稱並取代 yourWorkgroupName
您的工作群組名稱。
aws redshift-serverless create-workgroup \ --namespace-name
yourNamespaceName
\ --workgroup-nameyourWorkgroupName
\ --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 支援橢圓曲線 Diffie—Hellman Ephemeral (ECDHE) 金鑰協議通訊協定。使用 時ECDHE,用戶端和伺服器每個都有橢圓曲線公有金鑰對,用於在不安全的頻道上建立共用密碼。您不需要在 Amazon Redshift 中設定任何項目來啟用 ECDHE。如果您從ECDHE用來加密用戶端與伺服器之間通訊的SQL用戶端工具連線,Amazon Redshift 會使用提供的密碼清單進行適當的連線。如需詳細資訊,請參閱 OpenSSL 網站上的橢圓曲線 diffie,也就是 Wikipedia 和 Ciphers 上的 Hellman
設定FIPS與 Amazon Redshift Serverless 相容的SSL連線
若要建立使用 FIPS合規SSL連線的新工作群組,請使用 create-workgroup
命令並將 use_fips_ssl
參數設定為 true
。若要使用下列範例,請取代 yourNamespaceName
使用命名空間的名稱並取代 yourWorkgroupName
您的工作群組名稱。
aws redshift-serverless create-workgroup \ --namespace-name
yourNamespaceName
\ --workgroup-nameyourWorkgroupName
\ --config-parameters parameterKey=use_fips_ssl,parameterValue=true
若要更新現有工作群組以使用 FIPS合規SSL連線,請使用 update-workgroup
命令並將 use_fips_ssl
參數設定為 true
。請注意,Redshift Serverless 會在您更新 use_fips_ssl
參數時重新啟動您的工作群組。若要使用下列範例,請取代 yourWorkgroupName
您的工作群組名稱。
aws redshift-serverless update-workgroup \ --workgroup-name
yourWorkgroupName
\ --config-parameters parameterKey=use_fips_ssl,parameterValue=true
如需將 Redshift Serverless 設定為使用 FIPS合規連線的詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南 中的 use_fips_ssl。
從 Amazon Redshift 受管VPC端點連線至 Amazon Redshift Serverless
從其他VPC端點連線至 Amazon Redshift Serverless
如需設定或設定 Amazon Redshift Serverless 工作群組受管VPC端點的相關資訊,請參閱使用 Redshift 受管VPC端點 。
從介面VPC端點 (AWS PrivateLink) 連線至 Amazon Redshift Serverless
如需從介面VPC端點 (AWS PrivateLink) 連線至 Amazon Redshift Serverless 的相關資訊,請參閱 界面 VPC 端點。
從另一個帳戶或區域中的 Redshift VPC端點連線至 Amazon Redshift Serverless
從跨VPC端點連線至 Amazon Redshift Serverless
Amazon Redshift Serverless 是在 中佈建VPC。您可以授予另一個帳戶中 VPC 的存取權,以存取您帳戶中的 Amazon Redshift Serverless。這類似於來自受管VPC端點的連線,但在這種情況下,連線源自於其他帳戶中的資料庫用戶端。您可以執行幾項作業:
資料庫擁有者可以將VPC包含 Amazon Redshift Serverless 的 存取權授予相同區域中的另一個帳戶。
資料庫擁有者可以撤銷 Amazon Redshift Serverless 存取權。
跨帳戶存取的主要優點是允許更輕鬆的資料庫協同作業。不必在包含資料庫的帳戶中佈建使用者即可存取資料庫,這樣可減少設定步驟並節省時間。
授予對VPC另一個帳戶中 的存取權所需的許可
若要授予存取權或變更允許的存取權,授予者需要具有下列權限的已指派權限政策:
redshift-serverless:PutResourcePolicy
redshift-serverless:GetResourcePolicy
redshift-serverless:DeleteResourcePolicy
ec2:CreateVpcEndpoint
ec2:ModifyVpcEndpoint
您可能需要 AWS 受管政策 中指定的其他許可AmazonRedshiftFullAccess。如需詳細資訊,請參閱授予 Amazon Redshift Serverless 的權限。
承授者需要具有下列權限的已指派權限政策:
redshift-serverless:ListWorkgroups
redshift-serverless:CreateEndpointAccess
redshift-serverless:UpdateEndpointAccess
redshift-serverless:GetEndpointAccess
redshift-serverless:ListEndpointAccess
redshift-serverless:DeleteEndpointAccess
最佳實務是,我們建議將許可政策連接至IAM角色,然後視需要指派給使用者和群組。如需詳細資訊,請參閱 Amazon Redshift 中的身分和存取管理。
這是用於設定交叉VPC存取的範例資源政策:
{ "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" ], "Condition": { "ArnLike": { "redshift-serverless:AuthorizedVpc": [ "arn:aws:ec2:us-east-1:123456789012:vpc/*", "arn:aws:ec2:us-east-1:234567890123:vpc/vpc-456", "arn:aws:ec2:us-east-1:234567890123:vpc/vpc-987" ] } } } } ] }
本節中的程序假設執行這些動作的使用者具有適當的指派許可,例如,透過列出許可的指派IAM角色。這些程序也假設工作群組已連接具有適當資源許可IAM的角色。
使用主控台授予其他帳戶的VPC存取權
此程序顯示當您是資料庫擁有者且想要授予存取權時,用於設定資料庫存取權的步驟。
從擁有者帳戶授予存取權
-
在 Amazon Redshift Serverless 工作群組的屬性中,在資料存取索引標籤上有一份名為已授予的帳戶清單。它會顯示帳戶並VPCs授予工作群組的存取權。找到清單,然後選擇授予存取權,將帳戶新增至清單。
-
出現一個視窗,您可以在其中新增承授者資訊。輸入 AWS 帳戶的 ID,其為您要授予存取權的帳戶的 12 位數 ID。
-
授予VPCs受讓者所有 的存取權,或特定 的存取權VPCs。如果您只授予特定 IDs的存取權VPCs,則可以輸入每個 ,然後選擇新增 VPC來新增這些 。
-
完成後,選擇儲存變更。
當您儲存變更時,帳戶會出現在已授予的帳戶清單中。項目會顯示帳戶 ID 和VPCs授予的存取清單。
資料庫擁有者也可以撤銷帳戶的存取權。您可以隨時撤消存取權。
撤銷帳戶存取權
-
您可以從授予的帳戶清單開始。首先,選取一或多個帳戶。
-
選擇撤銷存取權。
授予存取權之後,承授者的資料庫管理員可以檢查主控台,以判斷他們是否具有存取權。
使用主控台確認已授予存取其他帳戶的存取權
-
在 Amazon Redshift Serverless 工作群組屬性的資料存取索引標籤上,有一份名為授權的帳戶清單。它顯示可以從此工作組存取的帳戶。受讓者無法使用工作群組的端點直接URL存取工作群組。若要存取工作組,身為承授者的您移至端點區段,然後選擇建立端點。
-
然後,作為被授予者,您提供端點名稱和 VPC來存取工作群組。
-
成功建立端點後,它會出現在端點區段中,並有一個URL端點。您可以使用此端點URL來存取工作群組。
使用CLI命令授予其他帳戶的存取權
授予存取權的帳戶必須先授予其他帳戶的存取權,才能使用連線put-resource-policy
。資料庫擁有者可以呼叫 put-resource-policy
以授權其他帳戶,建立與工作群組的連線。然後,承授者帳戶可以使用 create-endpoint-authorization
,透過其允許的 建立與工作群組的連線VPCs。
以下顯示 的屬性put-resource-policy
,您可以呼叫 以允許存取特定帳戶和 VPC。
aws redshift-serverless put-resource-policy --resource-arn <value> --policy <value>
呼叫 命令後,您可以呼叫 get-resource-policy
,指定 resource-arn
以查看哪些帳戶以及VPCs允許存取 資源。
承授者可以進行以下呼叫。它顯示有關授予存取權的資訊。具體而言,它會傳回包含VPCs授予存取的清單。
aws redshift-serverless list-workgroups --owner-account <value>
這樣做的目的是讓承授者從授予帳戶取得有關端點授權的資訊。owner-account
是共用帳戶。當您執行此操作時,它會傳回每個工作群組CrossAccountVpcs
的 ,這是允許的 清單VPCs。以下內容展示了工作群組可用的所有屬性以做為參考:
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
注意
提醒您,叢集重新定位並非設定其他 Redshift 網路功能的先決條件。您也不需要將其開啟才能啟用下列功能:
從跨帳戶或跨區域VPC連線至 Redshift – 您可以從一個 AWS 虛擬私有雲端 (VPC) 連線至另一個包含 Redshift 資料庫的私有雲端,如本節所述。
設定自訂網域名稱 – 您可以為 Amazon Redshift 叢集或 Amazon Redshift Serverless 工作群組建立自訂網域名稱URL,也稱為自訂 ,讓端點名稱更令人難忘且更簡單。如需詳細資訊,請參閱使用自訂網域名稱來進行用戶端連線。
其他資源
設定網路流量設定的指示可在具有預設或自訂安全群組組態的公開存取中取得。這包括叢集可公開存取的使用案例。
設定網路流量設定的指示可在具有預設或自訂安全群組組態的私有可存取性 中取得。這包括網際網路無法使用叢集的使用案例。
如需 Amazon Redshift Serverless 安全連線的詳細資訊,包括授予許可、授權存取其他服務和建立IAM角色,請參閱 Amazon Redshift Serverless 中的身分和存取管理。