This guide describes how to install and configure Wowza Streaming Engine™ media server software on Amazon Elastic Compute Cloud (Amazon EC2), a web service that provides resizable compute capacity in the cloud.
Amazon EC2 is a cloud-computing platform that virtualizes computing resources as virtual machines. A single virtual machine configuration is registered as an Amazon Machine Image (AMI). Wowza Media Systems™ provides Amazon Linux 2 and Windows AMIs with pre-configured and tuned versions of Wowza Streaming Engine that are ready to start using the Amazon Web Services (AWS) Management Console.
Notes:
- The latest pre-configured virtual machine runs Wowza Streaming Engine 4.8.28. See the Wowza Streaming Engine 4.8.28 Release Notes.
- With the introduction of Amazon Linux 2, certain services that were previously available in Amazon Linux by default are deprecated or require separate installation. If you are using additional scripts that rely on Linux, you may need to update the scripts according to what’s available on Linux 2. You can use Amazon’s Upgrade Modules tool to check for incompatibilities between versions. For more information, see the Amazon Linux 2 FAQs support article.
- This guide assumes basic familiarity with the Linux operating system and Wowza Streaming Engine.
Video tutorial: Install and configure Wowza Streaming Engine for Linux on Amazon EC2
Create an AWS account
You must have an AWS account before deploying Wowza Streaming Engine on Amazon EC2.
Choose an AWS Marketplace subscription
Our AWS Marketplace subscription options offer streamlined methods for configuring and launching your EC2 instance, and use current generation instance types and hardware virtual machine (HVM) virtualization for better performance.
Note: Amazon will charge for running instance time, storage, and bandwidth if you deploy Wowza Streaming Engine on Amazon EC2 with a Trial license. If you just want to learn how Wowza Streaming Engine works, use Wowza Streaming Engine with a Trial license on your local computer before deploying on Amazon EC2. After you have your client-side and server-side applications up and running on your computer, use this guide to learn how to deploy a Wowza Streaming Engine for Amazon EC2 instance.
Option 1: Wowza Streaming Engine (Linux BYOL)
If you already have a license for Wowza Streaming Engine, use this subscription. You can use any Wowza Streaming Engine Subscription or Perpetual license key.
Amazon will send you a monthly invoice for your running instance time, storage, and bandwidth consumption. If you use a Wowza Streaming Engine Monthly Subscription license key, you'll also get a monthly invoice from Wowza for the usage of the Streaming Engine software.
Note: You can purchase Subscription licenses for Wowza Streaming Engine on our Wowza Streaming Engine Pricing page. If you already have a license, it will continue to work with all Wowza Streaming Engine public AMIs under the terms of your license agreement. If you want to upgrade your older license, see our software upgrade options page for details.
Option 2: Wowza Streaming Engine (Linux PAID)
This subscription enables you to purchase a Wowza Streaming Engine AMI with an embedded license for the software. The embedded license enables unlimited use of the Transcoder (for 64-bit instances only), nDVR, and DRM features in Wowza Streaming Engine. This option provides the convenience of a combined monthly invoice from Amazon for running instance time, storage, bandwidth consumption, and Wowza Streaming Engine usage.
Note: These subscriptions replace the legacy AWS Marketplace - Bring Your Own License and AWS Marketplace - Standard software subscriptions. If you've purchased a legacy software subscription, you can continue to use the software until you cancel your subscription in your AWS account.
Launch the instance
The EC2 Console web interface lets you configure the Wowza Streaming Engine instance from a web browser before you launch it. Many users find it easier to use the console instead of the EC2 command-line tools.
To launch an instance of Wowza Streaming Engine for Amazon EC2, complete the following steps. We recommend leaving all optional settings at their default values unless specified otherwise.
- Go to the AWS Marketplace page for the software subscription you want to use: Wowza Streaming Engine (Linux BYOL) or Wowza Streaming Engine (Linux PAID).
- Review the details, click Continue, and sign in using your AWS credentials.
- On the Choose AMI tab, select a Wowza Streaming Engine version, and then click Select. Click Continue to confirm your AMI selection.
The selected image will launch in the EC2 Console, and the Choose an Instance Type page is displayed.Notes:- Wowza provides public Amazon Linux AMIs that are pre-configured for nearly all EC2 regions. To reduce latency, you can launch Wowza Streaming Engine instances with the EC2 Console in geographical locations that are closer to your audience or that are nearest to the source (an encoder or camera) that delivers a live stream to the Wowza Streaming Engine EC2 instance. To provide redundancy, you can launch Wowza Streaming Engine instances in multiple geographical locations. For help in choosing a region that meets your requirements, see Regions and Availability Zones.
- You can click the 1-Click Launch tab to get your Wowza Streaming Engine EC2 instance up and running quickly. You specify a few settings up-front on this tab, and then the EC2 instance details are configured for you during the launch process. This option, however, doesn't allow you to start your Wowza Streaming Engine EC2 instance with a custom configuration.
In addition, if you use 1-Click Launch with a Wowza Streaming Engine (Linux BYOL) subscription, you must add your Wowza Streaming Engine license key after the instance is started to license the software. If you use 1-Click Launch with a Wowza Streaming Engine (Linux PAID) subscription, you must create a key pair for use with the instance. For details on how to use the 1-Click Launch option, see Launch with AWS Marketplace 1-Click.
- Wowza provides public Amazon Linux AMIs that are pre-configured for nearly all EC2 regions. To reduce latency, you can launch Wowza Streaming Engine instances with the EC2 Console in geographical locations that are closer to your audience or that are nearest to the source (an encoder or camera) that delivers a live stream to the Wowza Streaming Engine EC2 instance. To provide redundancy, you can launch Wowza Streaming Engine instances in multiple geographical locations. For help in choosing a region that meets your requirements, see Regions and Availability Zones.
- On the Choose an Instance Type page, select the instance type that you want to use. The instance type specifies the hardware configuration for your EC2 instance. To select a different instance type, select the filtering option to show All instance types, and then click the instance type you want to use in the list. If you're unsure which instance type to select, see Amazon EC2 Instance Types. Because pricing per instance-hour can vary based on the selected instance type, also review the Amazon EC2 Pricing page.
Note: Using an instance governed by CPU credits, such as a Tx instance, is not recommended because Wowza Streaming Engine could stop running if the instance runs out of CPU credits.
- Click the Next: Configure Instance Details button to configure details for your selected instance type. The Configure Instance Details page lets you configure optional settings for your selected instance type.
If you launched a Wowza Streaming Engine (Linux BYOL) AMI
On the Configure Instance Details page, under Advanced Details, you can enter your license key (or license keys if applicable) for Wowza Streaming Engine. In User data, select the As text option, and then enter the key-value pair data for your license keys into the text box, using the following format:
WZA_wowzaServerLicenseKey=[license-key]
Replace [license-key] with your Wowza Streaming Engine license key. If applicable, add license keys for the Transcoder, nDVR, and DRM features, using the pipe (|) character between the license key values. For example:
WZA_wowzaServerLicenseKey=ENGP4-12345-abcde-12345-abcde-12345|TRNU4-12345-abcde-12345-abcde-12345|DVRA4-12345-abcde-12345-abcde-12345|DRMA4-12345-abcde-12345-abcde-12345Notes:- Make sure that the Input is already base64 encoded check box is cleared.
- If you don't specify a license key for Wowza Streaming Engine, the instance uses a temporary license key after you launch. You must replace the temporary license key with a valid license key for Wowza Streaming Engine. For more information, see Sign in to Wowza Streaming Engine Manager and test the instance.
- In the User data field, you can also use a WZA_startupPackageURL key-value pair to specify a startup package to use when starting your instance. The full URL to the startup package and license key data is specified using comma-delimited key-value pairs:
WZA_startupPackageURL=[url-to-startup-package],WZA_wowzaServerLicenseKey=[license-key]|[license-key]
A startup package allows the Wowza Streaming Engine EC2 instance to have a custom configuration when it launches. If you don't specify a startup package in the User data field now, a default startup package with live, vod, and vods3 streaming applications is used. For more information, see Use Wowza Streaming Engine startup packages to configure an Amazon EC2 instance. - If you launched a Wowza Streaming Engine (Linux PAID) AMI, the license key is already embedded in the software and can't be changed. In addition, these AMIs always use the default startup package.
- Make sure that the Input is already base64 encoded check box is cleared.
- Optionally, you can configure additional storage and tags using the Add Storage and Add Tags tabs.
- On the Configure Security Group page, select the option to create a new security group, and then fill out the form to define the firewall rules for your instance in the selected region. For the purposes of this guide, add rules to open port 1935 in the firewall for RTMP streaming and the port range 8086-8088 for Wowza Streaming Engine Manager. To do this for RTMP streaming, click Add Rule, select Custom TCP rule for the Type, enter 1935 in Port Range, and select Anywhere in Source. Repeat this step to enable the port range 8086-8088. For information about additional rules to add for streaming and for managing Wowza Streaming Engine, see Amazon EC2 security groups for EC2 Linux instances.
- Click Review and Launch, and then on the Review Instance Launch page, click Launch. A dialog box will be displayed asking that you either select an existing key pair or create a new key pair. A key pair enables you to use Secure Shell (SSH) to connect to your Amazon EC2 instance after you launch it. For more information, see Amazon EC2 Key Pairs for Linux instances.
- To configure a key pair: In the dropdown list, select Choose an existing key pair to use a key pair that you've already created for use with Wowza Streaming Engine or Create a new key pair. If you choose to create a new key pair, download the private key file and store it in a safe and accessible location. For both options, you must have access to the selected private key file; without it, you won't be able to access your instance.
- To continue without configuring a key pair: In the dropdown list, select Proceed without a key pair.
- Then select the Acknowledgement checkbox and click Launch Instances.
- In the Launch Status page, click the View Instances button to see the status of your EC2 instance. It may take several minutes for your instance to launch. After the Instance State changes from pending to running, the instance is started. It might take an additional minute or two after that before Wowza Streaming Engine is available for streaming.
Launch with AWS Marketplace 1-Click
Notes:
- Important: The 1-Click Launch option uses a default startup package with live, vod, and vods3 applications that are configured to use recommended settings for streaming. It does not let you customize your Wowza Streaming Engine configuration with a startup package. If you want to launch your Wowza Streaming EC2 instance with a custom Wowza Streaming Engine configuration, you must use the EC2 console to launch your instance.
- The 1-Click Launch option requires that you select an existing key pair before you can launch the Wowza Streaming Engine for Amazon EC2 instance. For more information, see Amazon EC2 key pairs for a Linux instance.
- Go to the AWS Marketplace webpage for the software subscription that you want to use:
Wowza Streaming Engine (Linux BYOL)
-or-
Wowza Streaming Engine (Linux PAID)
- Review the details, click Continue, and then sign in using your AWS account.
- On the 1-Click Launch tab, select a Wowza Streaming Engine Version, a Region, and an EC2 Instance Type.
- In the Security Group list, select Create new based on seller settings. This creates a security group that has all of the required firewall rules for streaming and for managing Wowza Streaming Engine.
If you already created a security group for use with Wowza Streaming Engine in the selected region, you can select it in the Security Group list instead.
- In the Key Pair list, select the key pair you created for use with Wowza Streaming Engine.
- Click Launch with 1-Click.
Get the instance public domain name and ID
You must use the public domain name (or hostname) and instance ID of your running instance to access the instance remotely for configuration using Wowza Streaming Engine Manager, to connect to the instance using Secure Shell (SSH), and for streaming.
Note: If you require a persistent public IP address that can be assigned to and removed from instances as needed, you can use a static IP address that's designed for dynamic cloud computing called an elastic IP address. An elastic IP address is associated with your account (not with a particular instance). For more information, see Elastic IP Addresses (EIP).
To get the public domain name and instance ID of your instance, do the following:
- In the Navigation pane of the AWS Management Console, under Instances, click Instances.
- Select the running instance.
- In the lower pane, click the Description tab. The Public DNS value is the public domain name (hostname) of your running instance and the Instance ID is the ID for the instance.
- Make note of these values as they're used throughout the rest of this guide.
Access the instance remotely
Note: An Amazon EC2 Linux instance can only be accessed remotely if you configured a key pair launching the instance.
There are multiple ways to access a Linux instance remotely, but for the purposes of this article, we'll use the SSH. You may need to open a secure session to your Amazon EC2 instance using SSH in order to start and stop Wowza Streaming Engine or to reconfigure the server.
Public AMI instances use a public/private key pair to log in instead of a password. The public key half of this is embedded in your instance, allowing you to use the private key to log in securely without a password. You can use the key pair you created for the region or when launching the instance. On Windows, you can open a secure session by using the PuTTY client. For information, see the AWS article Connecting to your Linux instance using SSH. For information about connecting to your Linux instance from a Windows operating system, see the AWS article Connecting to your Linux instance from Windows using PuTTY.
Sign in to Wowza Streaming Engine Manager
- Enter the following URL in a web browser:
http://[public-domain-name]:8088/enginemanager
Replace [public-domain-name] with the Public DNS value for the instance. (See Get the instance public domain name and ID.)
- Sign in with the username wowza and a password. The password is the Instance ID. (See Get the instance public domain name and ID.)
- If you launched a Wowza Streaming Engine BYOL AMI but didn't supply a license for Wowza Streaming Engine, you must replace the temporary license key. Do the following:
- Click the Server tab at the top of the page, and then click Server Setup in the contents pane.
- On the Server Setup page, click Edit, and then replace the temporary license key value in the Lince Keys box with your Subscription or Perpetual license key for Wowza Streaming Engine. If applicable, add separate license keys for the Transcoder, nDVR, and DRM features. Each license key should be on a separate line.
- Click Save, and then click Restart Now when prompted to apply changes.
Test the instance
Wowza Streaming Engine installs a sample VOD file that you can use to test whether the software is running properly and can serve content.
- In Wowza Streaming Engine Manager, create a new VOD application.
- Click the Applications tab and then click Add Application in the contents panel.
- On the Add Application page, click the VOD Single server button to select that application type.
- In the New Application dialog box, enter a name and then click Add.
- Click Save.
- From your application's page, click Test Playback. The Test Playback window is configured to use the sample.mp4 video file that installs with Wowza Streaming Engine.
- Copy one of the playback URLs.
When you can successfully play sample.mp4, then Wowza Streaming Engine is running properly.
Terminate the instance
When you terminate an instance, you'll lose all changes or files that you have on the server. If you have anything that you don't want to lose, be sure to save it to Amazon Simple Storage Service (Amazon S3) before terminating the instance or you'll lose data. After you've saved your data, do the following to terminate the instance:
- In the Navigation pane, under Instances, click Instances.
- Select the running instance that you want to terminate.
- Click the Actions button, click Instance State, and then click Terminate. The Instance State column for the selected instance will show shutting-down and then terminated.
Cancel your subscription
Be sure to terminate all running instances for the subscription you want to cancel, then do the following:
- Sign in to your AWS account management page.
- Under Your software, click Manage your software subscriptions.
- On the Your Software webpage, find the software subscription that you want to cancel and click Cancel subscription.