Using Amazon S3 Express One Zone with Loki

Hi folks,

I got Loki 3.6.11 working with an Amazon S3 Express One Zone directory bucket. The key pieces were:

  • storage.use_thanos_objstore: true
  • loki.storage.object_store.s3.endpoint: s3express-control.us-east-1.amazonaws.com
  • bucket_lookup_type: virtual-hosted
  • native_aws_auth_enabled: true
  • storage_prefix to isolate the deployment if multiple Loki instances share the bucket
  • delete_request_store: s3 when retention is enabled
  • an IRSA role with s3express:CreateSession

A minimal S3 section looks like:

storage:
  use_thanos_objstore: true
  bucketNames:
    chunks: my-directory-bucket
    ruler: my-directory-bucket
    admin: my-directory-bucket
  object_store:
    type: s3
    storage_prefix: loki-express
    s3:
      endpoint: s3express-control.us-east-1.amazonaws.com
      region: us-east-1
      bucket_lookup_type: virtual-hosted
      native_aws_auth_enabled: true

In my testing, using the S3 Express control endpoint was important. The bucket’s zonal endpoint is then derived for the data-plane requests.

If anyone has a more official recommended Loki config for S3 Express, I’d be interested in comparing notes.