인 메모리 및 캐시 DB(Amazon ElastiCache)
우리는 이 기사 시리즈를 통해 5가지 놀라운 😮 AWS 데이터베이스에 대해 배웠습니다. 이 시리즈가 끝날 때까지 저와 함께 해주세요. 최종 결선 😇을 망치고 싶지 않습니다. 마침내 이 데이터베이스 중 하나 또는 두 개와 함께 훌륭한 미니 프로젝트를 구축할 것입니다.
지금까지 배운 내용 요약:
이 기사에서는 다음 데이터베이스 Amazon ElastiCache에 대해 알아봅니다.
Amazon ElastiCache란 무엇입니까?
Amazon ElastiCache is a fully managed in-memory data store and cache service by Amazon Web Services. The service improves the performance of web applications by retrieving information from managed in-memory caches, instead of relying entirely on slower disk-based databases.
Amazon ElastiCache를 언제 선택해야 하는지 어떻게 알 수 있습니까?
지연 시간이 마이크로초인 키를 사용하여 데이터를 쿼리할 수 있는 데이터베이스를 찾고 있다면 Amazon ElastiCache가 선택한 DB입니다. Amazon ElastiCache에 대해 고려해야 할 특히 중요한 사실은 Memcached 및 Redis 캐시 엔진을 지원한다는 것입니다. 이 읽기를 끝까지 계속하면서 둘 중 하나를 사용할 때의 몇 가지 이점을 알려드리겠습니다. 이 정보가 귀하의 요구 사항에 가장 잘 맞는 올바른 엔진과 버전을 선택하는 데 도움이 되기를 바랍니다.
일부 업계 Amazon ElastiCache 사용 사례는 무엇입니까?
속도 필요(1밀리초 미만의 대기 시간)
이제 Amazon ElastiCache에 대한 일반적인 아이디어를 얻었으므로 계속해서 더 깊이 파고들어 Amazon ElastiCache 리소스를 탐색하고 구축해 보겠습니다.
가장 먼저 해야 할 일 – 언제 Memcached와 Redis를 사용해야 합니까?
멤캐시드:
Redis 버전이 적용될 수 있습니다.
참고: 이 목록에 사용 가능한 모든 Redis 버전을 포함하지 않았습니다. 자세한 내용은 이 페이지에 참조 링크를 추가하겠습니다. 이 비교를 통해 향후 프로젝트에 어떤 엔진을 선택해야 하는지에 대한 아이디어를 얻을 수 있기를 바랍니다.
이제 이 두 엔진에 대한 일반적인 아이디어를 얻었으므로 계속해서 세부 정보를 탐색하고 Terraform을 사용하여 빌드할 수 있습니다.
Amazon ElastiCache의 몇 가지 중요한 특징을 살펴보겠습니다.
멤캐시드
Performance:
- Automatic detection and recovery from cache node failures
- Automatic discovery of nodes within a cluster enabled for automatic discovery, so that no changes need to be made to your application when you add or remove nodes
- Integration with other AWS services such as Amazon EC2, Amazon CloudWatch, AWS CloudTrail, and Amazon SNS to provide a secure, high-performance, managed in-memory caching solution
- Each cache node has its own Domain Name Service (DNS) name and port
Scalability:
- Every node runing an instance of Memcached can scale the nodes in a cluster up or down to a different instance type
- Memcached supports up to 300 nodes per customer for each AWS Region with each cluster having 1–40 nodes
- More than 40 nodes in a Memcached cluster, or more than 300 nodes totalFill out the ElastiCache Limit Increase Request form at: https://aws.amazon.com/contact-us/elasticache-node-limit-request/
Availability:
- Flexible Availability Zone placement of nodes and clusters
- Amazon ElastiCache for Memcached is available in multiple AWS Regions around the world
- It's recommended to use consistent hashing while partitioning data
- When you scale your Memcached cluster up or down, you must create a new cluster. Memcached clusters always start out empty unless your application populates it
Security:
- All new ElastiCache clusters are launched in an Amazon Virtual Private Cloud (Amazon VPC) environment
- ElastiCache node access is restricted to applications running on whitelisted Amazon EC2 instances
- Access to cluster outside a VPC is controlled by security groups
- AWS is responsible for protecting the infrastructure that runs AWS services in the AWS Cloud
- You are also responsible for other factors including the sensitivity of your data
- Your company’s requirements, and applicable laws and regulations
레디스
Performance:
- Redis (cluster mode enabled) supports partitioning your data across up to 500 shards.
- Integration with other AWS services such as Amazon EC2, Amazon CloudWatch, AWS CloudTrail, and Amazon SNS. This integration helps provide a managed in-memory caching solution that is high-performance and highly secure.
- ElastiCache for Redis manages backups, software patching, automatic failure detection, and recovery.
- You can have automated backups performed when you need them, or manually create your own backup snapshot. You can use these backups to restore a cluster. The ElastiCache for Redis restore process works reliably and efficiently.
- Data tiering provides a price-performance option for Redis workloads by utilizing lower-cost solid state drives (SSDs) in each cluster node in addition to storing data in memory. It is ideal for workloads that access up to 20 percent of their overall dataset regularly, and for applications that can tolerate additional latency when accessing data on SSD.
Scalability:
- Automatic detection of and recovery from cache node failures
- You can get high availability with a primary instance and a synchronous secondary instance that you can fail over to when problems occur. You can also use read replicas to increase read scaling
- Redis (cluster mode enabled) clusters can have up to 500 shards
Availability:
- Multi-AZ for a failed primary cluster to a read replica, in Redis clusters that support replication
- Flexible Availability Zone placement of nodes and clusters for increased fault tolerance
- By using the Global Datastore for Redis feature, you can work with fully managed, fast, reliable, and secure replication across AWS Regions. Using this feature, you can create cross-Region read replica clusters for ElastiCache for Redis to enable low-latency reads and disaster recovery across AWS Regions
Security:
- For Redis version 3.2 and later, all versions support encryption in transit and encryption at rest encryption with authentication. This support helps you build HIPAA-compliant applications
- You can control access to your ElastiCache for Redis clusters by using AWS Identity and Access Management to define users and permissions
- All new ElastiCache clusters are launched in an Amazon Virtual Private Cloud (Amazon VPC) environment
- ElastiCache node access is restricted to applications running on whitelisted Amazon EC2 instances
- Access to cluster outside a VPC is controlled by security groups
- AWS is responsible for protecting the infrastructure that runs AWS services in the AWS Cloud
- You are also responsible for other factors including the sensitivity of your data
- Your company’s requirements, and applicable laws and regulations
이러한 제한 사항 중 일부는 조정 가능하고 다른 제한 사항은 조정할 수 없습니다.
아 맞다 구축 중입니다 👷 이제 Terraform을 사용하여 이 데이터베이스를 구축하겠습니다
Terraform 코드 이전:
resource "aws_elasticache_cluster" "memcached_engine" {
cluster_id = "cluster-memcached"
engine = "memcached"
node_type = "cache.m4.large"
num_cache_nodes = 4
parameter_group_name = "default.memcached1.4"
port = 11211
}
resource "aws_elasticache_cluster" "redis_engine" {
cluster_id = "cluster-redis"
engine = "redis"
node_type = "cache.m4.large"
num_cache_nodes = 2
parameter_group_name = "default.redis3.2"
engine_version = "3.2.10"
port = 6379
}
Find the Terraform repo and directions for this project here
도표
참조:
https://docs.aws.amazon.com/ElastiCache/latest/developerguide/limits.html
https://en.wikipedia.org/wiki/Amazon_ElastiCache
Reference
이 문제에 관하여(인 메모리 및 캐시 DB(Amazon ElastiCache)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/the-in-memory-cache-db-amazon-elasticache-3d4a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)