1. Answers
  2. Deploy SigNoz on AWS EC2 with Pulumi

How do I deploy SigNoz on AWS EC2 with Pulumi?

In this guide, we will deploy SigNoz, an open-source observability platform, on AWS EC2 using Pulumi. SigNoz helps you monitor your applications and troubleshoot problems with ease. We will provision an EC2 instance, set up the necessary security group, and install Docker to run SigNoz.

Key Points:

  • Provision an EC2 instance on AWS.
  • Set up a security group to allow necessary traffic.
  • Install Docker and run SigNoz.
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

// Create a new security group to allow web traffic
const securityGroup = new aws.ec2.SecurityGroup("sigNozSecurityGroup", {
    description: "Allow HTTP and SSH traffic",
    ingress: [
        { protocol: "tcp", fromPort: 22, toPort: 22, cidrBlocks: ["0.0.0.0/0"] }, // SSH
        { protocol: "tcp", fromPort: 80, toPort: 80, cidrBlocks: ["0.0.0.0/0"] }, // HTTP
        { protocol: "tcp", fromPort: 443, toPort: 443, cidrBlocks: ["0.0.0.0/0"] }, // HTTPS
    ],
    egress: [
        { protocol: "tcp", fromPort: 0, toPort: 0, cidrBlocks: ["0.0.0.0/0"] },
    ],
});

// Create an EC2 instance to run SigNoz
const instance = new aws.ec2.Instance("sigNozInstance", {
    instanceType: "t2.micro",
    ami: "ami-0c55b159cbfafe1f0", // Amazon Linux 2 AMI
    securityGroups: [securityGroup.name],
    userData: `#!/bin/bash
    sudo yum update -y
    sudo amazon-linux-extras install docker -y
    sudo service docker start
    sudo usermod -a -G docker ec2-user
    sudo curl -L https://github.com/SigNoz/signoz/releases/download/0.5.3/docker-compose.yaml -o docker-compose.yaml
    sudo docker-compose up -d`,
    tags: {
        Name: "SigNozInstance",
    },
});

// Export the public IP of the instance
export const publicIp = instance.publicIp;
export const publicDns = instance.publicDns;

Summary

In this guide, we deployed SigNoz on an AWS EC2 instance using Pulumi. We created a security group to allow HTTP and SSH traffic, provisioned an EC2 instance, installed Docker, and ran SigNoz using Docker Compose. This setup allows you to monitor your applications using SigNoz on AWS.

Deploy this code

Want to deploy this code? Sign up for a free Pulumi account to deploy in a few clicks.

Sign up

New to Pulumi?

Want to deploy this code? Sign up with Pulumi to deploy in a few clicks.

Sign up