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
Default: ami-3712c04f # SoftNAS Cloud Enterprise 1TB - General Purpose Edition 3.6
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
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) /usr/local/bin/softnas-cmd snaprepcommand deactivate -t >> /tmp/cf.tmp 2>&1 Update SoftNAS to the latest version (note that this will restart the instance) /usr/local/bin/softnas-cmd executeupdate -t >> /tmp/cf.tmp 2>&1
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) /usr/local/bin/softnas-cmd executeupdate -t >> /tmp/cf.tmp 2>&1
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
role name requirement is from vendor https://docs.softnas.com/display/SD/AWS+Getting+Started+-+Creating+Your+IAM+role
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)