AWS(Amazon Web Service) 115

[AWS] Solutions Architectures(솔루션 아키텍처) 첫 번째

Stateless Web App : WhatIsTheTime.comWhatIsTheTime.com은 사람들에게 시간을 알려준다.너무 단순하기 때문에 데이터베이스가 필요 없다.각각의 인스턴스와 서버는 시간이 몇시인지 알고 있고, 사용자들은 작게 시작하기를 원하고 다운타임을 받아들일 수 있다.  - 다운타임 : 시스템을 이용할 수 없는 시간다운 타임을 제거할 수 있도록 수직 및 수평적으로 확장할 필요가 있다.  : 다운타임을 수용할 수 있지만 만약, 사용자의 앱이 전반적으로 점점 더 인기를 얻게 되어서 전 세계에 걸쳐 시간을 알고 싶어하게된다. Stateless Web App : What time is it?Scaling verticallyt2.micro 인스턴스와 사용자가 있고, 사용자가 시간을 물어보게되..

[AWS] Domain Registar vs DNS Service

Domain Registar vs DNS Service도메인 이름 레지스트라를 통해 원하는 도메인 이름을 구매할 수 있다.  - 매년 비용을 지불해야 한다.  - 예를 들어, GoDaddy, Amazon Registrar 등등레지스트라를 통해 도메인을 등록하면 DNS 레코드 관리를 위한 DNS 서비스를 제공한다.  - Amazon 호스트 이름으로 DNS 이름을 등록했다면 DNS 레코드 관리를 위한 Route 53 호스팅 존을 가진다. DNS 레코드로 AWS Route 53 등을 사용하지 않고 Amazon 레지스트라를 사용하거나 반대로 GoDaddy로 도메인을 등록해도 된다. (= 다른 DNS 서비스를 사용하여 DNS 레코드를 관리 할 수 있다.)example.com에서 구매하고 DNS 레코드는 Amazo..

[AWS] Route 53 - Health Checks

Route 53 - Health Checks(상태 확인)상태 확인은 주로 공용 리소스에 대한 상태를 확인하는 방법이다.상태 확인 종류(밑의 종류의 상태 확인들은 각자의 매트릭을 사용하는데 CloudWatch의 지표에서도 확인이 가능하다.)  - 공용 엔드 포인트를 모니터링      : 애플리케이션, 서버, 혹은 다른 AWS 리소스가 될 수 있다.  - 다른 상태 확인을 모니터링      : 계산된 상태 확인이라고 불린다.  - CloudWatch 경보의 상태를 모니터링      : 제어가 쉽고 개인 리소스들에 아주 유용하다.서로 다른 두 지역에 각 하나씩의 로드 밸런서가 있고, 둘은 모두 공용 로드 밸런서이고 그 둘의 뒤에서 애플리케이션이 작동중이다. 그리고 다중 지역 셋업이고, 지역 레벨에서 고가용성을..

[AWS] Route 53 - Routing Policies(라우팅 정책)

Route 53 - Routing Policies라우팅 정책은 Route 53가 DNS 쿼리에 응답하는 것을 돕는다."라우팅"이라는 단어를 혼동하면 안됩니다!  - 로드 밸런서가 트래픽을 백엔드 EC2 인스턴스로 라우팅하는 것과는 다른 상황이다.  - 여기서의 라우팅은 DNS 관점이다.      : DNS는 DNS 쿼리에만 응답하게 되고, 클라이언트들은 이를 통해 HTTP 쿼리 등을 어떻게 처리해야 하는지를 알 수 있게 된다.      : DNS는 호스트 이름들을 클라이언트가 실제 사용 가능한 엔드 포인트로 변환하는 것을 돕는다.Route 53이 지원하는 라우팅 정책  - Simple(단순)  - Weighted(가중치 기반)  - Failover(장애조치)  - Latency based(지연시간기반) ..

[AWS] Route 53 - Alias

CNAME vs Alias로드 밸런서나 CloudFront 등 AWS의 리소스를 사용하는 경우, 호스트 이름이 노출된다. - 보유한 도메인에 호스트 이름을 매핑하고자 할 수 있다.      예시) myapp.mydomain.com에 'Ib1-1234.us-east-2.elb.amazonaws.com' 로드 밸런서를 매핑하는 경우이다.CNAME 레코드  - 호스트 이름이 다른 호스트 이름으로 향하도록 할 수 있다.       예시) app.mydomain.com이 blabla.anything.com으로 향하는 식으로  - 루트 도메인 이름이 아닌 경우에만 가능해서 그냥 mydomain.com은 안된다.Alias 레코드  - 호스트 이름이 특정 AWS 리소스로 향하도록 할 수 있다.      예시) app...

[AWS] Route 53 - Records TTL

Records TTL(Time To Live)High TTL - 예를 들어 24시간으로 높게 설정한다면     : Route 53의 트래픽은 현저히 적다. 결과가 24시간 동안 캐시될 테니 클라이언트는 요청을 적게 보낼 것이다. 하지만 클라이언트가 오래된 레코드를 받을 가능성도 있다. 그래서 만약 레코드를 바꾸고자 한다면 모든 클라이언트들이 새 레코드를 캐시에 저장할 때까지 24시간을 기다려야 한다는 뜻이다.Low TTL  - 반대로 TTL을 60초로 낮게 설정한다면      : DNS에는 트래픽의 양이 많아져서 비용이 많이 들게 된다. Route 53에 들어오는 요청의 양에 따라 요금이 책정된다. 하지만 오래된 레코드의 보관 시간은 짧아진다. 레코드 변경 전반이 더욱 편리하게 된다. 어떤 TTL 설정이..

[AWS] Route53

Route53고가용성, 확장성을 갖춘 완전히 관리되며 권한있는 DNS이다.  - 권한이 있다. = 고객인 우리가 DNS 레코드를 업데이트 할 수 있다는 것이다.    (즉, DNS에 대한 완전히 제어할 수 있다.)Route 53는 도메인 이름 레지스트라로 도메인 이름을 등록한다.Route 53의 리소스 관련 상태 확인을 확인 할 수있다.100% SLA 가용성을 제공하는 유일한 AWS 서비스이다.왜 Route 53 일까?!  - 53은 DNS 서비스, 이름에서 사용되는 전통적인 DNS 포트이다.클라이언트가 있고, 그들이 우리의 EC2 인스턴스 example.com에 접근하고자 한다.그러나 지금 EC2 인스턴스에는 오직 퍼블릭 IP만 있다.이때 DNS 레코드를 아마존 Route 53의 호스팅 존에 쓰려고 한..

[AWS] DNS(Domain Name System)

DNS(Domain Name System)호스트 이름을 대상 서버 IP 주소로 번역해준다.www.google.com = 172.217.18.36DNS는 인터넷의 중추이다.  - URL과 호스트 이름을 IP로 변환하는 것이다.DNS에는 계층적 이름 구조가 있다.  : 예를들어, www.google.com의 근원에는 .com이 있고, 좀 더 정확하게 example.com이 있고 그리고 www.example.com, api.example.com이 있다. DNS 관련된 용어들Domain Register  : 도메인 이름을 등록하는 곳이다.   : Amazon Route53, GoDaddy, Gabia, ... 등등DNS Records  : A, AAAA, CNAME, NS 등등이 있다.Zone File  : 모..

[AWS] ElastiCache

ElastiCache OverviewRDS가 관계형 데이터베이스를 관리하는 것과 같은 방식이다.캐싱 기술인 Redis 또는 Memcached를 관리할 수 있도록 도와준다.애플리케이션의 상태를 'ElastiCache'에 저장해서 애플리케이션을 상태 비저장형으로 할 수 있게 도와준다.ElastiCache를 사용하는 경우, 애플리케이션의 코드를 많이 바꿔야 한다.  : 캐시를 쿼리하도록 애플리케이션을 변경해야 하니깐(데이터베이스를 쿼리하기 전이나 후에도)cf ) 캐시란?   - 매우 높은 성능과 짧은 지연 시간을 가진 인메모리 데이터베이스이다.   - 읽기 집약적인 워크로드에서 데이터베이스의 로드를 줄여준다.   - 일반적인 쿼리는 캐시에 저장되므로, 매번 데이터베이스를 쿼리하지 않아도 되서 캐시만 사용하여 ..