인 메모리 및 캐시 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용 ElastiCache 버전 6.2(향상됨)는 r6gd 노드 유형을 사용하여 메모리와 SSD 간에 데이터를 계층화하는 기능
  • Redis용 ElastiCache 버전 6.0(향상됨)이 역할 기반 액세스 제어로 사용자를 인증함
  • Redis용 ElastiCache 버전 5.0.0(향상됨) 생산자가 최신 항목을 실시간으로 추가하고 소비자가 차단 또는 비차단 방식으로 메시지를 소비할 수 있도록 하는 로그 데이터 구조인 Redis 스트림
  • Redis용 ElastiCache 버전 4.0.10(고급) 암호화 및 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
    
    

    좋은 웹페이지 즐겨찾기