2026-01-20 - Monitoring Streams into AWS
Jump to navigation
Jump to search
Development - Izara Video Feed
Overview
How to efficiently receive video streams, and how to throttle and limit a users resource consumption.
Test This Option
- Amazon Kinesis Video Streams for ingestion of videos
- S3 + CloudFront for delivery of video on demand
Possible resources for recieving streams
Kinesis Data Streams
S3 presigned url
Data firehose
AWS Amplify Gen 2
IoT Core
- MQTT-based stream
- does not expire
- route to Kinesis or S3
Possible authentication and limit methods
IAM and Congnito
- Identity Pools for application-level user temporary keys
- Will need to refresh every <12hours
- client SDK (eg Python) have DefaultCredentialsProvider for automatically refreshing tokens
- Kinesis Producer Library may handle credential managament on client
API Keys
- assign keys to unique users
- setup usage plan to throttle throughput and request limits per user
API Gateway Lambda Authorizer
- if recieving feed through API Gateway can check user limits before processing
Kinesis Shard Quota
- if recieving to kineses can assign user to one shard which has a 1 MB/sec limit
S3 object size limit
- if receiving to S3 can set s3:max-content-length to reject large files
EventBridge triggered by CloudWatch Alarm
- removes a users access if over-limit