

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

# Amazon Quick Sight 的数据源连接问题
<a name="troubleshoot-connect-to-datasources"></a>

参阅下节内容帮助您排查数据来源连接问题。在继续之前，请确认数据库目前可用。此外，请确认您使用的连接信息正确且凭证有效。

**Topics**
+ [

# 数据来源连接选项看似正常（SSL）却无法连接
](troubleshoot-connect-SSL.md)
+ [

# 无法连接到 Amazon Athena
](troubleshoot-connect-athena.md)
+ [

# 无法连接到 Amazon S3
](troubleshoot-connect-S3.md)
+ [

# 无法根据现有的 Adobe Analytics 数据来源创建或刷新数据集
](troubleshoot-connect-adobe-analytics.md)
+ [

# 需要验证与数据来源的连接或更改数据来源设置
](troubleshoot-connect-validate.md)
+ [

# 无法连接到 MySQL（SSL 和授权问题）
](troubleshoot-connect-mysql.md)
+ [

# 无法连接到 RDS
](troubleshoot-connect-RDS.md)

# 数据来源连接选项看似正常（SSL）却无法连接
<a name="troubleshoot-connect-SSL"></a>

安全套接字层 (SSL) 配置不正确时，可能会出现连接问题。可能出现以下症状：
+ 您可以采用其他方式或从其他位置连接到数据库，但以这种方式不行。
+ 您可以连接到类似的数据库，但无法连接此数据库。

在继续之前，请先排除以下情况：
+ 权限问题
+ 可用性问题
+ 证书过期或无效
+ 自签名证书
+ 证书链的顺序错误
+ 端口未启用
+ 防火墙阻止 IP 地址
+ Web 套接字已被阻止
+ 虚拟私有云（VPC）或安全组配置不正确。

为了帮助查找 SSL 的问题，您可以使用一个在线 SSL 检查程序或像 OpenSSL 这样的工具。

 以下步骤演示在疑似 SSL 问题时如何排查连接错误。在本示例中，管理员已安装 OpenSSL。

**Example**  

1. 用户发现连接到数据库时有问题。用户确认自己可以连接其他 Amazon Web Services 区域中的不同数据库。他们尝试连接同一数据库的其他版本，结果是可以轻松连接。

1. 管理员检查了问题，并决定验证证书是否正常工作。管理员在线搜索关于使用 OpenSSL 的文章来排查或调试 SSL 连接问题。

1. 使用 OpenSSL，管理员验证了终端的 SSL 配置。

   ```
   echo quit
   openssl s_client –connect <host>:port
   ```

   结果显示证书无法正常工作。

   ```
   ...
   ...
   ...
   CONNECTED(00000003)
   012345678901234:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:782:
   ---
   no peer certificate available
   ---
   No client certificate CA names sent
   ---
   SSL handshake has read 7 bytes and written 278 bytes
   ---
   New, (NONE), Cipher is (NONE)
   Secure Renegotiation IS NOT supported
   SSL-Session:
       Protocol  : TLSv1.2
       Cipher    : 0000
       Session-ID:
       Session-ID-ctx:
       Master-Key:
       Key-Arg   : None
       PSK identity: None
       PSK identity hint: None
       Start Time: 1497569068
       Timeout   : 300 (sec)
       Verify return code: 0 (ok)
   ---
   ```

1. 管理员在用户的数据库服务器上安装了 SSL 证书，从而更正了此问题。

有关本示例中解决方案的更多详细信息，请参阅《Amazon RDS 用户指南》**中的[使用 SSL 加密与数据库实例的连接](https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)。

# 无法连接到 Amazon Athena
<a name="troubleshoot-connect-athena"></a>


|  | 
| --- |
|    目标受众：Amazon Quick 管理员  | 

要帮助排查与 Athena 连接的问题，请参阅本节内容。

如果无法连接到 Amazon Athena，您可能会在运行查询时遇到权限不足错误，显示权限未配置。要验证您是否可以将 Amazon Quick Sight 连接到 Athena，请检查以下设置：
+ Amazon Amazon Quick Sight 内部的资源权限
+ Amazon Identity and Access Management (IAM) 策略
+ Amazon S3 位置
+ 查询结果位置
+ Amazon KMS 密钥策略（仅适用于加密数据集）

有关详细信息，请参阅以下内容。有关排查 Athena 中其他问题的信息，请参阅 [将 Amazon Athena 与 Amazon Quick Sight 配合使用时出现连接问题](troubleshoot-athena.md)。

## 确保您已授权 Amazon Quick Sight 使用 Athena
<a name="troubleshoot-connect-athena-authorizing"></a>


|  | 
| --- |
|    目标受众：Amazon Quick 管理员  | 

使用以下步骤确保您成功授权 Amazon Quick Sight 使用 Athena。 Amazon 资源权限适用于所有 Amazon Quick Sight 用户。

要执行此操作，您必须是 Amazon Quick Sight 管理员。要检查您是否有访问权限，请确认您在右上角的个人资料中打开菜单时看到了 “**管理**” QuickSight 选项。

**授权 Amazon Quick Sight 访问 Athena**

1. 选择自己的个人资料名称（右上角）。选择 “**管理 Quick Sight**”，然后向下滚动到 “**自定义权限**” 部分。

1. 选择**Amazon 资源**，然后选择**添加或删除**。

1. 在列表中找到 Athena。清除 Athena 旁边的方框，然后再次选中以启用 Athena。

   然后选择 **Connect both (连接两者)**。

1. 选择您要从 Amazon Quick Sight 访问的存储桶。

   您在此处访问的 S3 存储桶的设置与您通过从列表中选择 Amazon S3 访问的 Amazon Web Services 服务设置相同。请注意，避免无意中禁用其他人使用的存储桶。

1. 选择**完成**确认自己的选择。您也可以选择**取消**，不保存就退出。

   

1. 选择 “**更新**” 以保存您的新设置以供 Amazon Quick Sight 访问 Amazon Web Services 服务。您也可以选择**取消**，不进行任何更改就退出。

1. 完成后，请确保您使用的是正确 Amazon Web Services 区域 的。

   如果您必须在此过程的第一步中进行更改，请将其更改回之前 Amazon Web Services 区域 使用的版本。 Amazon Web Services 区域 

## 确保 IAM 策略授予了正确的权限
<a name="troubleshoot-connect-athena-perms"></a>


|  | 
| --- |
|    目标受众：系统管理员  | 

您的 Amazon Identity and Access Management (IAM) 策略必须授予特定操作的权限。您的 IAM 用户或角色必须能够读取和写入 Athena 用于查询的 S3 存储桶的输入和输出。

如果数据集已加密，则 IAM 用户必须是指定密钥策略中的 Amazon KMS 密钥用户。

**验证 IAM 策略是否有权对查询使用 S3 存储桶**

1. 使用 [https://console.aws.amazon.com/iam/](https://console.amazonaws.cn/iam/) 打开 IAM 控制台。

1. 找到所使用的 IAM 用户或角色。选择用户或角色名称以查看关联的策略。

1. 验证策略是否具有正确的权限。选择您想要验证的策略，然后选择**编辑策略**。使用可视化编辑器，该编辑器在默认情况下打开。如果您改为打开 JSON 编辑器，请选择**可视化编辑器**选项卡。

1. 在列表中选择 S3 条目以查看其内容。该策略需要授予列出、读取和写入权限。如果 S3 未在列表中，也没有正确的权限，您可以在此处它们。

有关与 Quick Sight 配合使用的 IAM 策略的示例，请参阅[Quick 的 IAM 策略示例](iam-policy-examples.md)。

## 确保 IAM 用户有权 read/write 访问您的 S3 位置
<a name="troubleshoot-connect-athena-read-write-access"></a>


|  | 
| --- |
|    目标受众：Amazon Quick 管理员  | 

**要从 Quick Sight 访问 Athena 数据，请先确保 Athena 及其 S3 位置已在 “管理” 屏幕中获得授权。 QuickSight**有关更多信息，请参阅 [确保您已授权 Amazon Quick Sight 使用 Athena](#troubleshoot-connect-athena-authorizing)。

接下来，验证相关的 IAM 权限。您的 Athena 连接的 IAM 用户 read/write 需要访问结果在 S3 中的存储位置。首先验证 IAM 用户是否有[允许访问 Athena](https://docs.amazonaws.cn/athena/latest/ug/setting-up.html#attach-managed-policies-for-using-ate) 的附加策略，例如 `AmazonAthenaFullAccess`。让 Athena 使用所需的名称创建存储桶，然后将此存储桶添加到可以访问的存储桶列表中。QuickSight 如果您更改结果存储桶的默认位置 (`aws-athena-query-results-*`)，请确保 IAM 用户有权读取和写入新位置。

确认您未在 S3 网址中包含该 Amazon Web Services 区域 代码。例如，使用 `s3://awsexamplebucket/path` 而不是 `s3://us-east-1.amazonaws.com/awsexamplebucket/path`。使用错误的 S3 URL 会导致 `Access Denied` 错误。

还要验证存储桶策略和对象访问控制列表 (ACLs) 是否[允许 IAM 用户访问存储桶中的对象](https://docs.amazonaws.cn/AmazonS3/latest/dev/s3-access-control.html)。如果 IAM 用户位于其他用户中 Amazon Web Services 账户，请参阅 A *mazon Athena 用户指南*中的[跨账户访问](https://docs.amazonaws.cn/athena/latest/ug/cross-account-permissions.html)。

如果数据集已加密，请验证 IAM 用户是否为指定密钥策略中的 Amazon KMS 密钥用户。你可以在 Amazon KMS 控制台的 [https://console.aws.amazon.com/km](https://console.amazonaws.cn/kms) s 中执行此操作。

**设置 Athena 查询结果位置的权限**

1. 从 [https://console.aws.amazon.com/athena/](https://console.amazonaws.cn/athena/home) 打开 Athena 控制台。

1. 确认您已选择想要使用的工作组：
   + 检查顶部的**工作组**选项。它的格式为**工作组:*group-name*.** 如果组名称是您想要使用的名称，请跳到下一步。
   + 要选择不同的工作组，请选择顶部的**工作组**。选择想要使用的工作组，然后选择**切换工作组**。

1. 选择右上角的**设置**。

   （不常见）如果出现未找到工作组的错误，请按照以下步骤进行修复：

   1.  暂时忽略错误消息，改为在 **“设置”** 页面*group-name*上找到 **Workgroup:**。工作组的名称是一个超链接。打开该链接。

   1. 在 **Workgroup: *<groupname>*** 页面上，选择左**边的编辑工作组**。现在请关闭错误消息。

   1. 在**查询结果位置**附近，通过选择带有文件夹图标的**选择**按钮打开 S3 位置选择器。

   1. 选择 Athena 的 S3 位置名称末尾的小箭头。名称必须以 `aws-athena-query-results` 开头。

   1. （可选）通过选中**加密存储在 S3 中的结果**复选框来加密查询结果。

   1. 选择**保存**以确认您的选择。

   1. 如果错误没有再次出现，请返回**设置**。

      有时，错误可能会再次出现。如果出现，请按以下步骤操作：

      1. 选择工作组，然后选择**查看详细信息**。

      1. （可选）要保留您的设置，请记下工作组配置或对其截屏。

      1. 选择 **Create workgroup (创建工作组)**。

      1. 将该工作组替换为新工作组。配置正确的 S3 位置和加密选项。记下 S3 位置以供稍后使用。

      1. 选择**保存**以继续。

      1. 如果不再需要原始工作组，请将其禁用。务必仔细阅读出现的警告，因为警告会告知您禁用原始工作组会丢失的内容。

1. 如果您在上一步中未通过问题排查获得此值，请选择右上角的**设置**，并获取显示为**查询结果位置**的 S3 位置值。

1. 如果启用了**加密查询结果**，请检查使用的是 SSE-KMS 还是 CSE-KMS。记下密钥。

1. 在打开 S3 控制台 [https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)，打开正确的存储桶，然后选择**权限**选项卡。

1. 通过查看**存储桶策略**来检查 IAM 用户是否具有访问权限。

   如果您使用管理访问权限 ACLs，请确保通过查看访问控制列表来设置**访问控制列表** (ACLs)。

1. 如果您的数据集已加**密（在工作组设置中选择 “加密查询结果**”），请确保将 IAM 用户或角色添加为该密钥策略中的 Amazon KMS 密钥用户。您可以通过 [https://console.aws.amazon.com/km](https://console.amazonaws.cn/kms) s 访问 Amazon KMS 设置。

**授予对 Athena 使用的 S3 存储桶的访问权限**

1. 打开 Amazon S3 控制台，网址为 [https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

1. 在**查询结果位置**中选择 Athena 使用的 S3 存储桶。

1. 在 **Permissions** (权限) 选项卡中，验证权限。

有关更多信息，请参阅 Supp Amazon ort 文章[当我运行 Athena 查询时，我收到 “访问被拒绝](https://www.amazonaws.cn/premiumsupport/knowledge-center/access-denied-athena/)” 错误。

# 无法连接到 Amazon S3
<a name="troubleshoot-connect-S3"></a>

要成功连接到 Amazon S3，请确保配置身份验证并在尝试访问的存储桶中创建有效的清单文件。您还需要确保清单所描述的文件可用。

要验证身份验证，请确保您已授权 Amazon Quick Sight 访问 S3 账户。只有您自己（即用户）拥有授权是不够的。Amazon Quick Sight 必须单独获得授权。

**授权 Amazon Quick Sight 访问您的 Amazon S3 存储桶**

1. 在右上角的 Amazon Web Services 区域 列表中，选择美国东部（弗吉尼亚北部）区域。在编辑账户权限时，您可以 Amazon Web Services 区域 暂时使用此功能。

1. 在 Amazon Quick Sight 中，选择您的个人资料名称（右上角）。选择 “**管理 Quick Sight**”，然后向下滚动到 “**自定义权限**” 部分。

1. 选择**Amazon 资源**，然后选择**添加或删除**。

1. 在列表中找到 Amazon S3。选择以下操作之一打开可在其中选择 S3 存储桶的屏幕：
   + 如果清除了该复选框，请选择 Amazon S3 旁边的复选框。
   + 如果已选中该复选框，请选择**详细信息**，然后选取**选择 S3 存储桶**。

1. 选择您要从 Amazon Quick Sight 访问的存储桶。然后选择 **Select**。

1. 选择**更新**。

1. 如果您在此过程的第一步中更改了您的，请将其更改回要使用的。 Amazon Web Services 区域 Amazon Web Services 区域 

强烈建议您确保清单文件有效。如果 Amazon Quick Sight 无法解析你的文件，它会给你一条错误消息。可能是“We can't parse the manifest file as valid JSON”或“We can't connect to the S3 bucket”这样的错误消息。

**验证清单文件**

1. 打开您的清单文件。您可以直接从 Amazon S3 控制台执行此操作，网址为[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。转到您的清单文件，然后选择**打开**。

1. 确保清单文件中 URLs 提供的 URI 或表示要连接的一个或多个文件。

1. 如果使用指向清单文件的链接而不是上传清单文件，请确保清单文件格式正确。链接在 `.json` 后不应有任何其他短语。通过在 S3 控制台上的详细信息中查看 S3 文件的 **Link（链接）**值可以获取的正确链接。

1. 使用 JSON 验证程序（例如，[https://jsonlint.com](https://jsonlint.com) 中的验证程序）确保清单文件内容是有效的。

1. 验证您的存储桶或文件的权限。在中 [https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)，导航到您的 Amazon S3 存储桶，选择**权限**选项卡，然后添加相应的权限。确保权限在适当的级别：在存储桶级别或在文件级别。

1. 如果使用的是 `s3://` 协议，而不是 `https://`，请确保直接引用存储桶。例如，使用 *s3://awsexamplebucket/myfile.csv* 而不是 *s3://s3-us-west-2.amazonaws.com/awsexamplebucket/myfile.csv*。同时使用 `s3://` 和 `s3-us-west-2.amazonaws.com` 双重指定 Amazon S3 会导致错误。

   有关清单文件和连接到 Amazon S3 的更多信息，请参阅 [支持的 Amazon S3 清单文件格式](supported-manifest-file-format.md)。

此外，请确认按照 [使用 Amazon S3 文件创建数据集](create-a-data-set-s3.md) 中的步骤创建了 Amazon S3 数据集。

如果使用 Athena 连接到 Amazon S3，请参阅 [无法连接到 Amazon Athena](troubleshoot-connect-athena.md)。

# 无法根据现有的 Adobe Analytics 数据来源创建或刷新数据集
<a name="troubleshoot-connect-adobe-analytics"></a>

自 2022 年 5 月 1 日起，Quick Sight 不再支持 Adobe Analytics 中的旧版、1.3 版本 OAuth 以及 SOAP API 操作。如果您在尝试根据现有 Adobe Analytics 数据来源创建或刷新数据集时遭遇失败，可能是访问令牌已过期。

**排查根据现有 Adobe Analytics 数据来源创建或刷新数据集时出现的故障**

1. 打开 Quick Sight，然后选择左边**的数据**。

1. 选择**新建**，然后选择**数据集**。

1. 在**创建数据集**页面上，从现有数据源列表中选择要更新的Adobe Analytics数据源。

1. 选择**编辑数据来源**。

1. 在打开的**编辑 Adobe Analytics 数据来源**页面上，选择**更新数据来源**以重新授权 Adobe Analytics 连接。

1. 再次尝试重新创建或刷新数据集。数据集的创建或刷新应该能成功。

# 需要验证与数据来源的连接或更改数据来源设置
<a name="troubleshoot-connect-validate"></a>

在某些情况下，您可能需要更新数据来源，也可能需要在出现连接错误时检查设置。如果需要这样做，请按以下步骤操作。

**验证与数据来源的连接**

1. 从 Quick Sight 主页中，选择左侧**的数据**。

1. 选择**新建**，然后选择**数据集**。

1. 您将看到现有数据源的列表。

1. 选择想要测试或更改的数据来源。

1. 如果系统提供 **Edit/Preview data** 选择，请选择它。

1. 选择 **Validate connection**。

1. 执行所需的更改，然后选择**更新数据来源**。

# 无法连接到 MySQL（SSL 和授权问题）
<a name="troubleshoot-connect-mysql"></a>

要检查 MySQL 中的一些常见连接问题，请使用以下步骤。该过程将帮助您了解是否已启用 SSL 并授予使用权限。

**查找 MySQL 中一些常见连接问题的解决方案**

1. 检查 `/etc/my.cnf` 确保已为 MySQL 启用 SSL。

1. 在 MySQL 中，运行以下命令。

   ```
   show status like 'Ssl%';
   ```

   如果 SSL 正在运行，将看到类似于下面的结果。

   ```
   +--------------------------------+----------------------+
   | Variable_name                  | Value                |
   +--------------------------------+----------------------+
   | Ssl_accept_renegotiates        | 0                    |
   | Ssl_accepts                    | 1                    |
   | Ssl_callback_cache_hits        | 0                    |
   | Ssl_cipher                     |                      |
   | Ssl_cipher_list                |                      |
   | Ssl_client_connects            | 0                    |
   | Ssl_connect_renegotiates       | 0                    |
   | Ssl_ctx_verify_depth           | 18446744073709551615 |
   | Ssl_ctx_verify_mode            | 5                    |
   | Ssl_default_timeout            | 0                    |
   | Ssl_finished_accepts           | 0                    |
   | Ssl_finished_connects          | 0                    |
   | Ssl_session_cache_hits         | 0                    |
   | Ssl_session_cache_misses       | 0                    |
   | Ssl_session_cache_mode         | SERVER               |
   | Ssl_session_cache_overflows    | 0                    |
   | Ssl_session_cache_size         | 128                  |
   | Ssl_session_cache_timeouts     | 0                    |
   | Ssl_sessions_reused            | 0                    |
   | Ssl_used_session_cache_entries | 0                    |
   | Ssl_verify_depth               | 0                    |
   | Ssl_verify_mode                | 0                    |
   | Ssl_version                    |                      |
   +--------------------------------+----------------------+
   ```

   如果 SSL 已禁用，将看到类似于下面的结果。

   ```
   +--------------------------------+-------+
   | Variable_name                  | Value |
   +--------------------------------+-------+
   | Ssl_accept_renegotiates        | 0     |
   | Ssl_accepts                    | 0     |
   | Ssl_callback_cache_hits        | 0     |
   | Ssl_cipher                     |       |
   | Ssl_cipher_list                |       |
   | Ssl_client_connects            | 0     |
   | Ssl_connect_renegotiates       | 0     |
   | Ssl_ctx_verify_depth           | 0     |
   | Ssl_ctx_verify_mode            | 0     |
   | Ssl_default_timeout            | 0     |
   | Ssl_finished_accepts           | 0     |
   | Ssl_finished_connects          | 0     |
   | Ssl_session_cache_hits         | 0     |
   | Ssl_session_cache_misses       | 0     |
   | Ssl_session_cache_mode         | NONE  |
   | Ssl_session_cache_overflows    | 0     |
   | Ssl_session_cache_size         | 0     |
   | Ssl_session_cache_timeouts     | 0     |
   | Ssl_sessions_reused            | 0     |
   | Ssl_used_session_cache_entries | 0     |
   | Ssl_verify_depth               | 0     |
   | Ssl_verify_mode                | 0     |
   | Ssl_version                    |       |
   +--------------------------------+-------+
   ```

1. 确保已在数据库服务器上安装支持的 SSL 证书。

1. 授予特定用户使用 SSL 连接的权限。

   ```
   GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;                        
   ```

**注意**  
适用于 MySQL 连接的 TLS 1.2 需要 MySQL 版本 5.7.28 或更高版本。如果您的 MySQL 服务器仅强制执行 TLS 1.2（例如`tls_version = TLSv1.2`），并且服务器版本低于 5.7.28，则 SSL 握手会失败并出现错误。`Communications link failure`要解决这个问题，请将你的 MySQL 或 Aurora MySQL 数据库升级到版本 5.7.28 或更高版本。

有关本例中的解决方案的更多详细信息，请参阅以下内容：
+ 《Amazon RDS 用户指南》**中的 [MySQL 数据库实例的 SSL 支持](https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport.html)。
+ 《Amazon RDS 用户指南》**中的[使用 SSL 加密与数据库实例的连接](https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)。
+ [MySQL 文档](https://dev.mysql.com/doc/refman/5.6/en/using-encrypted-connections.html)

# 无法连接到 RDS
<a name="troubleshoot-connect-RDS"></a>

有关排查 Amazon RDS 连接问题的更多详细信息，请参阅 [使用数据库创建数据集](create-a-database-data-set.md)。

您也可以参考有关排查连接问题的 Amazon RDS 文档：[无法连接到 Amazon RDS 数据库实例](https://docs.amazonaws.cn/AmazonRDS/latest/UserGuide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Connecting)。**