AWS Public Sector Blog
Simplify satellite contact reporting with the AWS Ground Station contacts dashboard
Satellite operators are successfully using AWS Ground Station to communicate with their satellites without having to worry about buying, leasing, building, scaling, or managing their own satellite ground stations. This service offers a globally distributed set of ground stations that allows you to downlink data from satellites or uplink commands and data with ease. The AWS Global Infrastructure is used to transport the data between the ground station sites and the AWS Regions, achieving low-latency data delivery. In addition, because data is downlinked to or uplinked from your AWS account, you can directly take advantage of the array of AWS services, which provide a multitude of methods to cost-effectively store, process, or disseminate this data.
After scheduling AWS Ground Station contacts, customers can view the status of individual contacts using the AWS Management Console or APIs. Additionally, the costs associated with AWS Ground Station contacts can be checked using AWS cost management tools such as AWS Cost and Usage Report (AWS CUR). However, customers booking contacts regularly for their satellite fleets need to be able to track the status of multiple contacts as well as their associated costs in a straightforward way without having to perform manual mappings or using nonscalable solutions that carry an operational burden to maintain.
This post shows how AWS Ground Station customers can start using the Contacts dashboard for AWS Ground Station solution to fulfill their AWS Ground Station reporting and tracking needs. This solution automatically maps AWS Ground Station contacts to their associated costs and provides a feature-rich dashboard reporting capability.
Solution architecture
The Contacts dashboard for AWS Ground Station is a solution for customers to have a centralized, single pane of glass view to check the information related to their AWS Ground Station contacts for their entire satellite fleet. This information includes contact status, ground station site, satellite, and mission profile, but also includes a mapping to a Cost and Usage Report so that customers can view the billing details for those contacts in the same place.
Figure 1 depicts the architecture diagram for the solution. An event-driven, serverless architecture capable of scaling dynamically has been selected for minimal operational overhead and cost optimization.
- Upon solution deployment, an AWS Lambda function retrieves the list of historic AWS Ground Station contacts for the account.
- An Amazon EventBridge rule matching AWS Ground Station contact state changes sends the events to the Lambda function for processing. Any processing failures are sent by email using Amazon Simple Notification Service (Amazon SNS).
- Events related to AWS Ground Station contact state changes performed in additional AWS Regions are routed to the EventBridge bus in the central Region.
- AWS Ground Station contact information is stored in an Amazon Simple Storage Service (Amazon S3) bucket in the central Region.
- AWS CUR publishes billing information for the account to an S3 bucket in the central Region.
- AWS Glue periodically crawls the S3 buckets containing the AWS Ground Station contacts and CUR information, automatically inferring database and table schemas and storing them in the AWS Glue Data Catalog.
- Amazon Athena uses table metadata from the AWS Glue Data Catalog to execute queries over the information stored in the S3 buckets, joining AWS Ground Station contact details with corresponding billing information.
- The resulting curated data is displayed on an Amazon QuickSight dashboard, enabling centralized data visualization and easy filtering and extraction of insights from the source data.
Prerequisites
To implement and use this solution, you must have an AWS account. In addition, we recommend that you have the capability to book AWS Ground Station contacts from your account in order to use this solution in a meaningful way. In practice, this means that you must have a satellite onboarded in your AWS account, as well as a mission profile created. You don’t need to use your own satellites for this because you can book contacts with a public broadcast satellite, as detailed in this blog post.
Implementation
We recommend that any solution is implemented using infrastructure as code (IaC) tools because this reduces deployment errors, increases deployment repeatability, and creates a fully documented deployment package. Therefore, this solution has been constructed as a set of AWS CloudFormation templates that customers can deploy in their AWS environment and that are available in the associated GitHub repository.
To launch the solution, follow the deployment instructions detailed in the Contacts dashboard for Ground Station repository on GitHub. Three deployment steps are listed, with just two of them being required if the user is using the AWS Ground Station service from only one AWS Region:
- Solution backend deployment
- Additional Regions deployment (optional)
- Dashboard deployment
Use the solution
Once the solution is fully deployed, the Contacts dashboard for AWS Ground Station can be accessed by opening QuickSight in the central Region. Figure 2 depicts a screenshot of this pre-built dashboard. A table is shown that lists all relevant AWS Ground Station contact fields (such as contact ID, contact status, satellite Amazon Resource Name (ARN), mission profile ARN, start time, and end time). Additionally, fields such as usage type and total cost from the AWS CUR are shown. Finally, two pie charts are provided that illustrate the distribution of contacts by contact status and ground station site, respectively.
Filters are provided at the top of the dashboard to help users retrieve and focus on the contacts they are interested in. Contacts can be filtered by several attributes, including status, mission profile, or start date. Select the down arrow on the right-hand side of the dashboard to pull down the menu. As shown in Figure 3, as an example, in the contactstatus equals field, select COMPLETED to see all the contacts with that status.
This pre-built dashboard has been included so that users can start using the functionality right away. However, every team might want to have different fields displayed. As the relevant dataset is already created as part of the deployment, users can create a new dashboard completely tailored to their preferences with just a few steps using QuickSight.
Cleaning up
Once deployed, the Contacts dashboard for AWS Ground Station will automatically update with data from all new and changed AWS Ground Station contacts. However, if you would like to delete the solution to save costs and then deploy it at another time, delete the CloudFormation stacks deployed as part of this exercise. The steps to delete stacks can be found in the AWS CloudFormation documentation.
Conclusion
In this post, we explained how you can start using the Contacts dashboard for AWS Ground Station solution to aggregate all your AWS Ground Station contacts in a single, centralized view, allowing for easier monitoring and operations. In addition, a direct mapping is established to the Cost and Usage Report so that you can stay on top of charges associated with those contacts. You can find more curated solutions for other common use cases for the aerospace and satellite industry in the AWS Solutions Library.
Organizations of all sizes across all industries are transforming and delivering on their aerospace and satellite missions every day using AWS. Learn more about AWS for Aerospace and Satellite so you can start your own AWS Cloud journey today.