Skill 99 · Timestream Influxdb
Subchapter 99.3
references/migration-guide.mdMarkdown6 KBView on GitHub
User wants to migrate from LiveAnalytics to InfluxDB 3, from self-managed InfluxDB to managed, or from V2 to V3. Covers data export/import and Parquet conversion.
LiveAnalytics is in maintenance mode. Use the InfluxData certified LiveAnalytics migration plugin and its companion migration client. This plugin is recommended for smaller migrations (under 1 billion records / 125GB). For larger datasets, contact the account team for guidance.
How it works:
UNLOAD to export LiveAnalytics data to S3 in Parquet formatData mapping:
| LiveAnalytics Concept | InfluxDB 3 Concept |
|---|---|
| Table | Measurement |
| Dimensions | Tags |
| Measure name | Tag |
| Measures | Fields |
| Time | Timestamp |
Steps:
Use a dedicated private export bucket with default SSE-KMS encryption. Before running the migration client, scope both the bucket policy and the KMS key policy to the migration role and any service principals required by the current migration documentation. Grant only the required S3 and KMS actions, require TLS, and block public access.
# 1. Provision InfluxDB 3 Enterprise cluster (route to getting-started)
# 2. Create S3 bucket for export and apply secure defaults
aws s3api create-bucket --bucket <bucket> \
--object-lock-enabled-for-bucket --region <region> \
--create-bucket-configuration LocationConstraint=<region>
aws s3api put-public-access-block \
--bucket <bucket> \
--public-access-block-configuration \
BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true
aws s3api put-bucket-encryption \
--bucket <bucket> \
--server-side-encryption-configuration '{
"Rules": [{
"ApplyServerSideEncryptionByDefault": {
"SSEAlgorithm": "aws:kms",
"KMSMasterKeyID": "<kms-key-arn>"
},
"BucketKeyEnabled": true
}]
}'
aws s3api put-bucket-policy \
--bucket <bucket> \
--policy '{
"Version": "2012-10-17",
"Statement": [{
"Sid": "DenyInsecureTransport",
"Effect": "Deny",
"Principal": "*",
"Action": "s3:*",
"Resource": [
"arn:<partition>:s3:::<bucket>",
"arn:<partition>:s3:::<bucket>/*"
],
"Condition": {
"Bool": {
"aws:SecureTransport": "false"
}
}
}]
}'
# 3. Run the migration client (recommended on EC2 t3.medium for auto-rotating IAM creds)
export INFLUXDB3_HOST_URL="https://<process-node-endpoint>:<port>"
V3_TOKEN_SECRET_ARN="$(
aws timestream-influxdb get-db-cluster \
--db-cluster-id <cluster-id> \
--query influxAuthParametersSecretArn \
--output text
)"
INFLUXDB3_AUTH_TOKEN="$(
aws secretsmanager get-secret-value \
--secret-id "$V3_TOKEN_SECRET_ARN" \
--query SecretString --output text |
python3 -c "import sys,json; print(json.loads(sys.stdin.read())['token'])"
)"
export INFLUXDB3_AUTH_TOKEN
export INFLUXDB3_DATABASE_NAME="<database>"
python3 liveanalytics_influxdb3_migration_client.py \
--live-analytics-database-name <la-database> \
--s3-bucket-name <bucket>
unset INFLUXDB3_AUTH_TOKEN V3_TOKEN_SECRET_ARNImportant constraints:
Cost note: Data migration costs (S3 storage, data transfer) may apply. Discuss with account team for large migrations (5TB+).
From self-managed InfluxDB 2:
influx backup or line protocol exportgetting-startedinflux restore or line protocol writeFrom self-managed InfluxDB 3 / InfluxDB Cloud:
getting-startedNo in-place upgrade path. Requires data migration:
/api/v2/query with CSV outputgetting-startedschema-design (tags/fields may need restructuring)Note: InfluxDB 3 uses SQL and InfluxQL — Flux is not supported. Queries must be rewritten.
schema-design)CreateDbCluster API model