aws / aws/aws-cdk

ecs: ADOT Collector Construct

Open
#24,630 4 comments 16 reactions 0 assignees View on GitHub
@aws-cdk/aws-ecs feature-request p2
Dominant language
TypeScript
Stars
12.9k
Forks
4.6k
Avg merge
2d 3h
Merged PRs (30d)
83

Description

### Describe the feature

I would like a construct to deploy the AWS Distro For OpenTelemetry collector into my ECS cluster.

This would mirror what is available in the [cloudformation template provided by ADOT](https://aws-otel.github.io/docs/setup/ecs), but in a nice-to-use CDK construct.

### Use Case

From my understanding, to use the AWS Distro for Opentelemetry in ECS you deploy a task to you cluster to collect your data.
The ADOT documentation provides 3 ways to do this: Cloudformation, Creating an ECS task, or manually in the console.

As with other infrastructure I would like to deploy it using the CDK.

Inspired by https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_lambda.AdotLambdaExecWrapper.html

### Proposed Solution

```typescript
declare const cluster: ecs.Cluster;
declare const subnets: vpc.subnetSelection
declare const mySecurityGroup: ec2.SecurityGroup

new ecs.AdotCollector(this, "Collector", {
cluster,
subnets,
securityGroups: [mySecurityGroup],
});
```

### Other Information

_No response_

### Acknowledgements

- [X] I may be able to implement this feature request
- [ ] This feature might incur a breaking change

### CDK version used

2.69

### Environment details (OS name and version, etc.)

?

Contributor guide

Open the contributing guide

Research direction

Start with the ADOT ECS CloudFormation template linked in the issue and compare its deployment requirements with the proposed CDK construct inputs. Define what the cluster, subnet, and security-group options must produce, then verify that the construct deploys an equivalent collector setup.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, typescript
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.