그냥 사는 이야기

웹사이트가 장애시 Static 사이트로 Failover 하기 (Route53) 본문

Development/System

웹사이트가 장애시 Static 사이트로 Failover 하기 (Route53)

없다캐라 2023. 5. 27. 16:03
반응형

현재 런칭 직전의 신규 개발 프로젝트가 있습니다. 인프라를 구성중에 있는데 장애 발생시 장애로 잠시 기다려 달라는 페이지로 failover 하도록 하려고 합니다. AWS에서 배포 준비중인데 우리가 필요한 상황에 딱 맞게 도움을 준 글이 있어 이를 번역하여 기록합니다.

이 글은 How do I configure my website to fail over to an S3 bucket when a Route 53 health check fails? 을 번역한 것입니다.

Route53에서 헬스 체크에 실패한 웹사이트를 S3 버킷(정적 페이지)으로 장애 조치되도록 구성하려면 어떻게 해야 하나요?

사전 확인 사항

  • Amazon Route 53 호스트 영역으로 활성화 되어 있어야 합니다.
  • 웹사이트의 동적 버전을 Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스에서 호스팅하고 있습니다.
  • Route 53 호스트 영역이 이미 웹사이트 트래픽을 Amazon EC2 인스턴스로 성공적으로 라우팅하고 있습니다.

Note

  • 버킷 이름을 지정할 때 S3 버킷 이름이 레코드 이름과 동일한지 확인하세요.
  • Amazon S3는 HTTP 프로토콜만 지원합니다. 웹사이트에서 HTTPS를 사용하는 경우 장애 조치 시 페이지에 "이 페이지를 표시할 수 없습니다"라는 오류가 표시됩니다. HTTPS 요청을 제공하려면 How do I use CloudFront to serve HTTPS requests for my Amazon S3 bucket? 글을 참조하세요

Route53 헬스 체크 생성하기

  1. Amazon Route 53 콘솔을 연 다음 상태 확인을 선택합니다.
  2. Create health check 를 선택하고 다음을 입력합니다:
    Name에 상태 점검의 이름을 입력합니다.
    What to monitor에서 Endpoint를 선택합니다.
    Specify endpoint by에서 IP address를 선택합니다.
    Protocol에서 HTTP를 선택합니다.
    IP addressHost name에 EC2 인스턴스의 IP와 호스트 이름을 입력합니다.
    Port80을 선택합니다.
    Path를 비워 두거나 확인하려는 페이지를 지정합니다.
  3. Next를 선택합니다.
  4. Create alarm에서 Yes를 선택합니다.
  5. Create health check를 선택합니다.

Note: 자세한 내용은 Creating and updating health checks를 참조하세요.

기본 엔드포인트에 대한 레코드 세트 만들기

  1. Amazon Route 53 콘솔을 연 다음 Hosted zones을 선택합니다.
  2. Domain Name에서 레코드를 만들려는 호스팅된 영역의 도메인을 선택합니다.
  3. Create record를 선택한 다음 이 값으로 레코드 세트를 만듭니다(다른 모든 필드에는 사용 사례에 맞는 값을 사용하세요):
    Record Name에 이름을 입력합니다. S3 버킷 이름과 동일한지 확인하세요.
    Record type에 대해 A – Routes traffic to an IPV4 address and some AWS resources을 선택합니다.
    AliasOff로 유지합니다.
    Routing Policy에서 Failover를 선택합니다.
    Failover Record Type형에서 Primary을 선택합니다.
    Record ID에 이름을 입력합니다.
    Associate with Health Check에서 Yes를 선택한 다음 이전에 만든 상태 확인을 선택합니다.
  4. Create records를 선택합니다.


장애 조치 엔드포인트 만들기

  1. Amazon Route 53 콘솔을 연 다음, Hosted zones을 선택합니다.
  2. 레코드를 만들려는 호스트된 영역을 선택합니다.
  3. Create record를 선택하고 다음을 입력합니다:
    Record Name에 기본 레코드에 입력한 것과 동일한 값을 사용합니다.
    Record type에서 A – Routes traffic to an IPV4 address and some AWS resources을 선택합니다.
    Alias에 대해 Yes를 선택합니다.
    참고: 별칭은 별칭 대상과 일치하는 TTL(Time to Live)을 자동으로 사용합니다.
    Route traffic to에서 Alias to S3 website endpoint에 대해 이전에 만든 S3 버킷을 선택합니다.
    Routing Policy에서 Failover를 선택합니다.
    Failover Record Type에서 Secondary를 선택합니다.
    Record ID에 이름을 입력합니다.
    참고: 장애 조치 엔드포인트의 Record ID 이름은 기본 엔드포인트의 Record ID 이름과 달라야 합니다.
    (선택 사항) Health check ID에 대해 상태 확인을 선택합니다.
    (선택 사항) Evaluate target health의 경우, 이 옵션을 끕니다. 대상이 S3 버킷인 경우 이 옵션은 작동하지 않습니다. 자세한 내용은 Failover routing을 참조하세요.
  4. Create records를 선택합니다.
Comments