This add-on module provides an alternative content-store that uses Amazon's Simple Storage Service (S3) as the persistent storage mechanism for Alfresco, allowing for virtually unlimited and inexpensive storage. Initially this will be supported for Enterprise customers with an Alfresco instance running on Amazon's Elastic Compute Cloud (EC2).
Versions supported are Alfresco Enterprise 4.1+.
Using an Alfresco Module Package the connector supplies a new content store which replaces the default filesystem-based implementation for the standard and 'deleted' content stores. The content store implementation is responsible for reading and writing content streams using the S3 API, however, in order to improve performance a local Caching Content Store is used which uses the local disk to cache recently-used content items.
The content store utilises a single S3 bucket and all content will be stored in that location, within one of two directories
<bucket-root>/contentstore for the main content store
<bucket-root>/contentstore.deleted for the 'deleted' content store
The size of the local caching content store may be configured as necessary to limit its use to a maximum overall size or by files with a maximum file size, e.g..
# Maximum disk usage for the cache in MB system.content.caching.maxUsageMB=51200 # Maximum size of files which can be stored in the cache in MB (zero implies no limit) system.content.caching.maxFileSizeMB=0
By default the module configures the caching content store to use a maximum of 50GB of disk, with no limit on individual file sizes.
Install the S3 Connector AMP using the Alfresco Module Management Tool (MMT) or the apply_amps script. The connector is supplied in a single AMP file which should be applied to the Alfresco repository WAR file.
Add the following properties to your alfresco-global.properties file
If the bucket has not been created previously then the connector will attempt to create it. The name of the bucket must be unique within S3 and across all AWS users, otherwise an exception will be thrown.
By default the bucket will be created in the 'EU' region. You may set this to 'US' by setting the s3.bucketLocation property in your alfresco-global.properties file, e.g..
You may optionally override the following properties, shown with their default values as set by the module.
Other advanced configuration parameters are supported by the JetS3t library used by the S3 connector. Alfresco does not support setting these properties unless advised by Alfresco Support.
In the event of an error occurring the underlying cause should be logged in the alfresco.log file.
If you wish to view diagnostic information you may set the following log4j setting