---
title: Aws S3
slug: telemetry-pipeline/i2Ks-aws-s3
docTags: 
createdAt: 2025-04-21T00:47:07.681Z
---

## AWS S3 Source

Collect logs, metrics, and traces from objects stored in **Amazon S3**.
&#x20;This source ingests data from S3 buckets by consuming **S3 event notifications delivered through Amazon SQS**, enabling reliable and scalable batch-based ingestion.

It is commonly used for ingesting **archived logs**, **cloud service outputs**, and **object-based telemetry pipelines**.

## Collection Model

- S3 bucket events are delivered to an **SQS queue**&#x20;
- Worker polls the queue for object creation notifications&#x20;
- Referenced objects are fetched from S3&#x20;
- Object contents are decoded into events&#x20;
- Events are forwarded downstream with acknowledgement support&#x20;

This model decouples object creation from ingestion, enabling **high durability and retry safety**.

## Requirements

- An **S3 bucket** configured to emit event notifications&#x20;
- An **SQS queue** subscribed to those notifications&#x20;
- Appropriate **IAM permissions** to:&#x20;
  - Read from S3&#x20;
  - Poll and manage messages in SQS&#x20;
  - Assume roles or retrieve credentials as configured&#x20;

## Typical Architecture Patterns

- **S3-based log archival ingestion**&#x20;
- **Cloud service log pipelines** (CloudTrail, ELB, VPC Flow Logs)&#x20;
- **Batch-to-stream telemetry conversion**&#x20;
- **Disaster recovery or delayed ingestion**&#x20;
- **Multi-account AWS ingestion pipelines**&#x20;

## Acknowledgement Handling

### acknowledgements (deprecated)

Source-level acknowledgement configuration is deprecated.

Important notes:

- Acknowledgement behavior is controlled globally or at the sink level&#x20;
- Enabling or disabling acknowledgements at the source has no effect&#x20;
- Ensures consistent end-to-end delivery semantics across pipelines&#x20;

## Authentication Model

The AWS S3 source supports multiple AWS authentication strategies, aligned with standard AWS SDK behavior.

### Supported Authentication Methods

- Static credentials (access key / secret key)&#x20;
- Temporary credentials with session tokens&#x20;
- IAM role assumption (STS)&#x20;
- Instance Metadata Service (IMDS)&#x20;
- Shared credentials files and profiles&#x20;

Credential loading follows the configured strategy and supports timeout and retry controls.

### IAM Role Assumption

When assuming a role:

- A role ARN must be provided&#x20;
- Optional external IDs can be used for cross-account access&#x20;
- Session names are auto-generated if not specified&#x20;

This is the recommended approach for **production-grade AWS deployments**.

## AWS Region and Endpoints

### region

Specifies the AWS region used for service interactions.

If not set:

- Defaults to the region configured for the service&#x20;
- Or is inferred from the execution environment&#x20;

### endpoint

Allows specifying a custom S3-compatible endpoint.

Useful for:

- AWS-compatible object storage&#x20;
- Private S3 endpoints&#x20;
- Local or on-prem S3-compatible systems&#x20;

## Object Retrieval and Addressing

### force\_path\_style

Controls whether:

- Bucket name appears in the hostname (virtual-hosted style)&#x20;
- Or as part of the request path (path-style)&#x20;

Path-style addressing improves compatibility with some S3-compatible services.

## Compression Handling

### compression

Controls how objects are decompressed after retrieval.

Supported modes:

- Automatic detection&#x20;
- Explicit compression formats&#x20;
- No decompression&#x20;

Compression is inferred from metadata and object key suffixes when auto mode is enabled.

## Event Decoding

The AWS S3 source supports a wide range of decoders to transform raw object bytes into structured events.

### Supported Decoding Types

- JSON&#x20;
- Syslog&#x20;
- GELF&#x20;
- Avro&#x20;
- Protobuf&#x20;
- OTLP&#x20;
- InfluxDB Line Protocol&#x20;
- Native Vector formats&#x20;
- Raw bytes&#x20;
- VRL-based custom decoding&#x20;

Decoding may emit:

- Logs&#x20;
- Metrics&#x20;
- Traces
  &#x20;depending on the selected codec.&#x20;

### Signal Type Detection

For multi-signal formats:

- The decoder attempts parsing in priority order&#x20;
- Signal detection can be restricted for performance optimization&#x20;

## Framing Model

Framing defines how individual events are separated within object content.

Supported framing methods include:

- Newline-delimited&#x20;
- Character-delimited&#x20;
- Length-delimited&#x20;
- Octet-counting&#x20;
- Varint length-delimited&#x20;
- Chunked GELF&#x20;
- Raw byte frames&#x20;

Frame length limits can be enforced to protect against malformed or unbounded inputs.

## Multiline Aggregation

Multiline processing allows multiple lines to be combined into a single logical event.

Supported aggregation modes:

- Continue through&#x20;
- Continue past&#x20;
- Halt before&#x20;
- Halt with&#x20;

This is commonly used for:

- Stack traces&#x20;
- Multi-line application logs&#x20;
- Structured log blocks&#x20;

Timeouts ensure buffered messages are eventually flushed.

## SQS Integration

### Queue Consumption Model

- Messages are polled in batches&#x20;
- Each message references one or more S3 objects&#x20;
- Visibility timeouts protect against duplicate processing&#x20;
- Messages are deleted after successful ingestion&#x20;

### Concurrency and Throughput

- Polling concurrency scales with CPU by default&#x20;
- Batch size and poll intervals are tunable&#x20;
- Designed to balance ingestion throughput and SQS visibility constraints&#x20;

### Deferred Processing

The source can defer processing of older events:

- Events exceeding a defined age threshold&#x20;
- Forwarded to an alternate SQS queue&#x20;
- Enables delayed or backfill pipelines&#x20;

## Reliability Characteristics

- At-least-once delivery semantics&#x20;
- Integrated retry handling via SQS visibility timeouts&#x20;
- End-to-end acknowledgements supported&#x20;
- Stateless ingestion model&#x20;

This makes the AWS S3 source suitable for **durable, large-scale ingestion pipelines**.

## TLS and Proxy Support

- TLS can be configured for AWS API communication&#x20;
- Custom CA bundles and certificates are supported&#x20;
- HTTP and HTTPS proxying is supported with fine-grained bypass rules&#x20;

## Common Use Cases

- Ingesting CloudTrail, ELB, ALB, and VPC Flow Logs&#x20;
- Processing archived logs stored in S3&#x20;
- Batch-to-stream observability pipelines&#x20;
- Cross-account or cross-region ingestion&#x20;
- Hybrid cloud and on-prem object storage ingestion
