配置备份和高级设置 - Amazon Data Firehose

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

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

配置备份和高级设置

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

配置备份设置

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

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

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

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

  • 如果您将 Amazon S3 设置为 Firehose 流的目的地,并选择指定 Lamb AWS da 函数来转换数据记录,或者您选择转换您的 Firehose 流的数据记录格式。

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

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

以下是您的 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 压缩不适用于以亚马逊 Redshift 为目的地的 Firehose 直播。

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

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

配置高级设置

以下部分详细介绍了您的 Firehose 直播的高级设置。

  • 服务器端加密——Amazon Data Firehose 支持 AWS 使用密钥管理服务AWS (KMS) 的 Amazon S3 服务器端加密,用于加密亚马逊 S3 中交付的数据。有关更多信息,请参阅使用 KMS AWS 托管密钥的服务器端加密 (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 存储桶、 AWS KMS 密钥(如果启用了数据加密)和 Lambda 函数(如果启用了数据转换)。控制台可创建带占位符的角色。有关更多信息,请参阅什么是 IAM?

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

    如果您在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.

    以下示例演示了允许用户创建 Firehose 直播并应用标签的策略。

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

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

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