[AWS 입문] 프론트엔드의 AWS 걸음마: Elasticache와 Route 53 그리고 DNS에 대하여 알아보기

이 글에서는 Elasticache 와 Route53에 대해 알아보겠습니다.
추가로 In-memory Database, 캐싱 활용법부터 DNS와 라우팅 정책까지 정리해보겠습니다.

AWS Elasticache 란?

AWS Elasticache는 AWS에서 제공하는 In-memoryDatabase로 자주 사용되는 데이터를 메모리에 저장하여 빠르게 접근할 수 있도록 지원합니다.

Elasticache 장점

  1. 초고속 데이터 처리: 디스크 대신 메모리에 데이터를 저장해 처리 속도가 매우 빠릅니다.
  2. 확장성: 필요에 따라 노드를 추가하거나 삭제하여 유연하게 확장 가능합니다.
  3. 관리형 서비스: 유지보수, 패치, 복제를 AWS가 자동으로 처리합니다.

Redis 와 Memcached 란? (Elasticache 주요 엔진)

Elasticache는 두가지 주요 엔진, Redis와 Memcached를 지원합니다.

  • Redis: 고급 데이터 구조를 지원하며, 정렬된 세트, 해시, 스트림 등 다양한 활용이 가능합니다.
  • Memcached: 단순 캐싱용으로 설계된 고성능 엔진입니다.

Redis와 Memcached의 차이점

RedisMemcached
복잡한 데이터 구조 지원단순한 키-값 저장소
데이터 영속성 지원데이터 영속성 미지원
Pub/Sub 메시징 기능 제공메시징 기능 없음

Elasticache의 활용

Elasticache는 여러 분야에서 효과적으로 사용됩니다.

  1. Lazy Loading: 자주 요청되는 데이터를 캐싱하여 성능을 향상시킵니다.
  2. 세션 관리: 사용자 세션 정보를 빠르게 저장하고 검색합니다.
  3. 정합성 유지: Redis의 데이터 구조를 활용하여 정렬된 데이터를 제공합니다.
  4. DB 캐시: 데이터베이스 읽기 요청을 줄이고 응답 속도를 높입니다.
    데이터베이스 쿼리 결과를 캐시하여, 반복적인 데이터 요청 시 성능을 향상 시킵니다.
    이를 통해 데이터베이스의 부하를 줄이고, 응답 시간을 단축시킬 수 있습니다.

DNS 란?

DNS(Domain Name System)는 도메인 이름을 IP 주소로 변환하는 시스템으로, 사용자가 쉽게 웹사이트에 접속할 수 있도록 도와줍니다.
예시) 사용자가 ‘www.kko-kkuri.com’을 입력시 IP주소 3.37.162.206로 변환합니다.

DNS 레코드란?

DNS 서버가 도메인과 관련된 정보를 저장하는 항목으로 A, CNAME, MX 등 여러 유형이 있습니다.

AWS Route 53 이란?

AWS Route 53은 관리형 DNS 서비스로, 클라우드 애플리케이션을 위한 도메인 등록, 이름 해석, 트래픽 라우팅을 지원합니다.

Route 53의 구성요소

  1. Hosted Zone: 도메인에 대한 DNS 정보를 관리합니다.
  2. 레코드 타입: A, CNAME, ALIAS 등 다양한 레코드 유형을 제공합니다.
  3. 라우팅 정책: 다양한 트래픽 라우팅 옵션을 지원합니다.

 

Route 53 HostesZone 이란?

Hosted Zone은 특정 도메인의 DNS 설정을 관리하는 컨테이너입니다.
도메인을 Route 53에서 관리하려면 Hosted Zone을 생성해야 하며, 도메인에 대한 모든 레코드(A, CNAME, ALIAS 등)를 Hosted Zone에 추가합니다.

Route 53에서 지원하는 주요 레코드 타입

  1. A레코드: 도메인을 IPv4주소로 매핑합니다.
    예)  ‘www.kko-kkuri.com’ 접속시 ‘3.37.162.206’ IP 주소로 요청 전달
  2. CNAME 레코드: 도메인을 다른 도메인으로 매핑합니다.
    예) 리다이렉트할 때: example.com -> example.wordpress.com
  3. ALIAS 레코드: AWS 리소스와 쉽게 연결할 수 있도록 지원합니다.

CNAME과 ALIAS의 차이점

특징 CNAME ALIAS
지원 대상 다른 도메인 AWS 리소스 또는 다른 도메인
루트 도메인 지원 불가능 가능
사용 예시 blog.example.com →
example.wordpress.com
example.com →
d123456.cloudfront.net
성능 최적화 표준 DNS 요청 AWS에서 자동 최적화된 응답 제공

ALIAS 더 자세한 기능 정의

ALIAS 레코드는 CNAME과 유사하지만, AWS 리소스와의 통합에 최적화되어 있습니다. 루트 도메인(예: example.com)에서도 사용할 수 있어 CNAME의 제약을 보완합니다.

ALIAS 가능한 타겟:

  1. Elastic Load Balancer (ELB)
  2. CloudFront 배포
  3. Amazon S3 정적 웹사이트 호스팅
  4. Route 53 별칭(Alias)로 설정된 다른 도메인

Route 53 지원 라우팅 정책

라우팅 정책은 사용자 요청을 적절한 리소스로 안내하는 방식입니다.

  1. Simple: 하나의 레코드에 트래픽을 라우팅합니다.
  2. Weighted: 여러 리소스에 트래픽을 비율로 분배합니다.
  3. Failover: 기본(primary) 리소스가 장애 상태일 때 대체(secondary) 리소스로 라우팅합니다.
  4. Latency 기반: 사용자의 위치에서 가장 낮은 네트워크 지연 시간을 제공하는 리소스로 라우팅합니다.
  5. Geoproximity: 사용자의 지리적 위치에 따라 트래픽을 라우팅합니다.
  6. Geo-location Routing Policy (위치 기반 라우팅)

    • 사용자의 지리적 위치(국가, 주 등)에 따라 트래픽을 라우팅합니다.
    • 지역별 맞춤 콘텐츠를 제공할 때 유용.
  7. Geoproximity Routing Policy (지리적 근접성 라우팅)

    • 리소스와 사용자 간의 거리를 기준으로 트래픽을 분배합니다.
  8. Multi-value Answer Routing Policy (다중 값 응답 라우팅)

    • 여러 IP 주소를 반환하며, 가용하지 않은 리소스는 제외합니다.
  9. IP-based Routing (IP 기반 라우팅)

    • 사용자의 IP 주소 범위에 따라 특정 리소스로 트래픽을 라우팅합니다.
    • VPN이나 전용 네트워크 트래픽 분리에 유용.

Record TTL이란? 높은 TTL과 낮은 TTL

TTL(Time to Live)은 DNS 레코드가 캐시될 수 있는 시간(초 단위)을 의미합니다.

  • 높은 TTL
    • 장점: DNS 요청 수를 줄이고 비용을 절감할 수 있습니다.
    • 단점: IP주소가 변경되었을 때 반영 시간이 오래 걸립니다.
    • 예시: 장기적으로 변경되지 않을 IP에 적합 (예: 3600초=1시간)
  • 낮은 TTL
    • 장점: IP 변경 사항이 빠르게 반영됩니다.
    • 단점: 요청이 자주 발생해 비용이 증가할 수 있습니다.
    • 예시: 트래픽이 동적으로 변경되거나 DR(재해복구) 사오항에 적합 (예: 60초)

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Scroll to Top