Page tree

This document describes how to setup the storage engine to work with Amazon S3.

Overview

In VoipNow, the largest space consumers are incoming faxes, recorded calls and voicemail messages. By default, these resources are stored locally. As previously explained, VoipNow allows users to store these resources in the Amazon S3 cloud.

If you have previously stored these files locally and decide to use the Amazon S3 service, you should know that the old files cannot be transferred to the cloud. They will remain in the local filesystem.

Just the same, if you later decide to give up on the Amazon S3 service, the files created while using Amazon S3 remain in the cloud, while the new files are locally stored.

Create an Amazon Web Services Account

Begin by setting up an Amazon account. Please follow the next steps:

  1. Go to http://aws.amazon.com/s3/ and select Sign Up. If you do not have an AWS account already, you are prompted to create one as part of the sign-up process.
  2. After registering to Amazon Web Services, you have to sign in to the AWS Console.

Create S3 Bucket for VoipNow Storage

  1. Open the Services drop-down list and select S3.
  2. Click the Create Bucket button.
  3. Fill in the bucket name, e.g. voipnowstorage.
  4. Select the region for the bucket, e.g. US Standard.
  5. Click Create. The newly created voipnowstorage appears in the buckets table.

Set Up Users and Policies

Open the Services drop-down list and select IAM. This is the AWS Identity and Access Management.

Create a User

  1. Navigate to the Users section and click the Create New Users button.
  2. Fill in a name for the new user and make sure the Generate an access key for each User check box is selected. Click Create and a confirmation pop-up is displayed. Do not close this pop-up!
  3. Click on Show User Security Credentials and write down the Access Key ID and Secret Access Key or or download them as a .csv file. This step is important as you will use the Access Key and Secret Key later to connect the VoipNow server to the cloud storage.

    Pay Attention

    If you do not download the credentials now, you will not be able to retrieve the credentials at a later time.

  4. Close the window. The user is be added to the list.

Set Up Policy

  1. Navigate to the Groups section and click the Create New Group button.
  2. Enter a name for the new group, e.g. VoipNowS3Access.
  3. Continue to customize Permissions and select the Custom Policy option.
  4. Fill in a name for the policy, e.g. VoipNowS3AccessPolicy.
  5. Fill in the following in the Policy Document text area where voipnowstorage is the bucket name we have previously created.

    {
        "Version": "2012-10-17",
        "Statement":[
          {
             "Effect":"Allow",
             "Action":[
             "s3:ListAllMyBuckets"
             ],
             "Resource":"arn:aws:s3:::*"
          },
          {
             "Effect":"Allow",
             "Action":[
             "s3:ListBucket",
             "s3:GetBucketLocation"
             ],
             "Resource":"arn:aws:s3:::voipnowstorage"
          },
          {
             "Effect":"Allow",
             "Action":[
             "s3:PutObject",
             "s3:GetObject",
             "s3:DeleteObject"
          ],
             "Resource":"arn:aws:s3:::voipnowstorage/*"
          }
       ]
    }

  6. Confirm the group creation. The group is added to the list.
  7. Select the group and then click the Add Users to Group button. A pop-up window is displayed.
  8. Select the user you have previously created and add it to the group.
  9. You can also associate the user with a policy from the user section. After you have completed these steps, go to VoipNow's web interface and configure the storage engine.

Set Up Storage in the Cloud

To set up your system's storage:

  1. In the VoipNow Web Interface, navigate to Cloud ManagementStorage Configuration. This is where you can choose between storage on the local disk (POSIX) and storage in the cloud (Amazon S3).
  2. Select the 'Amazon S3' storage engine in the Select Storage drop-down list.
  3. Customize the Amazon S3 Preferences. Please note that the VoipNow system knows of only one S3 bucket. If you later start using another bucket, changing the bucket name in VoipNow will not migrate your data automatically. In order to continue accessing the old voicemails, faxes, recordings, you will have to do the migration of these resources between the old bucket and the new one using the Amazon S3 console or any other tool fully supporting the S3 API.
    • Availability Zone: Fill in a descriptive name for the Availability Zone. It's your choice, but you could fill in a suggestive name referring to the region where you defined your bucket (e.g. USEast).
    • Availability Zone URL: Specify the Amazon Availability Zone URL. This is the URL specific to the Region where you defined your bucket (see the 'Amazon Simple Storage Service (S3)' section of this document). e.g. s3.amazonaws.com is the URL for the US Standard region. If you get this wrong, nothing is saved in your S3 bucket.
    • Bucket: Specify the name of the bucket you have configured in the previous section.

    Things to check if nothing is saved in your S3 bucket:

    • the policy bucket name is the same with the one you configured in S3 and filled in the Bucket field of the VoipNow Web Interface.
    • the S3 region you've set up for your bucket is the same with the one set up in the Availability Zone URL field of the VoipNow Web Interface.
  4. Select the Change Amazon S3 Credentials checkbox.
  5. Fill in the Amazon S3 Credentials.
  6. Confirm your settings by clicking OK. You should now have cloud storage enabled on your VoipNow server.
  • No labels

Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.