本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 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 金鑰
-
導覽至 AWS KMS 主控台
-
在瀏覽器中開啟 AWS 管理主控台
-
在頂端的搜尋列中,輸入 "KMS",然後從結果中選取 "Key Management Service"
-
這會開啟 KMS 儀表板,您將在其中管理加密金鑰
-
-
啟動金鑰建立
-
在 KMS 儀表板上,找到並按一下右上角的建立金鑰按鈕
-
這會啟動金鑰建立精靈,引導您完成設定程序
-
-
設定金鑰類型和用量
-
在「設定金鑰」頁面上,選取對稱做為金鑰類型 (這是預設和建議的選項)
-
在金鑰用量下保持選取「加密和解密」
-
-
設定金鑰識別詳細資訊
-
在「Alias」欄位中,輸入金鑰的描述性名稱,例如
aws-supply-chain-database-key -
在「描述」欄位中,新增內容,例如「Amazon Connect Decisions 資料庫登入資料的加密金鑰」
-
或者,新增標籤以協助組織和追蹤您的 AWS 資源 (例如,金鑰:「專案」、值:「Amazon Connect 決策」)
-
-
定義金鑰管理許可
-
選取應該能夠管理此金鑰的 IAM 使用者或角色 (建立、刪除、修改政策)
-
至少包含您自己的管理員角色,以確保您可以視需要稍後修改金鑰
-
這些管理員可以管理金鑰,但不會自動擁有將其用於加密/解密的許可
-
在「金鑰刪除」區段中,允許金鑰管理員刪除此金鑰。(這是預設和建議的選項)
-
-
定義金鑰使用許可
-
在此頁面上,您將看到選擇可使用金鑰之 IAM 使用者和角色的選項
-
略過在此處選取特定使用者,您將在下一個步驟中設定服務許可
-
-
設定 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": "*" } -
-
檢閱並完成
-
在摘要頁面上檢閱所有組態設定
-
確認您的別名、描述和政策正確無誤
-
按一下完成以建立金鑰
-
建立後,您將返回 KMS 儀表板,您的新金鑰將出現在清單中
-
預期事項
金鑰建立是立即的。建立後,您會在 KMS 主控台中看到列出狀態為 "Enabled" 的新金鑰。金鑰現在已準備好在 Secrets Manager 中加密您的資料庫憑證。
設定 AWS Secrets Manager
現在您已擁有 KMS 金鑰,您將在 AWS Secrets Manager 中建立秘密,以安全地存放資料庫憑證,然後設定允許 Amazon Connect Decisions 存取此秘密的資源政策。
建立您的秘密
-
導覽至 AWS Secrets Manager
-
在 AWS 管理主控台搜尋列中,輸入「Secrets Manager」
-
從結果中選取「Secrets Manager」以開啟服務儀表板
-
-
開始建立新的秘密
-
按一下儲存新的秘密按鈕
-
在「選擇秘密類型」頁面上,選取其他類型的秘密 (這可讓您靈活地建構登入資料)
-
-
輸入您的資料庫登入資料
-
在鍵/值對區段中,將資料庫連線詳細資訊新增為字串:
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 -
-
選取您的加密金鑰
-
在「加密金鑰」下,選取選擇 AWS KMS 金鑰
-
從下拉式清單中選取您在步驟 1 中建立的 KMS 金鑰 (例如
aws-supply-chain-database-key) -
這可確保您的登入資料使用客戶受管金鑰加密
-
-
為您的秘密命名
-
輸入秘密的描述性名稱,例如
aws-supply-chain-production-database -
或者,新增描述,例如「Amazon Connect Decisions 生產環境的資料庫登入資料」
-
視需要為組織新增標籤 (例如金鑰:「環境」、值:「生產」)
-
-
新增資源許可
-
按一下「編輯許可」。在政策編輯器中,貼上下列政策。此政策允許 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>" } ] } -
-
儲存政策
-
按一下儲存以套用資源政策
-
此政策現在處於作用中狀態,並允許 Amazon Connect Decisions 擷取您的資料庫登入資料
-
-
設定輪換 (選用)
-
針對此設定,您可以選取停用自動輪換來略過自動輪換
-
如果您的安全政策需要輪換,您可以稍後啟用輪換
-
-
Review and create (檢閱和建立)
-
檢閱您的所有秘密詳細資訊
-
按一下儲存以建立秘密
-
您將返回 Secrets Manager 儀表板
-
-
儲存您的秘密 ARN
-
在秘密清單中尋找新建立的秘密
-
按一下秘密名稱以開啟其詳細資訊頁面
-
在頂端,您會看到秘密 ARN
-
複製並儲存此 ARN
-
ARN 格式如下所示:
arn:aws:secretsmanager:us-east-1:123456789012:secret:aws-supply-chain-production-database-AbCdEf
-
-
編輯資源許可
-
按一下「編輯許可」
-
貼上複製的秘密 ARN,並將 取代
<COPY-THE-SECRET-ARN-HERE-AFTER-CREATING>為您複製的 ARN -
按一下儲存以連接政策
-
預期事項
您的秘密現在已使用 KMS 金鑰安全地儲存和加密。Amazon Connect Decisions 的服務具有在建立資料庫連線時擷取憑證的許可,但憑證會保持靜態和傳輸中加密。
將您的資料庫連線至 Amazon Connect 決策
設定 KMS 金鑰和秘密後,您就可以在 Amazon Connect Decisions 中建立 JDBC 連線。
設定您的 JDBC 連線
-
導覽至 Amazon Connect 決策 > 資料管理
-
登入您的 Amazon Connect Decisions 執行個體
-
從主要導覽中,選取「資料管理」
-
在索引標籤導覽中,導覽至「連線」
-
選取「新連線」以建立新的連線
-
-
輸入您的連線詳細資訊
-
連線名稱 (必要):輸入此連線的唯一識別符 (例如 "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)
-
-
連線至您的資料庫
-
按一下「連線」來測試和建立連線。Amazon Connect Decisions 將驗證是否可以使用提供的登入資料成功連線至您的資料庫。此步驟最多可能需要 2 分鐘,因此請勿在連線期間離開此畫面。
-
如果連線成功,您會自動導覽至資料表選擇
-
如果連線失敗:
-
檢閱您的連線詳細資訊,以確保所有欄位皆正確無誤:
-
驗證您的秘密 ARN 是否正確
-
確認您的資料庫登入資料正確無誤
-
檢查您的 JDBC URL 格式是否正確
-
確保您的資料庫已設定為接受來自 AWS 服務的連線
-
確認您的 KMS 金鑰和 Secrets Manager 政策已正確設定
-
-
您也可以透過詢問「為什麼我的資料庫連線失敗?」等問題,使用聊天體驗來協助疑難排解連線問題。或「協助我偵錯我的 JDBC 連線」
-
-
-
選取要擷取的資料表
-
連線後,您會看到選取資料表畫面,顯示資料庫中所有可用的資料表
-
選取您要擷取之每個資料表旁的核取方塊
-
-
設定資料表重新整理排程
-
針對每個選取的資料表,按一下動作欄中的三點功能表,然後選取「排程重新整理」
-
在設定載入詳細資訊對話方塊中,設定:
-
Cadence:重新整理的頻率 (每小時、每日、每週或自訂)
-
開始時間:重新整理開始的時間 (以 UTC 顯示,並顯示時區位移)
-
重新整理類型:選擇完成重新整理 (取代所有資料) 或增量更新 (將新資料新增至現有資料;需要選取記錄時間戳記欄)
-
視需要為每個資料表重複
-
-
設定所有資料表時按一下開始映射
-
-
繼續資料映射
-
從現在開始,體驗與我們的資料加入流程相同
-
遵循資料加入使用者指南中的資料映射區段來完成設定
-
預期事項
建立連線並選取資料表後,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 會自動使用新的登入資料
-
文件自訂組態:記下任何特殊重新整理排程、轉換邏輯或連線需求,以供您的團隊參考
-
定期檢閱資料表選擇:隨著資料需求的變化,請重新檢視您正在擷取的資料表,以及重新整理排程是否仍符合業務需求