Using S3 storage

First setup the AWS CLI interface.

The cli interface allows to list available buckets:

#!/bin/bash

aws s3api list-buckets --region eu-central-1

as well as create buckets

#!/bin/bash

aws s3 mb s3://your-bucket --region eu-central-1

copy content to the bucket:

#!/bin/bash

aws s3 cp tears-of-steel s3://your-bucket/tears-of-steel --recursive --region eu-central-1

or delete content from the bucket:

#!/bin/bash

aws s3 rm s3://your-bucket/tears-of-steel --recursive --region eu-central-1

The endpoint then is the following:

http://your-bucket.s3.eu-central-1.amazonaws.com

Please note that permissons should be set on content before it can be accessed.

One way is setting an ACL on the bucket, the following makes the bucket world readable:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "MakeItPublic",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::your-bucket/*"
    }
  ]
}

But Using S3 with Authentication can be followed as well.

For further options and possibilities please refer to the AWS documentation.

Following the storage proxy Installation documentation, the just created bucket and uploaded content can be streamed by adding the UspEnableSubreq directive and defining <Proxy> sections for each remote storage server used.

<Location "/">
  UspHandleIsm on
  UspEnableSubreq on
  IsmProxyPass https://your-bucket.s3.amazonaws.com/
</Location>

SSLProxyEngine on

<Proxy "https://your-bucket.s3.amazonaws.com/">
  ProxySet connectiontimeout=5 enablereuse=on keepalive=on retry=0 timeout=30 ttl=300
</Proxy>

Note

Regions can also be appended explicitly, e.g. adding -eu-central-1 after s3 so the URL becomes https://your-bucket.s3-eu-central-1.amazonaws.com/.

The URL to the content then becomes the following, for instance for MPEG-DASH:

http://www.example.com/tears-of-steel/tears-of-steel.ism/.mpd

where www.example.com is the webserver running USP and has the previous vhost snippet (and the tears-of-steel content in 'your-bucket' used with both IsmProxPass and Proxy directives.

Note

For guidelines on howto use Unified Packager with Amazon S3 see How to write directly to Amazon S3.