Skip to main content

Backup MongoDB databases using AWS Lambda functions

Project description

mongo-lambda-backup

Build Status

Backup MongoDB databases using AWS Lambda functions

The code in this repo allows running the backup of a MongoDB database to S3 on AWS Lambda by emulating a mongodump using pymongo and boto3. By default the function will create a JSON file for every collection in the database and save them in a /backup folder.

Install from pip

pip install mongo_lambda_backup

Configuration

All configuration values are passed using environment variables.

The following values are required:

  • MONGO_URI: The URI (including authentication credentials if needed) of the MongoDB host to be backed up. In case this contains credentials you can encrypt this value using AWS KMS and set MONGO_URI_IS_ENCRYPTED to tell the Lambda it needs to decrypt the given value.
  • BUCKET_NAME: The name of the S3 bucket to store the backup files in.

The following values are optional:

  • MONGO_URI_IS_ENCRYPTED: In case this environment variable is set, the handler assumes the URI (which potentially contains credentials) needs to be encrypted using the KMS key associated with the Lambda.
  • MONGO_DATABASE: The name of the database to back up. In case this is not set, it will be read from the path of MONGO_URI.
  • BUCKET_FOLDER: The folder in the bucket to store the JSON files in. Defaults to backups.
  • COLLECTION_BLACKLIST: A comma-separated collection of collection names to skip when performing the back up (e.g. for skipping indices or vendor specific databases).
  • IN_MEMORY: If set, the collection to be dumped to S3 will be handled in the Lambda's memory before writing. This might affect both backup speed as well as Lambda Limits in certain scenarios.

License

MIT © Frederik Ring

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mongo_lambda_backup-0.3.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

mongo_lambda_backup-0.3.0-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file mongo_lambda_backup-0.3.0.tar.gz.

File metadata

  • Download URL: mongo_lambda_backup-0.3.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.20.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.7

File hashes

Hashes for mongo_lambda_backup-0.3.0.tar.gz
Algorithm Hash digest
SHA256 5201c02a58245ddd33c7adc6980702af5d7aafe029ef085f4de680da44feb232
MD5 fb363a27146762b34183cd2b4e3692c8
BLAKE2b-256 0efe94c1dce1e96c554fea4b93cd4eb47523f2918f85ffa1597bc4ef89b1134c

See more details on using hashes here.

File details

Details for the file mongo_lambda_backup-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: mongo_lambda_backup-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.20.1 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.7

File hashes

Hashes for mongo_lambda_backup-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58e703bc5d264cdf6a8cd93bb056823f54305f242df8645bce0228998673c306
MD5 7446f67f81389907b0b0a9a778615467
BLAKE2b-256 5b2f18cd47c7c02321f8d932c0e5597c8fb9098ae8984c192f2d221827057838

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page