AWS S3 object storage requires JFrog Container Registry, Pro, Enterprise X, or an Enterprise+ license.
Warning
The s3-storage template <chain template="s3"/>
, which uses JetS3t, is no longer supported as of Artifactory version 7.46.3 and therefore upgrading while using this template will fail. You should use s3-storage-v3 instead, which uses the official Amazon S3 Official SDK. The transition is mostly seamless to v3, since parameters are the same between the two providers. For more information, see here.
Artifactory fully supports AWS S3 object storage for distributed file systems so your Artifactory filestore can reside on the cloud. This presents the following benefits.
Unlimited scalability
Since your files are now stored on the cloud, this means that your Artifactory filestore is scalable and effectively unlimited (to the extent offered by your storage provider). You may freely continue to upload files without having to install or maintain any file storage devices. You can even upload files larger than 5 GB using multi-part upload.
Security
Enjoy the same security and authentication mechanisms provided by your S3 provider.
Disaster recovery
For certain S3 providers, your files are replicated and stored with redundancy. This offers the capability for disaster recovery.
Support any S3 compliant protocol
Artifactory's support is based on the S3 protocol. Any provider that uses S3, such as Ceph, Swift (through the S3 API) and others will also be supported by Artifactory. With support for AWS S3 version 4, you can sign AWS requests using Signature Version 4.
Direct (Eventual-less) versus Eventual Upload Mechanism
Migrating from eventual to direct?
If you are migrating from any eventual mechanism to the direct upload mechanism, make sure your eventual directory is empty or you could experience data loss. For instructions on how to migrate from the eventual to direct upload mechanism, click here.
The default S3 chain templates rely on an eventual upload mechanism, whereby an upload from a client is considered successful when the full binary has been uploaded to Artifactory. From Artifactory 7.9.0, the direct upload mechanism serves as an alternative mechanism whereby an upload is not considered successful until it reaches S3. There are advantages to both which we cover below.
Direct Upload Mechanism (Recommended)
The Direct Upload mechanism enables you to upload without the need to maintain persistent storage for the eventual directory. This mechanism may also allow for faster uploads, since there is less contention for disk IO, particularly when Artifactory is hosted on AWS.
Note
Direct upload (i.e. Eventual-less upload) and direct download are available for AWS, Azure, and GCP (Google Cloud Platform).
Direct download for Azure is only available for Self-Hosted environments.
Direct upload occurs in the following manner:
The client uploads an artifact to Artifactory.
Artifactory receives and simultaneously uploads to S3.
Artifactory finishes uploading the binary to S3:
Artifactory returns 201 success to the client.
A database entry for the artifact is created.
Eventual Upload Mechanism
If you are uploading on a system where the S3 upload speed is slow (for example, when Artifactory is self-hosted), you may want to use the Eventual Upload mechanism. The Eventual Upload mechanism also allows you to upload when S3 is down or experiencing network issues.
Eventual upload occurs in the following manner:
The client uploads an artifact to Artifactory.
Artifactory receives the full upload.
Artifactory returns a 201 success message to the client.
A database entry for the artifact is created.
The binary is stored in an eventual directory on the local disk.
Artifactory uploads the binary to S3.
The binary is deleted from the eventual directory.