Configure object storage
InfluxDB 3 Enterprise can be configured to use different object storage providers to store time series data in Parquet format. The process of configuring and connecting to different object storage providers varies. The following guides walk through configuring, connecting to, and using different object storage providers as your InfluxDB 3 Enterprise object store.
Amazon S3
Use Amazon S3 as the object store for your InfluxDB 3 Enterprise instance.
MinIO
Use MinIO as the object store for your InfluxDB 3 Enterprise instance. InfluxDB uses the MinIO S3-compatible API to interact with your MinIO server or cluster.
Google Cloud Storage
Use Google Cloud Storage as the object store for your InfluxDB 3 Enterprise instance.
Azure Blob Storage
Use Azure Blob Storage as the object store for your InfluxDB 3 Enterprise instance.
Object store requirements
InfluxDB 3 Enterprise uses the object store as the source of truth for catalog state. The catalog write path relies on conditional PUT (PUT-if-not-exists) to serialize catalog log writes, and every node depends on immediate visibility of writes made by any other node. Your object store deployment must provide the object store semantics InfluxDB 3 Enterprise depends on.
Consistency semantics
InfluxDB 3 Enterprise requires at least the following from any object store:
- Strong read-after-write consistency: a
GETimmediately after a successfulPUTreturns the new object. - Strong list-after-write consistency: a
LISTimmediately after a successfulPUTincludes the new key. - Conditional PUT (PUT-if-not-exists) semantics: concurrent creates of the
same key serialize so that exactly one write succeeds and the other returns
AlreadyExists.
A backend that violates these semantics can cause catalog split-brain, stale reads on node startup, and unexpected node-state warnings.
Verify your object store
InfluxDB 3 Enterprise 3.10.0 and later includes the
influxdb3 debug object-store-check
command that validates an object store against the preceding semantic requirements.
Run it against your object store endpoint before putting the deployment into
production, and again after any change to its topology or backing storage:
influxdb3 debug object-store-check \
--object-store s3 \
--bucket influxdb3 \
--aws-endpoint http://localhost:9000 \
--aws-access-key-id MINIO_USERNAME \
--aws-secret-access-key MINIO_PASSWORD \
--aws-allow-http \
--check-prefix CHECK_PREFIXReplace the following:
CHECK_PREFIX: a prefix for the tool’s synthetic test objects, such asoscheck.--check-prefixis required.
- The tool writes and deletes synthetic test objects under
<CHECK_PREFIX>/oscheck-<uuid>/, whereoscheck-<uuid>is a fixed, tool-generated subdirectory name (not user-configurable) that’s unique to each run, and reports any semantic violation it finds. - If every check passes, your object store meets the semantics InfluxDB 3 Enterprise depends on.
- If a check fails, resolve the reported issue in your object store or its configuration, and then rerun the command.
- If the synthetic checks pass but a real catalog is still failing to load,
add
--probe-prefix <your-catalog-prefix>to also replay the loader’s object store operations against your real catalog. The probe itself is read-only, but the command still runs the synthetic write and delete checks under--check-prefixfirst, so that prefix must remain writable and the credentials need read, write, delete, and list permissions on it–for example, an AWS IAM policy needss3:GetObject,s3:PutObject,s3:DeleteObject, ands3:ListBucket(see Create IAM credentials for a sample policy).
See influxdb3 debug object-store-check
for the full flag reference.
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB 3 Enterprise and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support. Customers using a trial license can email trial@influxdata.com for assistance.