This page describes what you need for deploying The Things Stack on AWS ECS.
Before you can start the deployment, you will need to make sure that you have:
- An AWS account with billing enabled.
- An SSH keypair registered in the AWS region of choice.
- A domain name with a hosted zone in AWS Route 53. For multi-tenant deployments, you need to be able to add a wildcard subdomain under this domain.
- A username and password for an SMTP server for sending emails, or a Sendgrid API key with “Mail Send” rights.
- A LoRa Alliance NetID and DevAddr block. For development and testing it is possible to use NetID
000000and DevAddr block00000000/7, or NetID000001and DevAddr block02000000/7. - A license key for The Things Stack.
- Configuration and Certificates for Backend Interfaces interop (optional).
- Configuration and Certificates for Packet Broker peering (optional).
You will need to come up with the following parameters, which will be used in multiple places:
- Network Name: the name of the network.
Example: The Things Industries uses
ttichfor their Cloud Hosted service. - Environment:
prodorstaging. - Cluster: the name of the cluster.
Example: The Things Industries uses continent+number for their Cloud Hosted service.
eu1for Europe 1,nam1for North America 1, etc. - Cluster Secret for internal communication.
This can be randomly generated with
openssl rand -hex 24. When deploying a network with multiple clusters, this needs to be the same for all clusters. - OAuth Client ID and Secret for the Console.
Example: The Things Industries uses client ID
console-+ cluster for their Cloud Hosted service.console-eu1for the Console of the Europe 1 cluster. The client secret can be randomly generated withopenssl rand -hex 24. - OAuth Client ID and Secret for Device Claiming.
Example: The Things Industries uses client ID
device-claiming-+ cluster for their Cloud Hosted service.device-claiming-eu1for the Console of the Europe 1 cluster. The client secret can be randomly generated withopenssl rand -hex 24.