Tutorial

Go Live Faster: Launch a Pay-As-You-Go AWS Live Streaming Service in 5 Steps

Home Tutorial Go Live Faster: Launch a Pay-As-You-Go AWS Live Streaming Service in 5 Steps
Mohit Dubey Author
Jul 3, 2026 10 min read

Building a live streaming service on AWS has traditionally meant stitching together load balancers, auto-scaling groups, security groups, and MongoDB — before you’ve even streamed a single frame. Ant Media Server’s Auto-Managed Live Streaming Service collapses all of that into one CloudFormation template. The server boots when a stream begins, stops when it ends, and the bill reflects only your actual usage — up to 5× cheaper than always-on setups.

Right now, the Auto Manage Solution deploys the Single Standalone server of Ant Media. In next version, the cluster mode will also be supported.

live streaming service on AWS

This guide walks you through every click — from AWS Marketplace subscription to your first live stream playing in a browser with Ant Media auto-managed live streaming service on AWS— in under 10 minutes.

Why Choose Ant Media Server Auto-Managed Live Streaming Service on AWS?

Every team building a live streaming service on AWS runs into the same three walls. This Ant Media Server’s solution tears all three down at once.

Zero Operational Overhead

No manual server provisioning, no cluster management, no scaling configuration. Everything runs automatically from startup to shutdown.

~5× Cost Savings

Traditional platforms bill 24/7 even during idle periods. This service charges only when streams are active — no hidden fees, no idle costs.

Full Content Ownership

Your streams stay in your own AWS account. Unlike SaaS platforms, no third party stores, analyzes, or monetizes your video data.

Custom Pipelines, No Upsells

Add AI moderation, recording, analytics, or any workflow — without needing an enterprise gatekeeping or begging for custom support.

How the Auto-Managed Live Streaming Service Works

Three AWS-managed components power the entire lifecycle of your live streaming service on AWS — automatically, with no manual intervention.

Architecture: Auto-Managed Live Streaming Service on AWS

Lambda detects the first incoming request and wakes the EC2 instance. EventBridge monitors for idle streams and triggers a shutdown after your configured Period. ElastiCache stores all settings, users, and stream records persistently — so nothing is lost when instances stop and restart.

Prerequisites — Have These Ready Before You Start

  • An active AWS account with the necessary permissions
  • Access to AWS Marketplace — you’ll subscribe to Ant Media Server Enterprise (7-day free trial)
  • An EC2 Key Pair created in your target AWS region (needed if you ever SSH into the instance)

ℹNo SSL certificate is required for the initial setup. The service provides a Lambda URL that works immediately over HTTPS. You can add a custom domain with your own certificate from AWS Certificate Manager later.

Step-1: Subscribe to Ant Media Server on AWS Marketplace

Before deploying your live streaming service on AWS, your account needs an active Marketplace subscription. Subscribing is free and includes a 7-day free trial — you only pay for EC2 compute time when the server is actively running.

  • On the Purchase details page, select “Usage-based” under Purchase details. Click the “Subscribe” button — no charges are incurred at this point
  • Wait for the confirmation. It takes 2-3 minutes to complete the subscription.

After clicking Subscribe, do NOT click “Continue to Configuration.” The correct deployment method for the Auto-Managed live streaming service on AWS is via CloudFormation — which we will do in the next steps

Step-2: Download CloudFormation Template

Ant Media provides a pre-built CloudFormation template specifically for the Auto-Managed live streaming service on AWS. This one file defines every resource — Lambda, EventBridge, ElastiCache, Load Balancer, EC2 Launch Template, and security groups — so you never have to configure them individually.

Download the Auto-Managed template specifically — not the standard CloudFormation autoscale template. They are different files. The Auto-Managed one includes the Lambda + EventBridge pay-as-you-go spin-up/shutdown logic.

Step-3: Create New CloudFormation Stack

Now, we will upload the CloudFormation template to create the Auto-Managed live streaming service on AWS.

  • Log in to the AWS Management Console
  • Search for “CloudFormation” in the top search bar and click it
  • Click “Create stack” → select “With new resources (standard)”
  • Under Specify template, choose “Upload a template file”
  • Click “Choose file” and select the JSON/YAML file downloaded in Step 2
  • Click “Next”

Confirm you are in the correct AWS Region before proceeding (top-right corner of the console). Your EC2 Key Pair must exist in the same region as the stack.

Step-4: Configure Stack Parameters

This is the Specify stack details page. Each field maps to a real AWS resource setting. A wrong value here is harder to fix post-deployment than before it.

  • Give a name to your Stack and Enter Web Panel Email and Password
  • InstanceType: EC2 instance type for your streaming server
  • Period: Minutes of no active stream before the instance stops or terminates. Default is 3
  • ServiceDeactivationPolicy: Choose stop (faster restart, ~$5–10/mo idle) or terminate (no idle charge, ~$0–5/mo). See below for more details.
  • enableJwtTokenAccess: Keep false for development. Set true for production with token-based stream auth

Stop vs. Terminate — Choose Your Deactivation Policy

This setting controls what happens to the EC2 instance after no stream has been active for the configured Period.

Stop (Default — Recommended)

Instance pauses. EBS storage and Elastic IP are preserved. Restart takes 15–30 seconds. AWS charges ~$5–10/month for idle (EBS + Elastic IP). Best for frequent use.

Terminate

The instance is fully destroyed. No idle EBS or Elastic IP charges (~$0–5/month). Cold start takes ~60 seconds. Settings persist in ElastiCache. Best for infrequent or cost-sensitive use.

Step-5: Deploy, Verify & Go Live

  • Click “Next” through the remaining pages — defaults are fine
  • On the Review and Create page, scroll to the bottom
  • Check: “I acknowledge that AWS CloudFormation might create IAM resources”
  • Click the “Submit” button
  • Watch the Events tab as resources are created one by one
  • When status shows CREATE_COMPLETE (~5 minutes), your live streaming service on AWS is deployed

Keep the Events tab open while waiting. If anything fails, it tells you exactly which resource failed and why — far faster than guessing.

Find Your Lambda Endpoint URL

  • Once the stack shows CREATE_COMPLETE, click the “Outputs” tab
  • Copy the value for LambdaEndpointURL — this is your single endpoint for everything
  • Visiting the lambda URL triggers a backend instance (first spin-up ~60 seconds; subsequent ~20 seconds)
  • After the spin-up, the Ant Media Server instance login screen appears. Once loaded, log in with the email and password you set in Step 4
  • Congratulations! Your live streaming service on AWS is ready

Start Your Live Streaming Service

There are two ways to use your live streaming service on AWS right away:

Option-1: Browser direct (quickest way to verify)

  • Open the Lambda URL in your browser — you’ll see a “Getting ready…” spinner (~60 seconds first time, ~20 seconds after that)
  • Once loaded, log in with the email and password you set in Step 4
  • Publish a WebRTC stream using the sample WebRTC publish page

Check all the supported publish and play protocols with Ant Media Server auto-managed live streaming service on AWS.

JavaScript SDK supports Lambda URL that the Auto-Managed PaaS CloudFormation Template generates. Just give the Lambda URL, and you can take advantage of JavaScript SDK fully.

To learn more about the AMS JavaScript SDK, check here.

Initialize the JavaScript as follows to publish stream:

// Pass your Lambda URL as the httpEndpointUrl
var webRTCAdaptor = new WebRTCAdaptor({
  httpEndpointUrl: "<REPLACE_WITH_LAMBDA_URL>",
  localVideoElement: document.getElementById("localVideo"),
  callback: (info, obj) => {
   console.log("callback info: " + info);
   if (info == "initialized")
   {
      webRTCAdaptor.publish("myStream")
   }
   else if (info == "publish_started") {
      console.log("publish started");
   }
   else if (info == "publish_finished") {
      console.log("publish finished")
   }
  }
});

Frequently Asked Questions

Is there a fixed monthly charge even when I’m not streaming?

It depends on your ServiceDeactivationPolicy. With stop (default), AWS charges for the Elastic IP and EBS storage even when the instance is stopped — typically $5–10/month. With terminate, the instance is fully destroyed when idle so there are no EBS or Elastic IP charges — typical idle cost is $0–5/month for Lambda and EventBridge usage only. EC2 compute is only charged when the instance is actively running.

What happens to my settings and stream data when the instance shuts down?

All text-based data — settings, users, stream records — is stored in ElastiCache, which persists independently of the EC2 instance. Your configuration survives shutdowns and restarts. However, local recordings are stored on EBS and will be lost if your policy is set to terminate. To preserve recordings, enable S3 recording from the Ant Media web panel so recordings are written to S3 before termination.

How long does it take to spin up after being idle?

Two scenarios: Cold start (terminate policy) takes approximately 60 seconds. Warm start (stop policy) takes 15–30 seconds. The “Getting ready…” page shown when visiting the Lambda URL displays an elapsed timer so users know how long to wait. For time-sensitive production use, the stop policy is recommended. You can also pre-warm the instance by visiting the Lambda URL before a scheduled stream begins.

How do I shut down the live streaming service completely and stop all AWS charges?

Go to AWS CloudFormation → Stacks, select your stack, and click Delete. CloudFormation will destroy all resources it created — EC2 instance, Lambda function, EventBridge rules, ElastiCache cluster, and Load Balancer. All charges stop immediately. Download any recordings you need first, as all data is permanently removed on deletion.

How many concurrent streams can the service handle?

The number depends on instance type and stream bitrate. A c5.xlarge typically handles 40–45 concurrent WebRTC streams comfortably at 720p. For more capacity, update the CloudFormation stack with a larger instance type (e.g., c5.2xlarge or c5.4xlarge) without redeploying from scratch. The Auto-Managed live streaming service on AWS is a single-instance setup; for large-scale multi-server clustering, the standard Ant Media CloudFormation autoscale template is the better fit.

What to Explore Next

You now have a fully operational live streaming service on AWS that starts on demand, stops when idle, and bills only for active usage. Here are the natural next steps:

For questions related to the Ant Media auto-managed live streaming service on AWS or otherwise, write to us at [email protected]

Visit the Ant Media GitHub Discussions or the official Ant Media documentation.

ℹCheckout the Auto-managed live streaming service on AWS setup tutorial.

#AWS Marketplace
Share:

Ready to Transform Your Streaming Experience?

Start your free trial today and discover why thousands choose Ant Media for their streaming needs.

No credit card required • Setup in minutes • Cancel anytime