Automated Deployment - Video on Demand on AWS

Automated Deployment

Before you launch the automated deployment, please review the architecture and other considerations discussed in this guide. Follow the step-by-step instructions in this section to configure and deploy the video-on-demand solution into your account.

Time to deploy: Approximately 20 minutes

Launch the Stack

Use this AWS CloudFormation template to deploy version 5.0 of this video-on-demand solution. To use version 4.3, download the version 4.3 template. For more information, see Solution Updates.

Note

You are responsible for the cost of the AWS services used while running this solution. See the Cost section for more details. For full details, see the pricing webpage for each AWS service you will be using in this solution.

  1. Sign in to the AWS Management Console and click the button below to launch the video-on-demand-on-aws AWS CloudFormation template.

    
                                Video-on-Demand solution launch button

    You can also download the template as a starting point for your own implementation.

  2. The template is launched in the US East (N. Virginia) Region by default. To launch this solution in a different AWS Region, use the region selector in the console navigation bar.

    Note

    This solution uses AWS Step Functions, AWS Elemental MediaConvert, and AWS Elemental MediaPackage, which are available in specific AWS Regions only. Therefore, you must deploy this solution in a region that supports these services. For the most current service availability by region, see AWS service offerings by region.

  3. On the Select Template page, verify that you selected the correct template and choose Next.

  4. Under Parameters, review the parameters for the template, and modify them as necessary.

    This solution uses the following default values.

    Parameter Default Description
    Notification Email Address <Requires input> A valid email address to receive Amazon SNS notifications.
    Workflow Trigger <Requires input> Choose VideoFile to ingest source videos only; choose MetadataFile to ingest metadata files and source videos.
    Archive Source Content false Choose GLACIER to enable an Amazon S3 lifecycle policy on the source bucket to move applicable files to Amazon S3 Glacier after seven days, DEEP_ARCHIVE to move to Glacier Deep Archive.
    Enable SNS true Choose true receive SNS notifications for the ingest and pushlish workflows. Choose false to only receive error messages.
    Enable SQS true Choose true to deploy an SQS queue for publishing messages.
    Enable Frame Capture false Choose true to create thumbnails for each AWS Elemental MediaConvert output.
    Accelerated Transcoding PREFERRED Choose PREFERRED to enable Accelerated Transcoding for supported file types (recommended), ENABLE to apply to all encoding jobs.
    Enable MediaPackage false Choose true to enable AWS Elemental MediaPackage as part of the workflow.
  5. Choose Next.

  6. On the Options page, choose Next.

  7. On the Review page, review and confirm the settings. Be sure to check the box acknowledging that the template will create AWS Identity and Access Management (IAM) resources.

  8. Choose Create to deploy the stack.

    You can view the status of the stack in the AWS CloudFormation console in the Status column. You should see a status of CREATE_COMPLETE in approximately 20 minutes.

    After the stack is created, Amazon SNS sends three subscription notifications to the admin email address with links to enable encoding, publishing, and error notification.

  9. In the subscription notification emails, select each link to enable SNS notifications.

Note

In addition to the AWS Lambda functions that create solution resources and trigger the ingest and publishing processes, this solution includes the custom-resource Lambda function, which runs only during initial configuration or when resources are updated or deleted.

When running this solution, the custom-resource Lambda function is inactive. However, do not delete the function as it is necessary to manage associated resources.