Amazon S3 Storage

Amazon S3 is an internet-based storage service provided by Amazon.com. S3 comes with no startup cost, no minimum usage, and is only billed for storage and bandwidth that you use. A typical Aligni site with several users and hundreds of parts with PDF, schematic, and layout assets associated with them will cost around $1.00 per year.  Coupling your account with Amazon S3 is completely optional. However, without S3 coupling, you will not be able to make use of file attachments or automatic site backups.

Aligni allows you to store assets (files attached to parts, vendors, manufacturers, and so on) using your S3 account. All you need to do is sign up for S3 and provide Aligni access to part of your space.  When you upload an asset to Aligni, the file is first transferred to our servers and then on to the Amazon S3 storage.

When you select to view an asset, Aligni will request an authenticated URL from S3. This authenticated URL is valid for 5 minutes and will automatically be destroyed after that time. Your browser will be redirected to that URL when you click on the link in Aligni. Amazon will then serve the asset directly to your browser.  This process occurs seamlessly so you can quickly view the content you clicked on.

We have granted public read access to the S3 bucket we use for the Aligni Demo Site (Consolidated Diversified). It is called “aligni_demo”. You can view its contents from the S3 Firefox Organizer if you wish.

Amazon S3 Bucket Names

You will need to create an Amazon S3 “bucket” to store your site assets. Amazon requires that the bucket name be unique across all Amazon S3 buckets. Therefore, you should include something like your organization or company name in the bucket name. Due to implementation constraints, some bucket names will be acceptable to Amazon, but not to Aligni. Here are some guidelines we suggest:

  • A good start is “your-company-name-aligni”
  • Do not use underscores (_). While these are acceptable Amazon S3 names, they can cause performance issues because they result in names that are not DNS compliant.
  • Use all lower case. Again, while Amazon S3 bucket names can include mixed case, DNS resolution does not. It’s best to just avoid it.
  • Do not create bucket names that look like IP addresses (e.g. 192.123.43.12)

Backups

Please note that the files you keep on Amazon S3 storage are not backed up. We suggest configuring your own automatic system for backing up the assets in your Amazon S3 bucket.

Configuring Aligni and S3

The steps below require that you provide Aligni with your Access Key ID or Secret Key.  We only keep this information long enough to complete the setup.  It is not stored in your site database.  If sharing this information is a concern, see the Alternate Configuration below.

Step 1: Sign up for S3

If you do not already have an S3 account, you can sign up here: Amazon S3  Amazon simply requires that you provide credit card information to bill you for usage. There are no startup fees associated with the service.

Step 2: Configure Aligni

Login as administrator and go to the Site Configuration page from the homepage submenu. Next to the setting Amazon S3 Bucket Name, click on Setup Tool.  Within the setup tool, enter your Access Key ID and Secret Key. These are provided by Amazon when you enroll in their S3 service.

Choose a unique bucket name. Note that this name needs to be globally unique across S3. Therefore, you may want to choose something like “yourcompanyname-aligni”. You won’t need to type this name often, so it could just be a random jumble of letters and numbers.

Click Setup S3 Storage to complete the setup. At this point, Aligni will connect with the S3 service using your access information and create the bucket and grant the proper permissions to allow Aligni to use the bucket.

Step 3: Test the Connection

From the Site Configuration page you can click on Test Connection to test your Amazon S3 configuration. If you have any problems, you may want to download the S3 Firefox plugin or other third-party S3 tool to check out your setup.

Alternate Configuration

This setup method does not require you to share your Access Key ID or your Secret Key, but it does involve a couple additional steps.

Step 1: Sign up for S3

If you do not already have an S3 account, you can sign up here: Amazon S3  Amazon simply requires that you provide credit card information to bill you for usage. There are no startup fees associated with the service.

Step 2: Download the S3 Firefox Organizer

S3 is an online web service with basic capabilities available through the AWS interface. There are a number of other user interfaces provided by third-parties. One such interface is the S3 Firefox Organizer.  This interface is actually an extension to the Firefox browser and is run within Firefox.

Step 3: Create a Bucket for Aligni (Perform this step in the S3 Firefox Organizer)

S3 allows you to create up to 100 “buckets” per account. These buckets are essentially folders where you can store data objects. S3 allows you to assign permissions to each bucket independently. You will give Aligni full access to one of your buckets so that Aligni may create, read, and destroy objects within that bucket.

You can call your bucket anything you like, but it must be unique to all buckets (even on other people’s accounts). Therefore, it is probably best to name it something rather unique. For example: “923810239.Aligni” The prefix can be just a random bunch of letters or numbers.

Step 4: Grant Access to Aligni (Perform this step in the S3 Firefox Organizer)

Once you have created your bucket, select the bucket and click “Edit ACL” from the drop-down menu. At the bottom left of the window, select “Share” > “With User ID” and enter the Aligni Canonical ID:

04ebdfa3326e4ad2e796a9ef8f0f68d140f54170a00161951be4bfab5a0e5bdb

Finally, grant full control to this new share and click “Save” to keep the settings.

Step 5: Setup Aligni

In your Aligni Site Configuration, enter the name of your new bucket next to the setting for “Amazon S3 Bucket Name”.

That’s it! You should now be able to upload files to items in your Aligni database.