카테고리 없음

✅ Route 53 가중치 라우팅(Weighted Routing) 개념

idea9329 2025. 4. 16. 10:46
반응형

 

  • 동일한 도메인에 대해 여러 레코드를 등록
  • 각 레코드에 가중치(weight) 값을 부여
  • Route 53이 이 값을 기반으로 트래픽을 비율로 분산
  • health check 연동도 가능하여 비정상 리소스는 자동 제외 가능

🛠 설정 방법 (콘솔 기준)

예: www.example.com → EC2-1 (가중치 80), EC2-2 (가중치 20)

  1. Route 53 콘솔 접속
  2. 호스팅 영역(Hosted Zone) 선택 → 도메인 선택
  3. 레코드 생성(Create record) 클릭
  4. 유형: A 또는 CNAME (필요한 타입 선택)
  5. 이름: www 
  6. 값: 대상 IP 또는 도메인 (예: EC2-1 퍼블릭 IP)
  7. Routing policy: Weighted 선택
  8. Weight 값 입력 (예: 80)
  9. Set ID 입력 → 구분 가능한 이름 (예: EC2-1)
  10. 저장

→ 위 과정을 또 한 번 반복하여 EC2-2용 레코드도 생성 (Weight 20)


💡 예시 구성

이름타입값라우팅 정책가중치Set ID

www.example.com A 192.0.2.10 Weighted 80 EC2-1
www.example.com A 192.0.2.20 Weighted 20 EC2-2

➡️ 결과적으로 www.example.com 요청 중 약 80%는 192.0.2.10으로, 20%는 192.0.2.20으로 전달됩니다.


✅ Health Check 포함 시

  • Route 53은 비정상 응답(예: HTTP 5xx, Timeout) 시 해당 레코드를 제외
  • 이를 통해 트래픽을 자동으로 정상 서버에만 분배 가능

콘솔에서 레코드 생성 시 “Evaluate target health” 또는 “Associate health check” 옵션 설정


✅ AWS CLI로 설정 예시

aws route53 change-resource-record-sets \
  --hosted-zone-id Z123456ABCDEFG \
  --change-batch '{
    "Changes": [{
      "Action": "CREATE",
      "ResourceRecordSet": {
        "Name": "www.example.com",
        "Type": "A",
        "SetIdentifier": "EC2-1",
        "Weight": 80,
        "TTL": 300,
        "ResourceRecords": [{ "Value": "192.0.2.10" }]
      }
    }]
  }'

→ 이후 EC2-2용 레코드도 같은 방식으로 등록


🔚 요약

항목설명

목적 트래픽을 리소스별 비율로 분산
주요 설정 레코드 타입, Set ID, Weight
주의 Set ID는 반드시 고유해야 함
옵션 Health Check와 함께 사용하면 무중단 트래픽 관리 가능



반응형