These are the input parameters for this template. All of these parameters must be supplied for this template to be deployed.
This handles SoftNAS's fixed IAM role name requirement making the role creation conditional
Metadata is mostly for organizing and presenting Parameters in a better way when using CloudFormation in the AWS Web UI.
Establishes conditions based on input parameters.
SoftNAS EC2 instances
Upgrade AWS CLI (version shipped with SoftNAS 3.6 is quite out of date)
Retrieve the EC2 instanceId from metadata
Login (authenticate) to SoftNAS to allow administration
Acknowledge EULA (necessary for software to work)
SoftNAS defaults to the EC2 instanceId as its root & admin (softnas) password Here we retrieve new passwords from EC2 Parameter Store
Then update the user passwords
Partition all available disks
Create a storage pool configured as RAID 1
Create a storage volume using the storage pool
Initiate replicaiton (SNAPReplicate)
Install the HA service
Initiate high availability (SNAP HA)
Replace the sender for notification emails with a real email address in the SoftNAS monitoring config generator script (necessary as we are using SES)
Run the SoftNAS monitoring config generator script to generate an updated config
Change NTP config to use Amazon's NTP server (NTP is blocked at the campus border but using Amazon's NTP doesn't route out the VPN)
Restart NTPD for it to take effect
Stop SnapReplicate replication (required to do a software update)
Update SoftNAS to the latest version (note that this will restart the instance)
Upgrade AWS CLI (version shipped with SoftNAS 3.6 is quite out of date)
Retrieve the EC2 instanceId from metadata
Login (authenticate) to SoftNAS to allow administration
Acknowledge EULA (necessary for software to work)
SoftNAS defaults to the EC2 instanceId as its root & admin (softnas) password Here we retrieve new passwords from EC2 Parameter Store
Then update the user passwords
Partition all available disks
Create a storage pool configured as RAID 1
Create a storage volume using the storage pool
Replace the sender for notification emails with a real email address in the SoftNAS monitoring config generator script (necessary as we are using SES)
Run the SoftNAS monitoring config generator script
Change NTP config to use Amazon's NTP server (NTP is blocked at the campus border but using Amazon's NTP doesn't route out the VPN)
Restart NTPD for it to take effect
Sleep for 2 minutes to allow the other instance to initiate replication before we do a software update
Stop SnapReplicate replication (required to do a software update)
Update SoftNAS to the latest version (note that this will restart the instance)
EC2 Security Group for the SoftNAS EC2 instances
EC2 Security Group Ingress(es) to update the existing SoftNAS Security Group to allow communication with itself (and thus other SoftNAS EC2 instances)
IAM Roles
IAM Instance Profiles
IAM Policies
Note that this policy comes from the vendor: https://www.softnas.com/docs/softnas/v3/html/specifying_the_iam_user_for_softnas_cloud_.html It checks each AWS API to verify access regardless of whether or you'll actually use them so they are all required
Route53 Record Set Group
Output values that can be viewed from the AWS CloudFormation console.
CloudFormation template for Sunapsis SoftNAS file servers (3 of 5)