It really depends on your use case. Is it state data, or configuration data? For configuration data (secrets, db login credentials, etc), the recommended way is EC2 Parameter Store, which Lambda functions can access (Lambda is built on top of EC2). It's also integrated with KMS so you can store config data securely. These are some good posts on how to use it. https://medium.com/@mda590/simple-secrets-management-via-aws-ec2-parameter-store-737477e19450 https://hackernoon.com/you-should-use-ssm-parameter-store-over-lambda-env-variables-5197fc6ea45b If you're using it for state data, then there are loads of options as other people have mentioned below. I would look at one of Step Functions, DynamoDB or S3. When deciding what to use you should ask yourself how unique is the data that needs to be shared, and what is the rate of change of that data. If the data is not very unique and doesn't change much, then use S3, if it's very unique and is very likely to change something like Step Functions will be better. Basically it comes down to the performance characteristics of those services. The other option is using a queuing mechanism to pass data between functions, but that depends on the logic of your application, and is most applicable when you have a chain of functions invoked from an event. This is a good post on comparing the different queues AWS has https://hackernoon.com/applying-the-pub-sub-and-push-pull-messaging-patterns-with-aws-lambda-73d5ee346faa