reference deployment

AMMOS SmallSat Toolkit on AWS

Manage small satellite missions

This Partner Solution deploys NASA’s Advanced Multi-Mission Operations System (AMMOS) to the Amazon Web Services (AWS) Cloud. It includes a suite of capabilities for small satellite, CubeSat, and instrument missions. The AMMOS SmallSat Toolkit offers advanced sequence generation, command uplink and downlink, telemetry processing, and data visualization.

Using this Partner Solution, your team can deploy a foundational ground data system (GDS) that is built on mission-proven capabilities and maintained by NASA. The AMMOS suite comprises open-source products that are available in the NASA-AMMOS GitHub repository, where contributions are welcomed and encouraged.

The toolkit includes the following:

  • AMMOS Instrument Toolkit (AIT), a Python-based software suite that handles GDS, electrical ground support equipment (EGSE), commanding, telemetry uplink and downlink, and sequencing.
  • Open Mission Control Technologies (Open MCT) software, providing visualization and dashboarding capabilities.
  • AIT Sequence Editor, a Microsoft Visual Studio Code extension that provides a centralized, browser-based environment for generating and editing spacecraft command sequence files.
  • A set of basic test data so you can test the software capabilities upon installation.
  • Instructions for adapting the deployment for your operation's needs both at launch and as your mission evolves.

This Partner Solution is designed to meet the core demands of satellite missions with minimal adaptation.

duo logo

This Partner Solution was developed by NASA Multimission Ground Systems and Services (MGSS) in collaboration with AWS.

This Partner Solution is also supported in the AWS GovCloud (US) Regions.

  •  What you'll build
  • This Partner Solution sets up the following:

    • A highly available architecture that spans three Availability Zones.*
    • A virtual private cloud (VPC) configured with public and private subnets, according to AWS best practices, to provide you with your own virtual network on AWS.*
    • In the public subnets:
      • A Linux bastion host in an Auto Scaling group to allow inbound Secure Shell (SSH) access to Amazon Elastic Compute Cloud (Amazon EC2) instances in public and private subnets.*
      • An Application Load Balancer to route traffic from the web to the EC2 instances in the private subnets.
      • A managed network address translation (NAT) gateway to provide outbound internet access for resources in the private subnets.*
    • In the private subnets:
      • An EC2 instance that serves the AIT and Open MCT applications using Apache HTTP Server. This instance runs in an Auto Scaling group.
      • An EC2 instance that serves the AIT Sequence Editor application. This instance runs in a Docker container. The container mitigates the impact of system commands that are run from the VS Code–integrated terminal that's exposed in the browser.
    • Amazon Cognito to manage identities and authenticate users.
    • Amazon CloudWatch to receive log data from the EC2 instances in the private subnets using Amazon CloudWatch Logs agents.
    • AWS Lambda to process logs for Amazon Kinesis Data Firehose.
    • Kinesis Data Firehose to deliver log data from CloudWatch Logs to Amazon Simple Storage Service (Amazon S3) and Amazon OpenSearch Service.
    • Amazon Route 53 to provide a canonical name (CNAME) record, an alias for the Application Load Balancer.
    • Two S3 buckets, one for long-term storage of log files and the other for configuration files.

    * The template that deploys the Partner Solution into an existing VPC skips the components marked by asterisks and prompts you for your existing VPC configuration.

  •  How to deploy
  • To deploy this Partner Solution, follow the instructions in the deployment guide, which includes these steps.

    1. Sign in to your AWS account. If you don't have an account, sign up at
    2. Prepare your AWS account.
    3. Launch the Partner Solution. The stack takes about 1 hour to deploy. Before you create the stack, choose the AWS Region from the top toolbar. Choose one of the following options:
    4. Follow the postdeployment and testing steps.

    Amazon may share user-deployment information with the AWS Partner that collaborated with AWS on this solution.  

  •  Costs and licenses
  • You are responsible for the cost of the AWS services and any third-party licenses used while running this solution. There is no additional cost for using the solution.

    This solution includes configuration parameters that you can customize. Some of these settings, such as instance type, affect the cost of deployment. For cost estimates, refer to the pricing pages for each AWS service you use. Prices are subject to change.

    Tip: After you deploy a solution, create AWS Cost and Usage Reports to track associated costs. These reports deliver billing metrics to an Amazon Simple Storage Service (Amazon S3) bucket in your account. They provide cost estimates based on usage throughout each month and aggregate the data at the end of the month. For more information, refer to What are AWS Cost and Usage Reports?