解决 VPC 连接问题
如果您的虚拟私有云(VPC)连接遇到任何问题,请检查您的 IAM 权限、安全组设置,并确认子网的路由表是否配置正确。
数据来源连接器同步失败的一个可能原因是,数据来源可能无法从您分配给 Amazon Kendra 的子网访问。要解决此问题,我们建议您创建使用相同 Amazon VPC 设置的 Amazon EC2 实例。然后,尝试使用 REST API 调用或其他方法(基于数据来源的特定类型)从该 Amazon EC2 实例访问数据来源。
如果您成功地从您创建的 Amazon EC2 实例访问数据来源,则意味着可以从该子网访问您的数据来源。因此,您的同步问题与无法通过 Amazon VPC 访问数据来源无关。
如果您无法从 VPC 配置访问您的 Amazon EC2 实例,也无法使用您创建的 Amazon EC2 实例对其进行验证,则需要进一步排查问题。例如,如果您的 Amazon S3 连接器由于连接问题相关的错误而同步失败,则可以使用分配给 Amazon S3 连接器的相同 Amazon VPC 配置来设置 Amazon EC2 实例。然后,使用此 Amazon EC2 实例来测试您的 Amazon VPC 设置是否正确。
以下是设置 Amazon EC2 实例以解决与 Amazon S3 数据来源的 Amazon VPC 连接问题的示例。
步骤 1:启动 Amazon EC2 实例
登录到 AWS 管理控制台 并打开 Amazon EC2 控制台(https://console.aws.amazon.com/ec2/
)。 -
选择启动实例。
-
选择网络设置,之后选择编辑,然后执行以下操作:
-
选择您分配给 Amazon Kendra 的相同 VPC 和子网。
-
对于防火墙(安全组),请选择选择现有安全组。然后,选择您分配给 Amazon Kendra 的安全组。
注意
安全组应允许出站流量进入 Amazon S3。
-
将自动分配公有 IP 设置为禁用。
-
在高级详细信息中,执行以下操作:
-
对于 IAM 实例配置文件,选择创建新 IAM 配置文件,以创建 IAM 实例配置文件并将其挂载到您的实例。确保该配置文件具有访问 Amazon S3 的权限。有关更多信息,请参阅 AWS re:Post 中的如何授予我的 Amazon EC2 实例对 Amazon S3 存储桶的访问权限?
。 -
将所有其他设置保留为默认值。
-
-
审核和启动 Amazon EC2 实例。
-
步骤 2:连接到 Amazon EC2 实例
Amazon EC2 实例运行后,前往您的实例详细信息页面并连接到您的实例。为此,请参阅适用于 Linux 实例的《Amazon EC2 用户指南》中的使用 EC2 Instance Connect Endpoint 在不需要公有 IPv4 地址的情况下连接到您的实例一文,并按照其中步骤操作。
步骤 3:测试 Amazon S3 访问权限
连接到 Amazon EC2 实例终端后,运行 AWS CLI 命令以测试从该私有子网到您的 Amazon S3 存储桶的连接。
要测试 Amazon S3 访问权限,请在 AWS CLI 中键入以下 AWS CLI 命令:aws s3 ls
AWS CLI 命令运行后,请查看以下内容:
-
如果您已正确设置必要的 IAM 权限并且 Amazon S3 设置正确,则应该会看到 Amazon S3 存储桶列表。
-
如果您看到权限错误,例如
Access Denied,您的 VPC 配置可能正确,但您的 IAM 权限或 Amazon S3 存储桶策略有问题。
如果命令超时,则可能是因为您的 VPC 设置不正确,并且 Amazon EC2 实例无法从您的子网访问 Amazon S3 而导致连接超时。重新配置您的 VPC,然后重试。