备份和高级设置 - Amazon Data Firehose
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

亚马逊 Data Firehose 以前被称为亚马逊 Kinesis Data Firehose

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

备份和高级设置

本主题介绍如何为 Firehose 直播配置备份和高级设置。

备份设置

Amazon Data Firehose 使用 Amazon S3 来备份它试图传送到您所选目的地的所有数据或仅备份失败的数据。

重要
  • 只有当你的 Firehose 直播的来源是 Direct PUT 或 Kinesis Data Streams 时,才支持备份设置。

  • 零缓冲功能仅适用于应用程序目标,不适用于 Amazon S3 备份目标。

如果您选择了以下选项之一,则可以为 Firehose 直播指定 S3 备份设置:

  • 如果您将 Amazon S3 设置为亚马逊数据 Firehose 流的目的地,并选择指定 Lam Amazon bda 函数来转换数据记录,或者选择转换传输流的数据记录格式。

  • 如果您将 Amazon Redshift 设置为亚马逊数据 Firehose 流的目的地,并选择指定 Lambda 函数 Amazon 来转换数据记录。

  • 如果你将以下任何服务设置为 Firehose 直播的目的地:亚马逊 OpenSearch 服务、Datadog、Dynatrace、HTTP Endpoint、MongoDB Cloud、New Relic、Splunk 或 Sumo Logic。 LogicMonitor

以下是您的 Amazon Data Firehose 传送流的备份设置:

  • Amazon S3 中的源记录备份:如果您选择的目标是 S3 或 Amazon Redshift,则此设置指示您是要启用源数据备份还是将其禁用。如果将任何其他支持的服务(S3 或 Amazon Redshift 除外)设置为您选择的目标,则此设置指示您是要备份所有源数据还是仅备份失败的数据。

  • S3 备份存储桶-这是 Amazon Data Firehose 备份您的数据的 S3 存储桶。

  • S3 备份存储桶前缀-这是 Amazon Data Firehose 备份您的数据的前缀。

  • S3 备份存储桶错误输出前缀:所有失败的数据都备份在此 S3 存储桶错误输出前缀中。

  • 缓冲提示、压缩和加密以进行备份-Amazon Data Firehose 使用 Amazon S3 来备份它尝试传送到您所选目的地的所有数据或仅备份失败的数据。Amazon Data Firehose 在将传入的数据交付(备份)到亚马逊 S3 之前对其进行缓冲。您可以选择 1—128 的缓冲区大小 MiBs 和 60—900 秒的缓冲间隔。先满足的条件会触发向 Amazon S3 进行数据传输的操作。如果您启用数据转换,则缓冲间隔将从 Amazon Data Firehose 收到转换后的数据到向 Amazon S3 传输数据的时间一直适用。如果向目标传输的数据落后于写入 Firehose 流的数据,Amazon Data Firehose 会动态增加缓冲区大小以赶上。此操作有助于确保所有数据都传输到目标。

  • S3 压缩——选择 GZIP、Snappy、Zip 或兼容 Hadoop 的 Snappy 数据压缩,或者不进行数据压缩。Snappy、Zip 和 Hadoop 兼容的 Snappy 压缩,不适用于以 Amazon Redshift 作为目标位置的传输流。

  • S3 文件扩展名格式(可选)-为传送到 Amazon S3 目标存储桶的对象指定文件扩展名格式。如果启用此功能,则指定的文件扩展名将覆盖数据格式转换或 S3 压缩功能(例如.parquet 或.gz)附加的默认文件扩展名。在将此功能与数据格式转换或 S3 压缩配合使用时,请确保配置了正确的文件扩展名。文件扩展名必须以句点 (.) 开头,并且可以包含允许的字符:0-9a-z! -_.*' ()。文件扩展名不能超过 128 个字符。

  • Firehose 支持使用 Amazon Key Management Service (SSE-KMS) 的 Amazon S3 服务器端加密,用于加密亚马逊 S3 中交付的数据。您可以选择使用目标 S3 存储桶中指定的默认加密类型,也可以选择使用您拥有的 Amazon KMS 密钥列表中的密钥进行加密。如果您使用密钥加密数据,则可以使用默认 Amazon 托管 Amazon KMS 密钥 (aws/s3) 或客户托管密钥。有关更多信息,请参阅使用 Amazon KMS 托管密钥的服务器端加密 (SSE-KMS) 保护数据

高级设置

以下是您的 Amazon Data Firehose 传送流的高级设置:

  • 服务器端加密——Amazon Data Firehose 支持 Amazon 使用密钥管理服务Amazon (KMS) 的 Amazon S3 服务器端加密,用于加密亚马逊 S3 中交付的数据。有关更多信息,请参阅使用 KMS Amazon 托管密钥的服务器端加密 (SSE-KMS) 保护数据

  • 错误记录-Amazon Data Firehose 记录与处理和交付相关的错误。此外,启用数据转换后,它可以记录 Lambda 调用并将数据传输错误发送到日志。 CloudWatch 有关更多信息,请参阅使用 CloudWatch 日志监控 Amazon Data Firehose

    重要

    虽然是可选的,但强烈建议在创建 Firehose 直播期间启用 Amazon Data Firehose 错误记录。这种做法可确保在记录处理或传输失败的情况下,您可以访问错误详细信息。

  • 权限——Amazon Data Firehose 使用 IAM 角色获取 Firehose 直播所需的所有权限。您可以选择创建一个自动分配所需权限的新角色,也可以选择为 Amazon Data Firehose 创建的现有角色。该角色用于向 Firehose 授予对各种服务的访问权限,包括您的 S3 存储桶、 Amazon KMS 密钥(如果启用了数据加密)和 Lambda 函数(如果启用了数据转换)。控制台可创建带占位符的角色。有关更多信息,请参阅什么是 IAM?

  • 标签-您可以添加标签来组织 Amazon 资源、跟踪成本和控制访问权限。

    如果您在CreateDeliveryStream操作中指定标签,Amazon Data Firehose 会对该firehose:TagDeliveryStream操作执行额外的授权,以验证用户是否有权创建标签。如果您不提供此权限,则创建带有 IAM 资源标签的新 Firehose 交付流的请求将失败,AccessDeniedException如下所示。

    AccessDeniedException User: arn:aws:sts::x:assumed-role/x/x is not authorized to perform: firehose:TagDeliveryStream on resource: arn:aws:firehose:us-east-1:x:deliverystream/x with an explicit deny in an identity-based policy.

    以下示例演示了一个允许用户创建传输流和应用标签的策略。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "firehose:CreateDeliveryStream", "Resource": "*", } }, { "Effect": "Allow", "Action": "firehose:TagDeliveryStream", "Resource": "*", } } ] }

选择备份和高级设置后,请查看您的选择,然后选择创建 Firehos e 直播。

新的 Firehose 直播需要片刻处于 “创建” 状态才可用。在你的 Firehose 直播处于 “活动” 状态后,你可以开始从你的制作者向其发送数据。