S3

Cache tiles as objects in an AWS S3 bucket.

Ensure the user you’re using has proper permissions for reading and writing objects in the bucket. The permissions required are the minimal set you’d expect: GetObject and PutObject. It’s highly recommended to also grant ListBucket permissions, otherwise the log will contain misleading 403 error messages for every cache miss. Also ensure the user has access to the KMS key if using bucket encryption.

If you’re using a Directory Bucket AKA Express One Zone there’s a few things to configure:

  • Ensure storageclass is set to "EXPRESS_ONEZONE"

  • The bucket contains the full name including suffix. For example: my-tilegroxy-cache--use1-az6--x-s3

Name should be "s3"

Configuration options:

Parameter Description Type Required Default

bucket

The name of the bucket to use

string

Yes

None

path

The path prefix to use for storing tiles

string

No

/

region

The AWS region containing the bucket. Required if region is not specified via other means. Consult AWS documentation for possible values

string

No

None

access

The AWS Access Key ID to authenticate with. This is not recommended; it is offered as a fallback authentication method only. Consult AWS documentation for better options

string

No

None

secret

The AWS Secret Key to authenticate with. This is not recommended; it is offered as a fallback authentication method only. Consult AWS documentation for better options

string

No

None

profile

The profile to use to authenticate against the AWS API. Consult AWS documentation for specifics

string

No

None

storageclass

The storage class to use for the object. You probably can leave this blank and use the bucket default. Consult AWS documentation for an overview of options. The following are currently valid: STANDARD REDUCED_REDUNDANCY STANDARD_IA ONEZONE_IA INTELLIGENT_TIERING GLACIER DEEP_ARCHIVE OUTPOSTS GLACIER_IR SNOW EXPRESS_ONEZONE

string

No

STANDARD

endpoint

Override the S3 API Endpoint we talk to. Useful if you’re using S3 outside AWS or using a directory bucket

string

No

AWS Auto

Example:

cache:
  name: s3
  bucket: my-cache--use1-az6--x-s3
  endpoint: "https://s3express-use1-az6.us-east-1.amazonaws.com"
  storageclass: EXPRESS_ONEZONE
  region: us-east-1
  profile: tilegroxy_s3_user