I’m building a deployment pipeline on AWS for my NodeJs app and I use Redis for caching and creating job queues.
Since AWS ECR can only contain a single container, do I have to create another ECR for my redis instance ?
I’m building a deployment pipeline on AWS for my NodeJs app and I use Redis for caching and creating job queues.
Since AWS ECR can only contain a single container, do I have to create another ECR for my redis instance ?
3
Answers
Looks like AWS provides caching out-of-the-box with Amazon ElastiCache:
https://aws.amazon.com/getting-started/hands-on/setting-up-a-redis-cluster-with-amazon-elasticache/
An Amazon ECR setup would be targeted towards a single application, for example your website, an API or a microservice. Each ECR repository can support tags so that you can iterate on a new version of the application but you would not share a repository with multiple applications.
If you’re using Redis there is a official image that you could use rather than you own so you could also take a look at that.
You seem to have some confusion over terms.
ECR stands for Elastic Container Registry. A registry can hold multiple repositories,
and a repository holds multiple versions of an image.
So if you wanted to push a customized Redis image (versus using a standard image or the AWS Elasticache service), you would create a new repository to hold it, within your existing registry.
Note that ECR registries are per-region. However, since the repository URL contains the region, you don’t need to duplicate your repositories across regions.