AWS Ground Station
User Guide

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

Downlink Only Template

The AWS CloudFormation template named DownlinkOnlyCustomerTemplate.yml defines an AWS CloudFormation stack that provides all the resources necessary for a single downlink stream. This is a good starting point for building out more complex use cases as well. You can download the template using the following AWS CLI command:

aws s3 cp s3://groundstation-customer-cf/DownlinkOnlyCustomerTemplate.yml

The template can be viewed and downloaded in the console by navigating to the following URL in your browser:

The template can be specified directly in AWS CloudFormation by using the following link:

What resources does the template define?

The template defines the following resources:

  • Dataflow Endpoint Group - The AWS Ground Station dataflow endpoint group that defines the endpoints used to send/receive data to/from your satellite. As part of the Dataflow Endpoint Group creation AWS Ground Station creates an elastic network interface in your account to stream data.

  • Dataflow Endpoint Security Group - The security group that the elastic network interface created by AWS Ground Station belongs to. By default, this security group allows AWS Ground Station to stream traffic to any IP address in your VPC. This can be modified such that traffic is limited to a specific set of IP addresses.

  • Data Delivery Service Role - AWS Ground Station assumes this role to create/delete ENIs in your account in order to stream data.

  • Tracking Config - The AWS Ground Station tracking config that defines how the antenna system tracks your satellite as it moves through the sky.

  • Antenna Downlink Config - The AWS Ground Station antenna downlink config that defines the frequency spectrum used to downlink data from your satellite.

  • Downlink Endpoint Config - The AWS Ground Station dataflow endpoint config that defines the endpoint used to downlink data from your satellite.

  • Mission Profile - The AWS Ground Station mission profile that groups the Tracking, Antenna Downlink, and Downlink Endpoint configurations to define how to uplink to and downlink data from your satellite.

  • Receiver Instance - The Amazon EC2 instance that will send/receive data to/from your satellite using AWS Ground Station.

    • Instance Security Group - The security group for your Amazon EC2 instance.

    • Instance Role - The role for your Amazon EC2 instance.

    • Instance Profile - The instance profile for your Amazon EC2 instance.

    • Cluster Placement Group - The placement group in which your Amazon EC2 instance is placed.

  • Receiver Instance Network Interface - An elastic network interface that provides a fixed IP address for AWS Ground Station to connect to. This is attached to the receiver instance on eth1.

What changes should I make to the AWS CloudFormation template?

You need to change the AWS CloudFormation template to include correct frequencies for your satellites. This is defined in the spectrumConfig section of the antenna downlink config.

The antenna downlink config (shown following) has a lower bound on carrier bandwidth and adjusts this automatically if it's lower than 1 MHz. If it's adjusted automatically, a 10MHz offset is added/subtracted to/from the center frequency.

spectrumConfig: bandwidth: units: "MHz" value: 10.0 centerFrequency: units: "MHz" value: 2250.0 polarization: "RIGHT_HAND"

What is on the Amazon EC2 instance that the AWS CloudFormation template creates?

The AWS CloudFormation template defines a startup script (UserData) that installs RT Logic Data Defender software and a Python script to automatically configure it. Data Defender ensures bit-for-bit accuracy of the data streams between your Amazon EC2 instance and the antenna system using DTLS.

The Python configuration script provides a method of configuring the Data Defender streams using AWS CloudFormation. It configures the streams based on a JSON file created by the startup script of the Amazon EC2 instance. The following JSON file shows the single downlink stream defined by the AWS CloudFormation template’s parameters:

{ "ddx_streams": [ { "streamName": "${DownlinkStreamName}", "maximumWanRate": 4000000000, "lanConfigDevice": "lo", "lanConfigPort": 50000, "wanConfigDevice": "eth1", "wanConfigPort": ${DownlinkPort}, "isUplink": false } ] }


The stream names and ports use AWS CloudFormation's Fn::Sub function to populate the names of the streams and port numbers based on the values provided in the template’s parameters.