Category Archives: FreeNAS

FreeNAS Alerting with Amazon AWS SNS

When setting up alerting on FreeNAS 11,x, I chose to use AWS’ free SNS Service. I was a SNS virgin before going through this, so I documented the procedures below.

  1. Assuming you already have an AWS Account (even if you arent paying for any services), you can add free SNS service to the account here: Amazon AWS SNS
  2. Upon logging into the SNS Dashboard, click “Create Topic

  3. Give the topic and Name and Display Name

  4. Click “Create Subscription“. The topic ARN will already be filled out, so just select Email for Protocol, and put in the email address to receive the alerts. You will receive an email requesting you to click a link to confirm the subscription.

  5. After subscription confirmation, click on the subscription and note the Region and ARN, as this will be used in FreeNAS later.

  6. While still logged in with your AWS account, go the the AWS Identity and Access Management console (IAM). https://console.aws.amazon.com/iam/home#/home
  7. Click on the Users Menu, and then Add User. Create a Username and Select Programmatic Access as the access type.

  8. For policies for the user, select “AmazonSNSFullAccess“. (I am not sure if Full Access is required, but I didn’t have time to play around with lowest permissions needed.
  9. The final step on the AWS side, is to make note of the Access Key ID and Secret Access Key that is automatically created under the IAM user you just created.

  10. Login to your FreeNAS management console, and go to SystemAlert Services. Click Add Alert Service, and have all that AWS info ready as follows:Service Name: AWS-SNS
    Region: (Region found on the SNS Subscription)
    ARN: (ARN found on the SNS Subscription)
    Key ID: (Found under the AWS IAM account you created)
    Secret Key: (Found under the AWS IAM account you created)

  11. Click OK (Before you Send Test Alert), and then click Edit on the Alert Service again, and from there you can send test alert. In my case, there was about a 1 min delay before email came in.