View a markdown version of this page

使用 JDBC 連線至您的資料庫 - Amazon Connect 決策

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

使用 JDBC 連線至您的資料庫

本指南會逐步引導您使用 Java Database Connectivity (JDBC) 將資料庫連線至 Amazon Connect Decisions。您將為資料庫登入資料設定安全加密,並建立 Amazon Connect Decisions 可用來存取資料的連線。

什麼是 JDBC 連線以及何時應使用它?

JDBC 連線可讓 Amazon Connect Decisions 連線至現有的資料庫以讀取資料,而不是要求您匯出和上傳 CSV 檔案,或設定自己的擷取、轉換、載入 (ETL) 管道至 S3。此方法的理想時機如下:

  • 您的資料已存放在與 AWS Glue 相容的關聯式資料庫中。如需相容的資料庫和版本,請參閱本指南

  • 您想要即時或near-real-time的資料存取,無需手動匯出檔案

  • 您的資料磁碟區很大且經常更新

  • 您偏好將資料保留在目前的位置,而不是將其複製

  • 如果您使用的是較小的資料集,或偏好以檔案為基礎的上傳,標準 CSV 上傳程序可能更符合您的需求。如需此程序的詳細資訊,請參閱資料加入使用者指南。

先決條件

開始前,請確保您具備以下條件:

  • 具有建立 KMS 金鑰和 Secrets Manager 資源許可的 AWS 帳戶

  • 您的 AWS 帳戶 ID 和 Amazon Connect Decisions 將運作的區域

  • 資料庫連線詳細資訊:主機名稱、連接埠、資料庫名稱和登入資料

  • 對資料庫的管理存取權,以驗證連線能力

  • 您的資料庫設定為接受來自 AWS 服務的連線

建立客戶受管 KMS 金鑰

將資料庫連線至 Amazon Connect Decisions 之前,您需要設定資料庫登入資料的加密。AWS Key Management Service (KMS) 提供此安全層,確保您的連線詳細資訊仍受到保護。

建立您的 KMS 金鑰

  1. 導覽至 AWS KMS 主控台

    • 在瀏覽器中開啟 AWS 管理主控台

    • 在頂端的搜尋列中,輸入 "KMS",然後從結果中選取 "Key Management Service"

    • 這會開啟 KMS 儀表板,您將在其中管理加密金鑰

  2. 啟動金鑰建立

    • 在 KMS 儀表板上,找到並按一下右上角的建立金鑰按鈕

    • 這會啟動金鑰建立精靈,引導您完成設定程序

  3. 設定金鑰類型和用量

    • 在「設定金鑰」頁面上,選取對稱做為金鑰類型 (這是預設和建議的選項)

    • 在金鑰用量下保持選取「加密和解密」

  4. 設定金鑰識別詳細資訊

    • 在「Alias」欄位中,輸入金鑰的描述性名稱,例如 aws-supply-chain-database-key

    • 在「描述」欄位中,新增內容,例如「Amazon Connect Decisions 資料庫登入資料的加密金鑰」

    • 或者,新增標籤以協助組織和追蹤您的 AWS 資源 (例如,金鑰:「專案」、值:「Amazon Connect 決策」)

  5. 定義金鑰管理許可

    • 選取應該能夠管理此金鑰的 IAM 使用者或角色 (建立、刪除、修改政策)

    • 至少包含您自己的管理員角色,以確保您可以視需要稍後修改金鑰

    • 這些管理員可以管理金鑰,但不會自動擁有將其用於加密/解密的許可

    • 在「金鑰刪除」區段中,允許金鑰管理員刪除此金鑰。(這是預設和建議的選項)

  6. 定義金鑰使用許可

    • 在此頁面上,您將看到選擇可使用金鑰之 IAM 使用者和角色的選項

    • 略過在此處選取特定使用者,您將在下一個步驟中設定服務許可

  7. 設定 Amazon Connect Decisions 服務的金鑰政策

    • 您將看到具有預設 JSON 的政策編輯器

    • 在 KMS 金鑰政策編輯器中,將下列陳述式附加至您現有的「陳述式」陣列

    • 此政策授予您的帳戶完全控制權,並允許 Amazon Connect Decisions 的服務 (Secrets Manager 和 Glue) 解密您的資料庫憑證

    { "Sid": "Allow GDIS service to decrypt", "Effect": "Allow", "Principal": { "Service": "scn.amazonaws.com" }, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant", "kms:GenerateDataKeyWithoutPlaintext" ], "Resource": "*" }
  8. 檢閱並完成

    • 在摘要頁面上檢閱所有組態設定

    • 確認您的別名、描述和政策正確無誤

    • 按一下完成以建立金鑰

    • 建立後,您將返回 KMS 儀表板,您的新金鑰將出現在清單中

預期事項

金鑰建立是立即的。建立後,您會在 KMS 主控台中看到列出狀態為 "Enabled" 的新金鑰。金鑰現在已準備好在 Secrets Manager 中加密您的資料庫憑證。

設定 AWS Secrets Manager

現在您已擁有 KMS 金鑰,您將在 AWS Secrets Manager 中建立秘密,以安全地存放資料庫憑證,然後設定允許 Amazon Connect Decisions 存取此秘密的資源政策。

建立您的秘密

  1. 導覽至 AWS Secrets Manager

    • 在 AWS 管理主控台搜尋列中,輸入「Secrets Manager」

    • 從結果中選取「Secrets Manager」以開啟服務儀表板

  2. 開始建立新的秘密

    • 按一下儲存新的秘密按鈕

    • 在「選擇秘密類型」頁面上,選取其他類型的秘密 (這可讓您靈活地建構登入資料)

  3. 輸入您的資料庫登入資料

    • 在鍵/值對區段中,將資料庫連線詳細資訊新增為字串

    Key: username, Value: your database username Key: password, Value: your database password Key: host, Value: your database hostname (e.g., database.example.com) Key: port, Value: your database port (e.g., 3306 for MySQL) Key: database, Value: your database name
  4. 選取您的加密金鑰

    • 在「加密金鑰」下,選取選擇 AWS KMS 金鑰

    • 從下拉式清單中選取您在步驟 1 中建立的 KMS 金鑰 (例如 aws-supply-chain-database-key)

    • 這可確保您的登入資料使用客戶受管金鑰加密

  5. 為您的秘密命名

    • 輸入秘密的描述性名稱,例如 aws-supply-chain-production-database

    • 或者,新增描述,例如「Amazon Connect Decisions 生產環境的資料庫登入資料」

    • 視需要為組織新增標籤 (例如金鑰:「環境」、值:「生產」)

  6. 新增資源許可

    • 按一下「編輯許可」。在政策編輯器中,貼上下列政策。此政策允許 Amazon Connect Decisions 的服務讀取您的秘密

    { "Version" : "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Principal" : { "Service" : "scn.amazonaws.com" }, "Action" : [ "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret" ], "Resource" : "<COPY-THE-SECRET-ARN-HERE-AFTER-CREATING>" } ] }
  7. 儲存政策

    • 按一下儲存以套用資源政策

    • 此政策現在處於作用中狀態,並允許 Amazon Connect Decisions 擷取您的資料庫登入資料

  8. 設定輪換 (選用)

    • 針對此設定,您可以選取停用自動輪換來略過自動輪換

    • 如果您的安全政策需要輪換,您可以稍後啟用輪換

  9. Review and create (檢閱和建立)

    • 檢閱您的所有秘密詳細資訊

    • 按一下儲存以建立秘密

    • 您將返回 Secrets Manager 儀表板

  10. 儲存您的秘密 ARN

    • 在秘密清單中尋找新建立的秘密

    • 按一下秘密名稱以開啟其詳細資訊頁面

    • 在頂端,您會看到秘密 ARN

    • 複製並儲存此 ARN

    • ARN 格式如下所示: arn:aws:secretsmanager:us-east-1:123456789012:secret:aws-supply-chain-production-database-AbCdEf

  11. 編輯資源許可

    • 按一下「編輯許可」

    • 貼上複製的秘密 ARN,並將 取代<COPY-THE-SECRET-ARN-HERE-AFTER-CREATING>為您複製的 ARN

    • 按一下儲存以連接政策

預期事項

您的秘密現在已使用 KMS 金鑰安全地儲存和加密。Amazon Connect Decisions 的服務具有在建立資料庫連線時擷取憑證的許可,但憑證會保持靜態和傳輸中加密。

將您的資料庫連線至 Amazon Connect 決策

設定 KMS 金鑰和秘密後,您就可以在 Amazon Connect Decisions 中建立 JDBC 連線。

設定您的 JDBC 連線

  1. 導覽至 Amazon Connect 決策 > 資料管理

    • 登入您的 Amazon Connect Decisions 執行個體

    • 從主要導覽中,選取「資料管理」

    • 在索引標籤導覽中,導覽至「連線」

    • 選取「新連線」以建立新的連線

  2. 輸入您的連線詳細資訊

    • 連線名稱 (必要):輸入此連線的唯一識別符 (例如 "production-database")

    • 描述 (選用):新增此連線的目的和使用詳細資訊,以協助您的團隊了解其存取的資料

    • JDBC URL (必要):以下列格式輸入您的完整 JDBC 連線字串: jdbc:<database-type>://<hostname>:<port>/<database>(例如 jdbc:postgresql://db.example.com:5432/mydb)

    • 結構描述名稱 (選用):視需要指定資料庫結構描述 (例如 "public"、"dbo"、"myschema")。保留空白以使用資料庫的預設結構描述

    • 秘密 ARN (必要):貼上您從步驟 2 儲存的秘密 ARN。這可讓 Amazon Connect Decisions 從 Secrets Manager 安全地擷取您的資料庫登入資料。

    • 強制執行 SSL 連線:保持選取此核取方塊 (建議),以要求資料庫連線使用 SSL/TLS 加密

    • VPC 端點服務名稱 (必要):透過 AWS PrivateLink 輸入私有連線的 VPC 端點服務名稱 (格式:com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxx)

  3. 連線至您的資料庫

    • 按一下「連線」來測試和建立連線。Amazon Connect Decisions 將驗證是否可以使用提供的登入資料成功連線至您的資料庫。此步驟最多可能需要 2 分鐘,因此請勿在連線期間離開此畫面。

    • 如果連線成功,您會自動導覽至資料表選擇

    • 如果連線失敗:

      • 檢閱您的連線詳細資訊,以確保所有欄位皆正確無誤:

        • 驗證您的秘密 ARN 是否正確

        • 確認您的資料庫登入資料正確無誤

        • 檢查您的 JDBC URL 格式是否正確

        • 確保您的資料庫已設定為接受來自 AWS 服務的連線

        • 確認您的 KMS 金鑰和 Secrets Manager 政策已正確設定

      • 您也可以透過詢問「為什麼我的資料庫連線失敗?」等問題,使用聊天體驗來協助疑難排解連線問題。或「協助我偵錯我的 JDBC 連線」

  4. 選取要擷取的資料表

    • 連線後,您會看到選取資料表畫面,顯示資料庫中所有可用的資料表

    • 選取您要擷取之每個資料表旁的核取方塊

  5. 設定資料表重新整理排程

    • 針對每個選取的資料表,按一下動作欄中的三點功能表,然後選取「排程重新整理」

    • 在設定載入詳細資訊對話方塊中,設定:

      • Cadence:重新整理的頻率 (每小時、每日、每週或自訂)

      • 開始時間:重新整理開始的時間 (以 UTC 顯示,並顯示時區位移)

      • 重新整理類型:選擇完成重新整理 (取代所有資料) 或增量更新 (將新資料新增至現有資料;需要選取記錄時間戳記欄)

      • 視需要為每個資料表重複

    • 設定所有資料表時按一下開始映射

  6. 繼續資料映射

    • 從現在開始,體驗與我們的資料加入流程相同

    • 遵循資料加入使用者指南中的資料映射區段來完成設定

預期事項

建立連線並選取資料表後,Amazon Connect Decisions 可以從資料庫讀取資料。連線會保持作用中且安全,並透過 AWS Secrets Manager 加密和管理登入資料。您不需要手動更新 Amazon Connect Decisions 中的登入資料,您在 Secrets Manager 中所做的任何變更都會自動反映。

最佳實務

安全與存取管理

  • 安全地存放登入資料:一律使用 AWS Secrets Manager 來存放資料庫登入資料,絕不要在連線字串或組態檔案中硬式編碼登入資料

  • 啟用 SSL/TLS 加密:保持啟用「強制 SSL 連線」選項,以確保資料傳輸中加密資料

  • 定期檢閱 KMS 和 Secrets Manager 政策:確保只有授權的服務和帳戶可以存取您的加密金鑰和秘密

  • 使用最低權限存取:僅將最低必要許可授予 Amazon Connect Decisions 將用於連線的資料庫使用者

連線組態

  • 使用描述性連線名稱:選擇明確、有意義的名稱來表示環境和用途 (例如,「production-inventory-db」而不是「db1」)

  • 記錄您的連線:使用描述欄位記下連線存取哪些資料、誰擁有它,以及任何特殊考量

  • 繼續之前測試連線:選取資料表和設定重新整理排程之前,請務必驗證連線是否正常運作

  • 驗證 JDBC URL 格式:再次檢查您的 JDBC URL 語法是否符合您的資料庫類型,以避免連線錯誤

資料重新整理策略

  • 選擇適當的重新整理節奏:根據來源資料變更的頻率和業務需求,選取重新整理頻率

  • 低活動期間排程重新整理:設定資料庫負載較低的重新整理時間,將效能影響降至最低

  • 盡可能使用增量更新:對於經常變更的大型資料集,增量更新比完全重新整理更有效率

  • 選取有意義的時間戳記資料欄:使用增量更新時,請選擇準確反映記錄建立或修改時間的資料欄

使用聊天進行疑難排解

  • 在您的請求中具體說明:在請求協助疑難排解連線或映射問題時提供清晰的內容

  • 要求說明:如果您不了解建議或產生的 SQL 查詢,請要求釐清

  • 在接受之前測試所有 SQL 變更:使用預覽功能來驗證轉換是否與實際資料如預期般運作

  • 利用聊天進行故障診斷:當連線失敗或重新整理遇到錯誤時,詢問診斷問題,例如「為什麼我的連線失敗?」 或「協助我了解此重新整理錯誤」

持續維護

  • 定期監控重新整理執行:檢查資料管理中的目的地和來源索引標籤,以確保重新整理成功完成

  • 迅速解決錯誤:當 Amazon Connect Decisions 提醒您重新整理失敗時,請快速調查並解決問題,以避免資料漏洞

  • 安全地更新登入資料:資料庫密碼變更時,在 AWS Secrets Manager 中更新登入資料,Amazon Connect Decisions 會自動使用新的登入資料

  • 文件自訂組態:記下任何特殊重新整理排程、轉換邏輯或連線需求,以供您的團隊參考

  • 定期檢閱資料表選擇:隨著資料需求的變化,請重新檢視您正在擷取的資料表,以及重新整理排程是否仍符合業務需求