Home > Back-end >  Deploying jaeger on AWS ECS with Elasticsearch
Deploying jaeger on AWS ECS with Elasticsearch

Time:09-23

How should I go about deploying Jaeger on AWS ECS with Elasticsearch as backend? Is it a good idea to use the Jaeger all in one image or should I use separate images?

CodePudding user response:

While I didn’t find any official jaeger reference to this, I think the jaeger all in one image is not intended for use in production. It makes one container a single point of failure, making it better to use separate containers for each jaeger component(if one is down from some reason - others can continue to operate).

I have recently written a blog post about hosting jaeger on AWS with AWS Elasticsearch (OpenSearch) service. While it is done with all-in-one, it is still useful to get the general idea of how to go about this.

Just to generally outline the process (described in detail in the post):

  1. Create AWS Elasticsearch cluster
  2. Create an ECS Cluster (running on ec2)
  3. Create an ECS Task Definition, configured with a jaeger all-in-one image with the elasticsearch url from the step 1
  4. Create an ECS Service that runs the created task definition
  5. Make sure security groups on your EC2 allow access to jaeger ports as described here
  6. Send spans to your jaeger endpoint via OpenTelemetry SDK
  7. View your spans via the hosted jaeger UI (your-ec2-url:16686)
  • Related