DNS 라우팅 정책
Route 53이 DNS 쿼리에 응답하는 것을 도와 클라이언트의 요청을 적절한 서버로 보낼 수 있도록 해줌
DNS는 호스트 이름들을 클라이언트가 실제 사용 가능한 엔드포인트로 변환하는 것을 도움
1. 단순 라우팅
- 가장 기본적인 방식
- 트래픽을 단일 리소스로 보내는 방식 (하나의 IP 주소 또는 도메인으로 트래픽 전달)
- 동일한 레코드에 여러 개의 값을 지정 가능
- DNS에 의해 클라이언트 쪽에서 하나를 무작위로 선택
- 별칭 레코드 함께 사용 시 하나의 AWS 리소스만을 대상으로 지정 가능
- 상태 확인 불가
2. 가중치 기반 라우팅
- 여러 대상에 트래픽을 비율로 분배
- 각 레코드에 상대적으로 가중치를 할당
- 각 레코드로 보내지는 트래픽의 양 = 해당 레코드의 가중치 / 전체 가중치
- 특정 리소스 레코드에 가중치 0의 값을 보낼 경우 > 해당 리소스에 트래픽 보내기를 중단하여 가중치 변경 가능
- 모든 리소스 레코드 가중치의 값이 0인 경우 > 모든 레코드가 다시 동일한 가중치를 갖게 됨
- DNS 레코드들은 동일한 이름과 유형이어야 함
- 상태 확인 가능
- 사용 사례
- 서로 다른 지역들에 걸쳐 로드 밸런싱할 경우
- 적은 양의 트래픽을 보내 새 애플리케이션을 테스트하는 경우
3. 지연 시간 기반 라우팅
- 가장 빠른 응답 시간이 나오는 리전으로 트래픽 전달 > 가장 가까운 리소스로 리다이렉트
- 상태 확인 가능
4. 장애 조치 라우팅
- 주(Primary) 서버 장애 시 백업(Secondary) 서버로 트래픽 자동 전환
- 상태 확인 가능
5. 지리적 라우팅
- 사용자의 실제 위치를 기반으로 트래픽 전달
- 일치하는 위치가 없는 경우 기본 레코드를 생성해야 함
- 상태 확인 가능
6. 지리 근접 라우팅
- 사용자와 리소스의 지리적 위치를 기반으로 트래픽 전달
- 편향값을 사용해 특정 위치를 기반으로 더 많은 트래픽을 리소스로 전환
- 지리적 위치를 변경하려면 편향값 지정
- 특정 리소스에 더 많은 트래픽을 보내려면 편향값 확장 (1 to 99)
- 리소스를 줄이려면 편향값을 음수로 축소 (-1 to -99)
- 위치 설정
- AWS 리소스 > 특정 리전 지정 (자동으로 라우팅 계산)
- 온프레미스 데이터 센터 > 위도와 경도 지정
- 편향 활용을 위해 고급 Route 53 트래픽 플로우 사용
7. 다중 값 응답 라우팅
- 트래픽을 다중 리소스로 라우팅
- Route 53은 다중 값과 리소스 반환
- 상태 확인 가능
- 각각의 다중 값 쿼리에 최대 8개의 정상 레코드 반환
- 클라이언트에서 다중 값 쿼리를 실행하면 최대 8개의 레코드를 수신하며 클라이언트는 한 개를 선택
- 상태 확인과 결합하면 반환되는 8개 레코드 중 최소 1개 혹은 최대 8개의 레코드가 정상 상태
- 클라이언트 관점에서 ELB와 유사하지만 ELB를 대체할 수는 없음
Route 53의 상태 확인 (Health Checks)
- 주로 공용 리소스에 대한 상태를 확인하는 방법
- DNS의 장애 조치 자동화
- 공용 엔드 포인트 모니터링 > 애플리케이션, 서버, 다른 AWS 리소스 등
- 다른 상태 확인을 모니터링 (= 계산된 상태 확인)
- CloudWatch 경보 상태 모니터링 > 개인 리소스에 유용
- 각자의 메트릭 사용
상태 확인 동작 방식
1. 공용 엔드 포인트 모니터링
- 전 세계에서 온 15개의 상태 확인이 엔드 포인트의 상태를 확인하고 임계값을 정상 혹은 비정상으로 설정
- 간격 설정 가능 > default 30초 or 10초(비용 발생)
- HTTP, HTTPS, TCP 등 프로토콜 지원
- 18% 이상의 상태 확인이 엔드 포인트를 정상이라고 판단하면 Route 53도 이를 정상으로 간주
- 상태 확인에 사용될 위치 선택 가능
- HTTP 코드로 응답
- 텍스트 기반의 응답일 경우 상태 확인의 처음 5,120바이트만 확인 > 응답 자체에 해당 텍스트가 있는가 확인하기 위함
- 네트워크 관점에서 상태 확인의 작동이 가능하려면 상태 확인이 애플리케이션 밸런서나 엔드 포인트에 접근이 가능해야 함 > Route 53의 상태 확인 IP 주소 범위에서 들어오는 모든 요청을 허용해야 함
2. 다른 상태 확인을 모니터링 (계산된 상태 확인)
- 여러 개의 상태 확인 결과를 하나로 합쳐주는 기능
- 상태 확인들을 모두 합치기 위한 조건 > OR, AND, NOT
- 하위 상태 확인을 256개까지 모니터링 가능
- 상위 상태 확인이 통과하기 위해 몇 개의 상태 확인을 통과해야 하는 지정 가능
- 상위 상태 확인이 웹사이트를 관리 유지되도록 하는 경우
3. CloudWatch 경보의 상태 모니터링 (개인 리소스 상태 확인)
- 상태 확인이 VPC의 외부에 존재
- 개인 엔드 포인트에 접근 불가능
- 개인 VPC 혹은 온프레미스 리소스인 경우
- CloudWatch 지표를 만들어 알람을 할당하는 식으로 문제 해결 > CloudWatch 경보를 상태 확인에 할당
- CloudWatch 메트릭을 이용해 개인 서브넷 안에 있는 EC2 인스턴스를 모니터링
- 만약 메트릭이 침해되는 경우 CloudWatch 알람 생성
- 알람이 'ALARM' 상태가 되면 상태 확인은 자동으로 비정상으로 전환
'개발 공부 > AWS' 카테고리의 다른 글
[AWS] SAA 공부 (10) S3 (Simple Storage Service) - 구성 요소 / 보안 / 복제 (0) | 2025.03.31 |
---|---|
[AWS] SAA 공부 (9) Elastic Beanstalk (0) | 2025.03.29 |
[AWS] SAA 공부 (8) Route 53 (0) | 2025.03.28 |
[AWS] SAA 공부 (7) ElastiCache (0) | 2025.03.25 |
[AWS] SAA 공부 (6)-2 RDS & Aurora - Backup (0) | 2025.03.25 |