連線至 Amazon Redshift Serverless - Amazon Redshift

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

連線至 Amazon Redshift Serverless

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

如需提供 Amazon Redshift 無伺服器的位 AWS 區域 置清單,請參閱中列出的 Redshift 無伺服器API端點。Amazon Web Services 一般參考

Amazon Redshift 無伺服器連線到您目前環境中的 AWS 帳戶 無伺服器環境。 AWS 區域 Amazon Redshift 無伺服器在連接埠範圍為 5431-5455 和 8191-82 VPC 15 的連接埠範圍內執行。預設值為 5439。目前,您只能隨著API作業UpdateWorkgroup和作業變更連接埠update-workgroup。 AWS CLI

連線至 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

透過驅動程式連線至 Amazon Redshift 無伺服器 JDBC

您可以使用下列其中一種方法,透過使用 Amazon Redshift ft 提供的驅動程式版本 2 驅動程式,透過偏好的用SQL戶端連線到 Amazon Redshift JDBC 無伺服器。

若要使用 2.1.x 版或更新版本的JDBC驅動程式連線以進行資料庫驗證的登入認證,請使用下列語法。您可以選擇是否使用連接埠號碼;如果未包含,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 主控台的工作群組詳細資訊頁面上找到連線字串。

尋找工作群組的連線字串
  1. 登入 AWS Management Console 並開啟 Amazon Redshift 主控台,https://console.aws.amazon.com/redshiftv2/網址為。

  2. 在導覽選單上,選擇 Redshift Serverless

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

  4. 您可以在「一般資訊」區段中使用JDBCURLODBCURL連接字串以及其他詳細資訊。每個字串均以工作群組執行的 AWS 區域為基礎。選擇適當連線字串旁邊的圖示以複製連線字串。

使用資料連接至 Amazon Redshift 無伺服器 API

您也可以使用 Amazon Redshift 數據連接API到 Amazon Redshift 無服務器。在 AWS CLI 呼叫中workgroup-name使用cluster-identifier參數而不是參數。

如需有關「資料」的更多資訊API,請參閱使用 Amazon Redshift 數據 API。如需使用 Python 呼叫資料API的範例程式碼和其他範例,請參閱 Redshift 資料入門API並查看中的quick-start和資料use-cases夾。GitHub

連接SSL到 Amazon Redshift 無伺服器

設定與 Amazon Redshift Serverless 的安全連線

為了支援SSL連線,Redshift 無伺服器會為每個工作群組建立並安裝 AWS Certificate Manager (ACM) 核發的SSL憑證。ACM憑證受到大多數作業系統、網頁瀏覽器和用戶端的公開信任。如果您的用SQLSSL戶端或應用程式使用連線選項設為requireverify-ca或,sslmode連線選項連線至 Redshift 無伺服器,您可能需要下載憑證套件組合。verify-full如果您的用戶端需要憑證,Redshift 無伺服器會提供組合憑證,如下所示:

  • https://s3.amazonaws.com/redshift-downloads/amazon-trust-ca-bundle.crt 下載套裝軟體。

    • 預期的MD5總和檢查碼為 418 十億

    • sha256 檢查總和碼為 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550。

    請勿使用位於 https://s3.amazonaws.com/redshift-downloads/redshift-ca-bundle.crt 的先前憑證套件。

  • 在中國 AWS 區域,請從以下位置下載該軟件包amazon-trust-ca-bundle。redshift-downloads-cn https://s3---cn-north-1.amazonaws.com.rproxy.goskope.com.cn/

    • 預期的MD5總和檢查碼為 418 十億

    • sha256 檢查總和碼為 36dba8e4b8041cd14b9d60158893963301bcbb92e1c456847784de2acb5bd550。

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

重要

Redshift 無伺服器已變更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-name yourWorkgroupName \ --config-parameters parameterKey=require_ssl,parameterValue=true

若要將既有工作群組更新為僅接受SSL連接,請使用update-workgroup指令並將require_ssl參數設定為true。請注意,Redshift 無伺服器會在require_ssl您更新參數時重新啟動工作群組。若要使用下列範例,請取代 yourWorkgroupName 使用您的工作組的名稱。

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

Amazon Redshift 支持橢圓曲線差異 — 赫爾曼短暫 () 關鍵協議協議。ECDHE使用時ECDHE,用戶端和伺服器各有一個橢圓曲線的公開-私密 key pair,可用來在不安全的通道上建立共用密碼。您不需要在 Amazon Redshift 中設定任何項目即可啟ECDHE用。如果您透過用來加密用SQLECDHE戶端和伺服器之間通訊的用戶端工具進行連線,Amazon Redshift 會使用提供的加密清單來建立適當的連線。有關更多信息,請參閱維基百科上的橢圓曲線差異-hellman 和 Open 網站上的密碼。 SSL

設定與亞馬遜無伺服器的FIPS符合標準的SSL連線

若要建立使用FIPS符合標準SSL連接的新工作群組,請使用create-workgroup指令並將use_fips_ssl參數設定為true。若要使用下列範例,請取代 yourNamespaceName 使用您的名稱空間的名稱並替換 yourWorkgroupName 使用您的工作組的名稱。

aws redshift-serverless create-workgroup \ --namespace-name yourNamespaceName \ --workgroup-name yourWorkgroupName \ --config-parameters parameterKey=use_fips_ssl,parameterValue=true

若要更新既有工作群組以使用FIPS符合規定的SSL連接,請使用update-workgroup指令並將use_fips_ssl參數設定為true。請注意,Redshift 無伺服器會在use_fips_ssl您更新參數時重新啟動工作群組。若要使用下列範例,請取代 yourWorkgroupName 使用您的工作組的名稱。

aws redshift-serverless update-workgroup \ --workgroup-name yourWorkgroupName \ --config-parameters parameterKey=use_fips_ssl,parameterValue=true

如需有關設定 Redshift 無伺服器使用FIPS符合規定連線的詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南中的 use_fips_ssl

從 Amazon Redshift 受管端點連接到亞馬遜無伺服器 VPC

從其他端點連接至 Amazon Redshift 無伺服器 VPC

如需為 Amazon Redshift 無伺服器工作群組設定或設定受管VPC端點的相關資訊,請參閱使用 Red VPC Shift 管理的端點。

從其他帳戶或區域的 Redshift VPC 端點連接至 Amazon Redshift 無伺服器

從跨端點連接至 Amazon Redshift 無伺服器 VPC

Amazon Redshift 無伺服器是在. VPC 您可以授與其他帳戶的VPC存取權,以存取帳戶中的 Amazon Redshift 無伺服器。這類似於來自受管理VPC端點的連線,但在此情況下,連線是來自另一個帳戶中的資料庫用戶端。您可以執行幾項作業:

  • 資料庫擁有者可以將VPC包含 Amazon Redshift 無伺服器的存取權授與給相同區域中的其他帳戶。

  • 資料庫擁有者可以撤銷 Amazon Redshift Serverless 存取權。

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

授予其他帳戶存取權所需VPC的權限

若要授予存取權或變更允許的存取權,授予者需要具有下列權限的已指派權限政策:

  • 無紅移伺服器:PutResourcePolicy

  • 無紅移伺服器:GetResourcePolicy

  • 無紅移伺服器:DeleteResourcePolicy

  • ec2:CreateVpcEndpoint

  • ec2:ModifyVpcEndpoint

您可能需要 AWS 受管理策略中指定的其他權限AmazonRedshiftFullAccess。如需詳細資訊,請參閱授予 Amazon Redshift Serverless 的權限

承授者需要具有下列權限的已指派權限政策:

  • 無紅移伺服器:ListWorkgroups

  • 無紅移伺服器:CreateEndpointAccess

  • 無紅移伺服器:UpdateEndpointAccess

  • 無紅移伺服器:GetEndpointAccess

  • 無紅移伺服器:ListEndpointAccess

  • 無紅移伺服器: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存取權

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

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

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

  3. 授予受權者或特VPCs定VPCs對象的全部存取權。如果您只授與特定存取權VPCs,您可以輸入每個項目並選擇 [新增] 來新增這些存取權VPC。IDs

  4. 完成後,選擇儲存變更

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

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

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

  2. 選擇撤銷存取權

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

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

  2. 然後,身為受權者,您可以提供端點名稱和 a VPC 來存取工作群組。

  3. 成功建立端點後,它會出現在端點區段中,並且有一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 無伺服器工作群組建立自訂URL網域名稱 (也稱為自訂),以使端點名稱更加簡單易記。如需詳細資訊,請參閱使用自訂網域名稱來進行用戶端連線

為 Amazon Redshift Serverless 設定適當的網路流量設定

在可公開存取時連線到 Amazon Redshift Serverless

您可以在具有預設或自訂安全性群組組態的「公用存取性」中找到設定網路流量設定的指示。這包括叢集可公開存取的使用案例。

在無法公開存取時連線到 Amazon Redshift Serverless

如需設定網路流量設定的指示,請參閱具有預設或自訂安全性群組組態的私人存取功能。這包括叢集無法供網際網路使用的使用案例。

在 Amazon Redshift Serverless 中定義要向聯合身分使用者授予的資料庫角色

您可以在組織中定義角色,以此決定要在 Amazon Redshift Serverless 中授予哪些資料庫角色。如需詳細資訊,請參閱在 Amazon Redshift Serverless 中定義要向聯合身分使用者授予的資料庫角色

其他資源

如需 Amazon Redshift 無伺服器安全連線的詳細資訊,包括授與權限、授權存取其他服務以及建立IAM角色,請參閱。Amazon Redshift Serverless 中的身分和存取管理