Menu
Amazon Kinesis Firehose
Firehose

Amazon Kinesis Firehose Limits

Amazon Kinesis Firehose has the following limits.

  • By default, each account can have up to 20 Firehose delivery streams per region. This limit can be increased using the Amazon Kinesis Firehose Limits form.

  • By default, each Firehose delivery stream can accept a maximum of 2,000 transactions/second, 5,000 records/second, and 5 MB/second. You can submit a limit increase request using the Amazon Kinesis Firehose Limits form. The three limits scale proportionally. For example, if you increase the throughput limit to 10MB/second, the other two limits increase to 4,000 transactions/second and 10,000 records/second.

    Important

    If the increased limit is much higher than the running traffic, this causes very small delivery batches to destinations, which is inefficient and can be costly. Be sure to increase the limit only to match current running traffic, and increase the limit further if traffic increases.

  • Each Firehose delivery stream stores data records for up to 24 hours in case the delivery destination is unavailable.

  • The maximum size of a record sent to Firehose, before base64-encoding, is 1000 KB.

  • The PutRecordBatch operation can take up to 500 records per call or 4 MB per call, whichever is smaller. This limit cannot be changed.

  • The following operations can provide up to 5 transactions per second CreateDeliveryStream, DeleteDeliveryStream, DescribeDeliveryStream, ListDeliveryStreams, and UpdateDestination.

  • The buffer sizes hints range from 1 MB to 128 MB for Amazon S3 delivery, and 1 MB to 100 MB for Amazon Elasticsearch Service delivery. The size threshold is applied to the buffer before compression.

  • The buffer interval hints range from 60 seconds to 900 seconds.

  • For Firehose to Amazon Redshift delivery, only publicly accessible Amazon Redshift clusters are supported.

  • The retry duration range is from 0 seconds to 7200 seconds for Amazon Redshift and Amazon ES delivery.