π Solution Landing Page | π§ Feature request | π Bug Report
Note: If you want to use the solution without building from source, navigate to Solution Landing Page
- Solution Overview
- Installation Guide
- Architecture Diagram
- Customizing the Solution
- File structure
- License
- Collection of operational metrics
- AWS Media Services Application Mapper (MSAM) is a browser-based tool that allows operators to visualize the structure and logical connections among AWS Media Services and supporting services in the cloud.
- MSAM can be used as a top-down resource monitoring tool when integrated with CloudWatch.
- MSAM offers two different visualization options: Diagrams and Tiles.
- MSAM can be configured to automatically display AWS Media Services alerts from AWS Elemental MediaLive channels and multiplex and AWS Elemental MediaConnect.
Go here for more information on MSAM's capabilities and features.
Go here for more information on installing MSAM into your AWS account.
You'll find the various architectural views for MSAM here.
- Install/update to Python 3.x
- Install the AWS Command Line Interface (CLI)
- Create a Python virtual environment using requirements.txt and activate it
- Configure the bucket name of your target Amazon S3 distribution bucket
export DIST_OUTPUT_BUCKET=my-bucket-name # bucket where customized code will reside
export SOLUTION_NAME=my-solution-name
export VERSION=my-version # version number for the customized code
Note: You would have to create an S3 bucket with the prefix 'my-bucket-name-<aws_region>'. aws_region is where you are testing the customized solution. Also, the assets in bucket should be publicly accessible.
To build the distributable and prepare the CloudFormation templates:
cd deployment
chmod +x ./build-s3-dist.sh
./build-s3-dist.sh $DIST_OUTPUT_BUCKET $SOLUTION_NAME $VERSION
CloudFormation templates will be written to deployment/global-s3-assets.
Lambda binaries will be written to deployment/regional-s3-assets.
Execute this solution's unit tests manually with the following commands:
cd deployment
chmod +x run-unit-tests.sh
./run-unit-tests.sh
If no virtual environment is currently activate, this script will create and activate a temporary Python virtual environment capable of running the unit tests.
Deploy the distributable to an Amazon S3 bucket in your account.
- From the deployment directory run the deploy.sh script.
Script usage:
./deploy.sh [-b BucketBasename] [-s SolutionName] [-v VersionString] [-r RegionsForDeploy] [-p AWSProfile] [-a ACLSettings(public-read|none)] [-t DeployType(dev|release)]
Example usage:
./deploy.sh -b mybucket -s aws-media-services-application-mapper -v v1.8.0 -r "us-west-2 us-east-1 us-east-2" -p default -a public-read -t dev
All CloudFormation templates and lambda binaries will end up in:
s3://my-bucket-aws-region/solution-name/version/
If deploying with type release, CloudFormation templates will also be written to:
s3://my-bucket-aws-region/solution-name/latest/
- Get the link of the solution template uploaded to your Amazon S3 bucket.
s3://my-bucket-aws-region/solution-name/latest/aws-media-services-application-mapper-release.template
OR
s3://my-bucket-aws-region/solution-name/version/aws-media-services-application-mapper-timestamp.template
- Deploy the solution to your account by launching a new AWS CloudFormation stack using the link of the solution template in Amazon S3.
AWS Media Services Application Mapper consists of:
|- deployment | |- build-s3-dist.sh [ Script for building distributables and preparing the CloudFormation templates ] | |- deploy.sh [ Script for deploying distributables and CloudFormation templates to user's S3 bucket ] | |- global-s3-assets [ CloudFormation templates get written here during custom build ] | |- regional-s3-assets [ Packaged code for Lambda get written here during custom build ] | |- run-unit-test.sh [ Script for running unit tests ] |- docs | |- ARCHITECTURE.md [ 4+1 architectural views of MSAM ] | |- DEV_PROCESS.md [ Describes the MSAM team's development process and environment ] | |- EXTENDING_MSAM.md [ Instructions to extend MSAM with your own types ] | |- FEATURES.md [ Overview of solution features ] | |- INSTALL.md [ Installation guide for MSAM ] | |- MANAGED_INSTANCES.md [ Using AWS Systems Manager and on-premise hardware ] | |- MEDIALIVE_WORKFLOW_WIZARD.md [ Monitoring worfklow created by MediaLive workflow wizard ] | |- RESOURCE_TAGS.md [ Tagging resources for tile and diagram creation ] | |- REST_API.md [ Overview of the MSAM REST API and use ] | |- UNINSTALL.md [ Steps to remove MSAM from your AWS account ] | |- USAGE.md [ Getting started and usage tips for the browser tool ] | |- WORKSHOP.md [ Steps for a workshop presented at re:Invent 2019 ] | |- behavioral-views.drawio [ diagrams.net source for behavioral view ] | |- deployment-view.drawio [ diagrams.net source for deployment view ] | |- images [ Images used in documentation ] | |- logical-view.drawio [ diagrams.net source for logical view ] | |- physical-view.drawio [ diagrams.net source for physical view ] | |- use-cases.drawio [ diagrams.net source for use case view ] |- source |- events [ Source files for CloudWatch Event and Alarm handling ] |- html [ Source files for browser application ] |- msam [ Source files for the MSAM REST API and scheduled tasks ] |- tools [ Scripts used in the development of MSAM ] |- web-cloudformation [ Source files for the web template and custom resources ]
See license here.
This solution collects anonymized operational metrics to help AWS improve the quality of features of the solution. For more information about this capability, please see the implementation guide.
Navigate to Architecture | Workshop | Install | Usage | Uninstall | Rest API | Contributing