Configure your own buckets
Last updated
Was this helpful?
Last updated
Was this helpful?
This documentation is for the CARTO Self-Hosted Legacy Version. Use only if you've installed this specific version. Explore our latest documentation for updated features.
For every CARTO Self-Hosted installation, we need some configured buckets to store resources that will be used by the platform. These storage buckets are part of the required infrastructure for importing and exporting data, map thumbnails, customization assets (custom logos and markers) and other internal data.
You can create and use your own storage buckets in any of the following supported storage providers:
Create 2 buckets in your preferred Cloud provider:
Import Bucket
Thumbnails Bucket.
Create the data export bucket. This bucket has to be created in different storage providers depending on your data warehouse:
BigQuery:
Snowflake:
Redshift:
Amazon RDS:
For buckets created in AWS S3:
ACLs should be allowed.
CORS configuration: Thumbnails and Import buckets require having the following CORS headers configured.
Allowed origins: *
Allowed methods: GET
, PUT
, POST
Allowed headers (common): Content-Type
, Content-MD5
, Content-Disposition
, Cache-Control
GCS (extra): x-goog-content-length-range
, x-goog-meta-filename
Azure (extra): Access-Control-Request-Headers
, X-MS-Blob-Type
Max age: 3600
Generate credentials with Read/Write permissions to access those buckets, our supported authentication methods are:
GCS: Service Account Key
AWS: Access Key ID and Secret Access Key
Azure Blob: Access Key
In order to use Google Cloud Storage custom buckets you need to:
Create a custom Service account.
Grant this service account with the following role (in addition to the buckets access): roles/iam.serviceAccountTokenCreator
.
Set the following variables in your customer.env file:
If
<BUCKET>_KEYFILENAME
is not defined envGOOGLE_APPLICATION_CREDENTIALS
is used as default value. When the selfhosted service account is setup in a Compute Engine instance as the default service account, there's no need to set any of these, as the containers will inherit the instance default credentials.
If
<BUCKET>_PROJECTID
is not defined envGOOGLE_CLOUD_PROJECT
is used as default value.
To enable exporting data from BigQuery on CARTO Self-Hosted platform, we need a GCS bucket where we can store the exported data, and a service account with permissions to manage the bucket. These are the required steps:
Update the customer.env file with the following values:
Snowflake and Redshift require an AWS S3 bucket to export data from CARTO platform. These are the needed steps for allowing exporting data from CARTO Self-Hosted in these providers:
Create an IAM user and generate a programmatic key ID and secret. If server-side encryption is enabled, the user must be granted with permissions over the KMS key used.
Create an AWS IAM role with the following settings:
Trusted entity type: Custom trust policy
.
Custom trust policy: Make sure to replace <your_aws_user_arn>
.
Add permissions: Create a new permissions' policy, replacing <your_aws_s3_bucket_name>
.
Add the following environment variables in your customer.env file and apply the changes:
If server-side encryption is enabled, the user must be granted with permissions over the KMS key following the .
How do I setup CORS configuration? Check the provider docs: , , .
Grant read/write permissions to the service account used by your CARTO Self-Hosted installation on the GCS export bucket created in the .
The bucket to export data from Amazon RDS for PostgreSQL can be configured from the CARTO platform UI. Once your Self-Hosted installation is finished, you can check in the following documentation .