View a markdown version of this page

使用 JDBC 连接到您的数据库 - Amazon Connect 的决定

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 JDBC 连接到您的数据库

本指南将引导您使用 Java 数据库连接 (JDBC) 将数据库连接到 Amazon Connect 决策。您需要为数据库凭证设置安全加密,并建立 Amazon Connect Decisions 可用于访问您的数据的连接。

什么是 JDBC 连接以及何时应该使用它?

JDBC 连接允许 Amazon Connect Decisions 连接到您的现有数据库以读取数据,而不必要求您导出和上传 CSV 文件或设置自己的提取、转换、加载 (ETL) 管道到 S3。在以下情况下,这种方法是理想的选择:

  • 您的数据已存储在 AWS Glue-compatible 关系数据库中。有关兼容的数据库和版本,请参阅本指南

  • 您希望无需手动导出文件即可进行实时或近实时的数据访问

  • 您的数据量很大,并且经常更新

  • 您更愿意将数据保存在当前位置而不是复制

  • 如果您使用的是较小的数据集或更喜欢基于文件的上传,那么标准的 CSV 上传过程可能会更简单地满足您的需求。有关此过程的更多详细信息,请参阅数据加载用户指南。

先决条件

在开始之前,请确保您满足以下条件:

  • 一个有权创建 KMS 密钥和 Secrets Manager 资源的 AWS 账户

  • 您的 AWS 账户 ID 以及 Amazon Connections 将运作的地区

  • 数据库连接详细信息:主机名、端口、数据库名称和凭据

  • 对您的数据库进行管理访问以验证连接

  • 您的数据库已配置为接受来自 AWS 服务的连接

创建 Customer-Managed KMS 密钥

在将数据库连接到 Amazon Connect Decisions 之前,您需要为数据库凭证设置加密。AWS 密钥管理服务 (KMS) Management Service 提供了此安全层,可确保您的连接详细信息受到保护。

创建您的 KMS 密钥

  1. 导航到 AWS KMS 控制台

    • 在浏览器中打开 AWS 管理控制台

    • 在顶部的搜索栏中,键入 “KMS”,然后从结果中选择 “密钥管理服务”

    • 这将打开 KMS 控制面板,您将在其中管理加密密钥

  2. 启动密钥创建

    • 在 KMS 控制面板上,找到并单击右上角的创建密钥按钮

    • 这将启动密钥创建向导,该向导将指导您完成设置过程

  3. 配置密钥类型和用法

    • 在 “配置密钥” 页面上,选择 Symmetric 作为密钥类型(这是默认且推荐的选项)

    • 保持 “密钥用法” 下的 “加密和解密” 处于选中状态

  4. 设置密钥识别详细信息

    • 在 “别名” 字段中,输入密钥的描述性名称,例如 aws-supply-chain-database-key

    • 在 “描述” 字段中,添加诸如 “Amazon Connections 数据库凭证的加密密钥” 之类的上下文

    • (可选)添加标签以帮助组织和跟踪您的 AWS 资源(例如,密钥:“项目”,值:“Amazon Connections Decisions”)

  5. 定义密钥管理权限

    • 选择应该能够管理此密钥(创建、删除、修改策略)的 IAM 用户或角色

    • 至少要包括你自己的管理员角色,以确保你以后可以在需要时修改密钥

    • 这些管理员可以管理密钥,但不会自动获得使用密钥的权限 encryption/decryption

    • 在 “密钥删除” 部分,允许密钥管理员删除此密钥。 (这是默认和推荐的选项)

  6. 定义密钥使用权限

    • 在此页面上,您将看到用于选择可以使用密钥的 IAM 用户和角色的选项

    • 跳过此处选择特定用户的步骤,您将在下一步中配置服务权限

  7. 为 Amazon Connections 服务配置密钥策略

    • 你会看到一个带有默认 JSON 的策略编辑器

    • 在 KMS 密钥策略编辑器中,将以下语句附加到现有的 “声明” 数组中

    • 该政策授予您的账户完全控制权,并允许 Amazon Connections 的服务(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控制台中看到您的新密钥列出,其状态为 “已启用”。密钥现已准备就绪,可以在 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 Connections 生产环境的数据库凭证” 之类的描述

    • 如果组织需要,可以添加标签(例如,密钥:“环境”,值:“生产”)

  6. 添加资源权限

    • 单击 “编辑权限”。在策略编辑器中,粘贴以下策略。该政策允许 Amazon Connections 的服务读取你的秘密

    { "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 Connections 检索您的数据库凭证

  8. 配置轮换(可选)

    • 在此设置中,您可以通过选择 “禁用自动旋转” 来跳过自动旋转

    • 如果您的安全策略需要,您可以稍后启用轮换

  9. 审核和创建

    • 查看您的所有秘密信息

    • 单击 “存储” 以创建密钥

    • 你将返回到 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 Connections 中建立 JDBC 连接了。

配置您的 JDBC 连接

  1. 导航至 Amazon Connect 决策 > 数据管理

    • 登录到你的 Amazon Connections 实例

    • 从主导航栏中选择 “数据管理”

    • 在选项卡导航中,导航到 “连接”

    • 选择 “新建连接” 以创建新连接

  2. 输入您的连接详情

    • 连接名称(必填):输入此连接的唯一标识符(例如,“生产数据库”)

    • 描述(可选):添加有关此连接的目的和用法的详细信息,以帮助您的团队了解它访问了哪些数据

    • JDBC 网址(必填):按以下格式输入完整的 JDBC 连接字符串:jdbc:<database-type>://<hostname>:<port>/<database>(例如,)jdbc:postgresql://db.example.com:5432/mydb

    • 架构名称(可选):根据需要指定数据库架构(例如,“public”、“dbo”、“myschema”)。留空以使用数据库的默认架构

    • 秘密 ARN(必填):粘贴您在步骤 2 中保存的秘密 ARN。这允许 Amazon Connections 从 Secrets Manager 安全地检索您的数据库凭证。

    • 强制执行 SSL 连接:选中此复选框(推荐)以要求对数据库连接进行 SSL/TLS 加密

    • VPC 终端节点服务名称(必填):输入通过 AWS 进行私有连接的 VPC 终端节点服务名称 PrivateLink (格式:com.amazonaws.vpce.<region>.vpce-svc-xxxxxxxxx

  3. Connect 连接到您的数据库

    • 单击 “Connect” 以测试并建立连接。Amazon Connect Decisions 将验证它是否可以使用提供的凭证成功连接到您的数据库。此步骤最多可能需要 2 分钟,因此请不要在连接期间离开此屏幕。

    • 如果连接成功,您将自动导航到表格选择

    • 如果连接失败:

      • 查看您的连接详细信息以确保所有字段都准确无误:

        • 验证您的密钥 ARN 是否正确

        • 确认您的数据库凭证准确无误

        • 检查您的 JDBC 网址格式是否正确

        • 确保您的数据库已配置为接受来自 AWS 服务的连接

        • 验证您的 KMS 密钥和 Secrets Manager 策略配置是否正确

      • 您还可以使用聊天体验通过提问 “为什么我的数据库连接失败?” 之类的问题来帮助解决连接问题 或 “帮我调试我的 JDBC 连接”

  4. 选择要收录的表

    • 连接后,您将看到 “选择表” 屏幕,其中显示了数据库中所有可用的表

    • 选中要收录的每张表旁边的复选框

  5. 配置表格刷新计划

    • 对于每个选定的表格,单击 “操作” 列中的三点菜单,然后选择 “计划刷新”

    • 在配置负载详细信息对话框中,设置:

      • 节奏:刷新频率(每小时、每天、每周或自定义)

      • 开始时间:开始刷新的时间(以 UTC 和您的时区偏移量显示)

      • 刷新类型:选择完成刷新(替换所有数据)或增量更新(向现有数据添加新数据;需要选择记录时间戳列)

      • 根据需要对每张桌子重复此操作

    • 配置完所有表后,单击 “开始映射”

  6. 继续进行数据映射

    • 从现在开始,体验与我们的数据加载流程相同

    • 按照《数据载入用户指南》的 “数据映射” 部分完成设置

会发生什么

建立连接并选择表后,Amazon Connect Decisions 就可以从您的数据库中读取数据。连接保持活跃和安全,证书通过 AWS Secrets Manager 进行加密和管理。您无需在 Amazon Connect 决策中手动更新凭证,您在 Secrets Manager 中所做的任何更改都将自动反映出来。

最佳实践

安全和访问管理

  • 安全存储证书:始终使用 AWS Secrets Manager 存储数据库证书,切勿在连接字符串或配置文件中对证书进行硬编码

  • 启用 SSL/TLS 加密:保持 “强制 SSL 连接” 选项处于启用状态,以确保传输过程中对数据进行加密

  • 定期查看 KMS 和 Secrets Manager 政策:确保只有经过授权的服务和账户才能访问您的加密密钥和机密

  • 使用最低权限访问权限:仅向数据库用户授予 Amazon Connect Decisions 用于连接的最低必要权限

连接配置

  • 使用描述性连接名称:选择清晰、有意义的名称来表示环境和目的(例如,“production-inventory-db” 而不是 “db1”)

  • 记录您的连接:使用描述字段记下连接访问了哪些数据、谁拥有这些数据以及任何特殊注意事项

  • 在继续操作之前测试连接:在选择表格和配置刷新计划之前,请务必验证您的连接是否正常

  • 验证 JDBC 网址格式: Double-check您的 JDBC 网址语法与您的数据库类型相匹配以避免连接错误

数据刷新策略

  • 选择适当的刷新频率:根据源数据更改频率和业务需求选择刷新频率

  • 在低活动期间安排刷新:在数据库负载较低时配置刷新时间,以最大限度地减少对性能的影响

  • 尽可能使用增量更新:对于频繁更改的大型数据集,增量更新比完全刷新更有效

  • 选择有意义的时间戳列:使用增量更新时,请选择能够准确反映记录创建或修改时间的列

使用聊天进行故障排除

  • 具体说明您的请求:在寻求帮助以解决连接或映射问题时,请提供清晰的背景信息

  • 询问解释:如果您不理解建议或生成的 SQL 查询,请要求澄清

  • 在接受之前测试所有 SQL 更改:使用预览功能验证转换是否按预期使用实际数据

  • 利用聊天进行故障排除:当连接失败或刷新遇到错误时,请询问诸如 “为什么我的连接失败?” 之类的诊断问题 或 “帮我理解这个刷新错误”

持续维护

  • 定期监控刷新执行情况:检查数据管理中的 “目标” 和 “源” 选项卡,确保刷新成功完成

  • 及时解决错误:当 Amazon Connect Decisions 提醒您刷新失败时,请快速调查和解决问题以避免数据缺口

  • 安全地更新证书:当数据库密码更改时,在 AWS Secrets Manager 中对其进行更新,Amazon Connections 将自动使用新的证书

  • 记录自定义配置:记下任何特殊的刷新计划、转换逻辑或连接要求以供团队参考

  • 定期查看表选择:随着数据需求的变化,重新审视您正在采集哪些表,以及刷新计划是否仍然符合业务需求