Thorn Tech Marketing Ad
Skip to main content
Version: 1.3.0

StorageLink CloudFormation Usage Instructions

TLDR

Purpose: Reference for the parameters and outputs of the three StorageLink BYOL CloudFormation templates on AWS

Templates:

  • Single Instance - Existing Network — one EC2 instance with an Elastic IP in a VPC you choose
  • High Availability - Existing Network — Auto Scaling group, Network Load Balancer, and RDS database in a VPC you choose
  • High Availability - New Network — the same HA stack in a new VPC

Launch: StorageLink BYOL listing → View purchase options → select the Unit dimension → Subscribe → Launch your software → AWS CloudFormation → Launch with CloudFormation

Key Parameters: EC2Type (t3.medium for testing, m5.large for production), WebInputCIDR and SshInputCIDR (your IP + /32; SSH cannot be 0.0.0.0/0), WebAdminPassword (12 or more characters)

Storage: The instance role can use S3 buckets whose names start with storagelink-i-; StorageLink creates one storagelink-i-<instance-id> bucket when the deployment is first set up

Product: StorageLink by Thorn Technologies — cloud storage gateway for secure file sharing

Overview​

The StorageLink BYOL listing on the AWS Marketplace offers three CloudFormation templates:

  • StorageLink (Single Instance - Existing Network) — one EC2 instance with an Elastic IP address in a VPC and public subnet you choose. The Installation guide walks through this template.
  • StorageLink (High Availability - Existing Network) — an Auto Scaling group behind a Network Load Balancer, with a shared Amazon RDS for PostgreSQL database, in a VPC you choose.
  • StorageLink (High Availability - New Network) — the same high-availability stack in a new VPC that the template creates. See Creating a High-Availability Deployment.

We recommend CloudFormation over launching the AMI by hand, because the templates also create the IAM role, security group, CloudWatch log group, and (for HA) the load balancer and database that StorageLink needs.

Using the pay-as-you-go listing?

The Standard (pay-as-you-go) StorageLink listing offers the same three templates with the same parameters. It bills a $0.08 USD/hour software fee for each running instance and is licensed for up to 10 StorageLink users. See StorageLink Standard vs BYOL.

Launch a template​

  1. Open the StorageLink BYOL listing on AWS Marketplace and click View purchase options.
  2. The public offer is free of charge. Under Pricing details, select the Unit dimension (License units, $0.00) and leave Number of units at 1; the Subscribe button stays disabled until a dimension is selected. Click Subscribe at the bottom of the page and wait a few minutes for the subscription to complete. You only need to subscribe once per AWS account.
  3. Click Launch your software (it opens in a new browser tab). Under Setup, select AWS CloudFormation, then choose the CloudFormation template and your Region, and check that Version shows the latest version.
  4. Click Launch with CloudFormation. This opens the CloudFormation Create stack page with the template pre-loaded. Click Next.

Configure CloudFormation parameters​

On the Specify stack details page, enter a Stack name and configure the parameters for your template. The console groups the parameters as shown below.

Instance and storage options​

  • EC2Type: For testing, use a t3.medium. The t3 class is cheaper, but cannot handle sustained traffic. For production, use an m5.large or larger.
  • DiskVolumeSize: 32 GB by default, which is also the minimum. Files are stored in S3, so the disk mostly holds the operating system and rotated logs. You can increase the size of the volume later.
  • KeyPair: A key pair whose private key you own. You need it to SSH into the instance.
  • ImageId: Pre-filled with the AWS Marketplace SSM parameter for the StorageLink BYOL AMI (/aws/service/marketplace/prod-7y2el53dcmt24/1.3.0.1 for version 1.3.0.1), which resolves to the AMI in the region you deploy to. The template accepts only this value, so leave it as is.

Network​

  • VPC: The VPC to launch into. The default VPC, with the IP address range 172.31.0.0/16, is public by default.
  • SubnetID: A public subnet in that VPC. In the default VPC, any subnet with an IP address range of 172.31.x.0/20 works.

Access and authentication​

  • WebInputCIDR: The IP range allowed to reach the web interface on ports 80 and 443. If you support many users, it may be practical to open this to 0.0.0.0/0. Otherwise, get your current IP address from http://checkip.dyndns.org/ and enter it followed by /32 (for example, 1.2.3.4/32).
  • SshInputCIDR: The IP range allowed to SSH to the instance on port 22. Enter your IP address followed by /32. The template does not accept 0.0.0.0/0.
  • WebAdminUsername: The username for the first web admin account.
  • WebAdminPassword: The password for that account, 12 or more characters. The value can appear in the instance's cloud-init logs, so change the password after you first sign in.

Outputs​

  • Hostname: The Elastic IP address of the instance. Open https://<Hostname> to sign in.
  • DefaultBucket: The S3 bucket StorageLink uses for its root folder, storagelink-i-<instance-id>.
  • CloudWatchLogs: The CloudWatch log group that receives the StorageLink logs.

On the Review and create page, check I acknowledge that AWS CloudFormation might create IAM resources, then click Submit.

After the stack is created​

Open the Hostname output in your browser, accept the self-signed certificate warning, and sign in with the WebAdminUsername and WebAdminPassword you set. A StorageLink BYOL deployment starts unlicensed, so start the free 30-day trial from the Start a 30-day free trial card at the top of the admin UI, as described in First Launch Experience. When you are ready to buy a license, see Purchasing a License.

In a High Availability deployment, start the trial once: the other instances pick it up within about a minute, so wait a minute before you add users. Instances that the Auto Scaling group launches later start with the trial already active.

The instance role created by every template can use S3 buckets whose names start with storagelink-i- in your own AWS account. When the deployment is first set up, StorageLink creates a bucket named storagelink-i-<instance-id> and uses it for the root folder. A High Availability deployment has one such bucket, named after the instance that set up the deployment; the other instances and any replacements use the same bucket. To connect a bucket with a different name, give StorageLink access keys for it (see Access Key and Secret) or extend the instance role's policy, then add the bucket as described in Cloud Connections.

Deleting a stack​

Delete the stack in the CloudFormation console. Some resources outlive the stack:

  • Single Instance: the template keeps the Elastic IP address when the stack is deleted, so you can reuse it. Release it under EC2 → Elastic IPs if you don't need it, or you will keep paying for it.
  • High Availability: CloudFormation takes a final snapshot of the RDS database when it deletes the stack. Delete the snapshot under RDS → Snapshots once you no longer need it.
  • All templates: the S3 bucket StorageLink created is not part of the stack. Empty and delete it if you no longer need the files.