設定自訂網域名稱 - Amazon Redshift

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

設定自訂網域名稱

設定自訂網域名稱包含幾項任務:其中包括向 DNS 提供者註冊網域名稱以及建立憑證。執行這些工作後,您可以在 Amazon Redshift 主控台或 Amazon Redshift 無伺服器主控台中設定自訂網域名稱,或使用命令進行設定。 AWS CLI 下列各節會詳細說明這些步驟。

註冊網域名稱並選取憑證

您必須有已註冊的網際網路網域名稱,才能在 Amazon Redshift 中設定自訂網域名稱。您可以使用 Route 53 或第三方網域註冊提供商來註冊網際網路網域。您會在 Amazon Redshift 主控台之外完成這些任務。想要完成剩餘程序以便建立自訂網域,先決條件是要有已註冊的網域。。

注意

若您正在使用佈建的叢集,在執行相關步驟以設定自訂網域名稱之前,您必須先啟用重新定位。如需詳細資訊,請參閱 重新定位叢集。Amazon Redshift Serverless 不需要此步驟。

自訂網域名稱通常包括根網域和子網域,例如 mycluster.example.com。若要進行設定,請執行下列步驟:

為自訂網域名稱建立 DNS CNAME 項目
  1. 註冊根網域,例如 example.com。您可以選擇使用現有網域。自訂名稱可能會受限於特定字元限制或其他命名驗證。如需使用 Route 53 註冊網域的相關資訊,請參閱註冊新網域

  2. 針對您的叢集或工作群組,新增會將自訂網域指向 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下列方式執行此步驟

向 ACM 請求網域名稱的憑證
  1. 登入 AWS Management Console 並開啟 ACM 主控台,網址為 https://console.aws.amazon.com/acm/

  2. 選擇 Request a certificate (請求憑證)

  3. 網域名稱欄位中輸入您的自訂網域名稱。

    注意

    除了憑證網域外,您還可以指定許多字首,以便將單一憑證用於多個自訂網域記錄。若要說明,您可以搭配相同憑證來使用其他記錄,例如 one.example.comtwo.example.com 或萬用字元 DNS 記錄如 *.example.com

  4. 選擇 Review and request (檢閱和請求)。

  5. 選擇 Confirm and request (確認和請求)。

  6. 針對有效的請求,在 ACM 發出憑證之前,網際網路網域的註冊擁有者必須先同意請求。完成這些步驟後,請確定狀態在 ACM 主控台中顯示為已發行

我們建議您建立符合受管續約資格的 DNS 驗證憑證,此憑證適用於 AWS Certificate Manager。受管續約的意思是 ACM 會自動續約您的憑證,或在即將到期時傳送電子郵件通知給您。如需詳細資訊,請參閱 ACM 憑證的受管續約

建立自訂網域

您可以使用 Amazon Redshift 或Amazon Redshift Serverless 主控台來建立自訂網域 URL。如果您尚未設定,在一般資訊底下,自訂網域名稱屬性會顯示為破折號 ()。建立 CNAME 記錄和憑證之後,為叢集或工作群組的自訂網域名稱建立關聯。

若要建立自訂網域關聯,您必須有下列 IAM 許可:

  • redshift:CreateCustomDomainAssociation — 您可以透過新增特定叢集的 ARN 來限制特定叢集的許可。

  • redshiftServerless:CreateCustomDomainAssociation — 您可以透過新增 ARN 來限制特定工作群組的許可。

  • acm:DescribeCertificate

我們建議的最佳實務是,將許可政策附加到 IAM 角色,然後根據需要將其指派給使用者和群組。如需詳細資訊,請參閱 Amazon Redshift 中的身分和存取管理

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

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

  2. 輸入自訂網域名稱。

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

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

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

注意

提醒您,叢集重新定位不是設定其他 Redshift 網路功能的先決條件。您不需要開啟此功能即可啟用下列項目:

  • 從跨帳戶或跨區域 VPC 連線至 Redshift — 您可以從一個 AWS 虛擬私人雲端 (VPC) 連線到包含 Redshift 資料庫的另一個虛擬私有雲端。這樣可以更輕鬆地管理,例如:從不同的帳戶或 VPC 進行用戶端存取,而不必提供本機 VPC 存取權限來連線至資料庫的身分識別。如需詳細資訊,請參閱從其他帳戶或區域中的 Redshift VPC 端點連線至 Amazon Redshift Serverless

  • 設定自訂網域名稱 — 您可以建立自訂網域名稱 (如本主題所述),讓端點名稱更相關且簡單。

使用主控台重新命名已指派自訂網域的叢集

注意

這一系列步驟不適用於 Amazon Redshift Serverless 工作群組。您無法變更工作群組名稱。

若要重新命名具有自訂網域名稱的叢集,就必須有 acm:DescribeCertificate IAM 許可。

  1. 前往 Amazon Redshift 主控台,然後選擇要變更其名稱的叢集。選擇編輯以編輯叢集屬性。

  2. 叢集叢集識別碼。您也可以變更叢集的其他屬性。接著選擇 Save changes (儲存變更)

  3. 重新命名叢集之後,您必須更新 DNS 記錄,將自訂網域的 CNAME 項目變更為指向更新後的 Amazon Redshift 端點。

使用 CLI 命令描述自訂網域關聯

使用本節中的命令可取得與特定佈建叢集或 Amazon Redshift Serverless 工作群組相關聯的自訂網域名稱清單。

您需要具備下列許可:

  • 針對已佈建的叢集:redshift:DescribeCustomDomainAssociations

  • 對於 Amazon Redshift Serverless 工作群組:redshiftServerless:ListCnameAssociations

我們建議的最佳實務是,將許可政策附加到 IAM 角色,然後根據需要將其指派給使用者和群組。如需詳細資訊,請參閱 Amazon Redshift 中的身分和存取管理

以下是列出指定 Amazon Redshift 叢集之自訂網域名稱的範例命令:

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

您可以在啟用自訂網域名稱時執行此命令,以判斷與叢集相關聯的自訂網域名稱。如需用來描述自訂網域關聯之 CLI 指令的詳細資訊,請參閱describe-custom-domain-associations

同樣的,以下顯示範例命令以列出指定 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

使自訂網域與不同的憑證產生關聯

若要變更自訂網域名稱的憑證關聯,需要下列 IAM 許可:

  • redshift:ModifyCustomDomainAssociation

  • acm:DescribeCertificate

我們建議的最佳實務是,將許可政策附加到 IAM 角色,然後根據需要將其指派給使用者和群組。如需詳細資訊,請參閱 Amazon Redshift 中的身分和存取管理

使用下列命令以利用不同憑證與自訂網域建立關聯。––custom-domain-namecustom-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

刪除自訂網域

若要刪除自訂網域名稱,使用者必須具有下列動作的許可:

  • 針對已佈建的叢集: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

使用 SQL 用戶端連線至具有自訂網域名稱的叢集或工作群組

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

我們建議的最佳實務是,將許可政策附加到 IAM 角色,然後根據需要將其指派給使用者和群組。如需詳細資訊,請參閱 Amazon Redshift 中的身分和存取管理

在主控台完成建立 CNAME 並將其指派給叢集的步驟後,您可以在 SQL 用戶端的連線屬性中提供自訂 URL。請注意,建立 CNAME 記錄之後,系統會立即因為 DNS 傳播而發生延遲。

  1. 開啟 SQL 用戶端。例如,您可以使用 SQL/Workbench J。開啟連線的屬性,並新增連線字串的自訂網域名稱。例如 jdbc:redshift://mycluster.example.com:5439/dev?sslmode=verify-full。在此範例中,dev 會指定預設資料庫。

  2. 新增資料庫使用者的使用者名稱密碼

  3. 測試連線。根據向資料庫使用者授予的許可或向所指派的 Amazon Redshift 資料庫角色授予的許可,您查詢資料庫資源 (例如特定資料表) 的能力會有所不同。

    請注意,如果在 VPC 中,您可能必須將叢集或工作群組設定為可公開存取,才能連線到叢集或工作群組。您可以在網路屬性中變更此設定。

注意

JDBC 和 Python 驅動程式支援與自訂網域名稱的連線。不支援 ODBC 連線。