使用 VPC 终端节点网络爬取 Amazon S3 数据存储 - AWS Glue

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

使用 VPC 终端节点网络爬取 Amazon S3 数据存储

出于安全、审计或控制目的,您可能希望您的 Amazon S3 数据存储或 Amazon S3 支持的数据目录表只能通过 Amazon Virtual Private Cloud 环境(Amazon VPC)访问。本主题介绍如何使用 Network 连接类型在 VPC 终端节点中创建和测试与 Amazon S3 数据存储或 Amazon S3 支持的数据目录表的连接。

执行以下任务以在数据存储中运行爬网程序:

先决条件

检查您是否满足设置 Amazon S3 数据存储或 Amazon S3 支持的数据目录表以通过 Amazon Virtual Private Cloud 环境(Amazon VPC)访问的先决条件。

  • 已配置的 VPC。例如:vpc-01685961063b0d84b。有关更多信息,请参阅《Amazon VPC 用户指南》中的 Amazon VPC 入门

  • 附加到 VPC 的 Amazon S3 端点。例如:vpc-01685961063b0d84b。有关更多信息,请参阅《Amazon VPC 用户指南》中的 Amazon S3 端点

    附加到 VPC 的 Amazon S3 端点示例。
  • 指向 VPC 终端节点的路由条目。例如,VPC endpoint(vpce-0ec5da4d265227786) 使用的路由表中的 vpce-0ec5da4d265227786。

    指向 VPC 终端节点的路由条目示例。
  • 附加到 VPC 的网络 ACL 允许流量。

  • 附加到 VPC 的安全组允许流量。

创建到 Amazon S3 的连接

通常,您在 Amazon Virtual Private Cloud(Amazon VPC)内部创建资源,以便这些资源不能通过公共 Internet 访问。默认情况下,AWS Glue 无法访问 VPC 中的资源。要让 AWS Glue 能够访问 VPC 中的资源,您必须提供包括 VPC 子网 ID 和安全组 ID 在内的其他 VPC 特定的配置信息。要创建 Network 连接,您需要指定以下信息:

  • VPC ID

  • VPC 内的子网

  • 安全组

设置 Network 连接

  1. 选择 AWS Glue 控制台导航窗格中的 Add connection (添加连接)

  2. 输入连接名称,选择 Network (网络) 作为连接类型。选择下一步

    选择连接类型。
  3. 配置 VPC、子网和安全组信息。

    • VPC:选择包含您的数据存储的 VPC 名称。

    • 子网:选择 VPC 内的子网。

    • 安全组:选择允许访问 VPC 中数据存储的一个或多个安全组。

    选择连接类型。
  4. 选择下一步

  5. 验证连接信息并选择 Finish (完成)

    选择连接类型。

测试 Amazon S3 的连接

创建 Network 连接后,您可以在 VPC 终端节点中测试 Amazon S3 数据存储的连接。

测试连接时可能会发生以下错误:

  • INTERNET CONNECTION ERROR:表示互联网连接问题

  • INVALID BUCKET ERROR:表示 Amazon S3 存储桶存在问题

  • S3 CONNECTION ERROR:表示未能连接到 Amazon S3

  • INVALID CONNECTION TYPE:表示连接类型不具有预期值 NETWORK

  • INVALID CONNECTION TEST TYPE:表示网络连接测试类型存在问题

  • INVALID TARGET:表示未正确指定 Amazon S3 存储桶

测试 Network 连接:

  1. 选择 AWS Glue 控制台中的 Network (网络) 连接。

  2. 选择 Test connection (测试连接)

  3. 选择您在上一步中创建的 IAM 角色并指定 Amazon S3 存储桶。

  4. 选择 Test connection (测试连接),开始测试。显示结果可能需要一些时间。

测试连接。

如果收到错误,请检查以下几点:

  • 为所选角色提供正确的权限。

  • 提供了正确的 Amazon S3 存储桶。

  • 安全组和网络 ACL 允许所需的传入和传出流量。

  • 您指定的 VPC 已连接到 Amazon S3 VPC 终端节点。

成功测试连接后,您便可创建爬网程序。

为 Amazon S3 数据存储创建爬网程序

现在,您可以创建一个爬网程序来指定您已创建的 Network 连接。有关创建爬网程序的更多详细信息,请参阅在 AWS Glue 控制台上使用爬网程序

  1. 首先在 AWS Glue 控制台上的导航窗格中选择 Crawlers (爬网程序)

  2. 选择 添加爬网程序

  3. 指定爬网程序名称,选择 Next (下一步)

  4. 当询问数据源时,选择 S3,并指定 Amazon S3 存储桶前缀和您先前创建的连接。

    测试连接。
  5. 如果需要,请在同一网络连接上添加另一个数据存储。

  6. 选择 IAM 角色。IAM 角色必须允许访问 AWS Glue 服务和 Amazon S3 存储桶。有关更多信息,请参阅 在 AWS Glue 控制台上使用爬网程序

    测试连接。
  7. 定义爬网程序的计划。

  8. 在数据目录中选择一个现有数据库或创建一个新的数据库条目。

    测试连接。
  9. 完成剩余的设置。

为 Amazon S3 支持的数据目录表创建网络爬取程序

现在,您可以创建指定您已创建 Network 连接的爬取程序和目录源类型。有关创建爬网程序的更多详细信息,请参阅在 AWS Glue 控制台上使用爬网程序

  1. 首先在 AWS Glue 控制台上的导航窗格中选择 Crawlers (爬网程序)

  2. 选择 添加爬网程序

  3. 指定爬网程序名称,选择 Next (下一步)

  4. 当询问网络爬取程序源类型时,选择现有目录表,然后指定要从可用表列表中网络爬取的现有目录表。

    选择网络爬取源类型。
  5. 选择 IAM 角色。IAM 角色必须允许访问 AWS Glue 服务和 Amazon S3 存储桶。有关更多信息,请参阅 在 AWS Glue 控制台上使用爬网程序

  6. 定义爬网程序的计划。

  7. 在数据目录中选择一个现有数据库或创建一个新的数据库条目。

  8. 完成剩余的设置并查看步骤。

    选择网络爬取程序源类型。

运行爬网程序

运行您的爬网程序。

按需运行您的爬网程序。

故障排除

对于与使用 VPC 网关的 Amazon S3 存储桶相关的故障排除,请参阅为什么我无法使用网关 VPC 终端节点连接到 S3 存储桶?