AWS

Self-hosting on AWS

This guide provides AWS-specific information for deploying Membrane in your AWS environment.

IAM Role Configuration

Integration.app containers support AWS IAM role-based access to S3 and other AWS services. This is the preferred method over providing explicit access and secret keys.

Container IAM Configuration

To use IAM roles instead of access keys:

  1. Create an IAM role with appropriate S3 permissions
  2. Assign this role to your ECS tasks, EKS pods, or EC2 instances
  3. Omit the AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables

When running in a properly configured AWS environment, the containers will automatically use the IAM role credentials.

MongoDB on AWS

While AWS DocumentDB is technically compatible with our application, we recommend using native MongoDB (either self-hosted on EC2 or a managed MongoDB Atlas cluster) for better compatibility.

Some customers have encountered edge cases with DocumentDB due to differences in MongoDB API implementation. If you choose to use DocumentDB, be prepared for potential compatibility issues.

Redis on AWS

For Redis, you can use Amazon ElastiCache. Keep in mind that Redis is only used as a cache in our application and can be safely restarted or cleared. There's no persistent data stored in Redis that isn't recoverable from other sources.