패스틀리(Fastly), Origin Load Balancing 설정
Fastly는 기본적으로 복수개의 오리진을 서비스를 위해서 설정을 할 수 있습니다. 기본으로 설정할 수 있는 Origin의 갯수는 5개입니다. 일반적으로 만약 여러분이 물리적으로 분리되어 있는 여러대의 오리진을 보유하고 있고 이것으로 균등하게 리퀘스트를 보내서 운영을 할려면 어떻게 해야 할까요? 아마도 별도의 DNS 서비스를 운영 혹은 이용하셔서 Load Balancing 기능을 이용하셔야 할 것입니다. 다른 의미로 말씀드리면 운영을 위해서는 별도의 비용이 들어가게 될 것 입니다.
Fastly에서는 해당 기능을 기본으로 제공하고 있기 때문에 간단한 UI설정만으로 Origin간의 Load Balancing기능 뿐만 아니라 각 오리진에 보내지는 리퀘스트의 비율까지 설정 할 수 있습니다.
이 포스트에서 보여드리는 예시는 2대의 오리진으로 구성하는 법을 알려드리도록 하겠습니다. 댓수가 늘어나더라도 방법은 동일하니 참고해주시길 바랍니다.
1. 아래의 그림과 같이 2대의 오리진을 설정해 줍니다. 2대의 오리진의 설정이 끝나고 나면 상단에 Unused backend 라는 경고가 뜰 것이지만 모든 설정이 끝나면 해결될 것이기 때문에 무시해 줍니다.
2. 각 오리진의 설정 화면으로 들어가서 아래 그림과 같이 Auto load balance를 Yes로 설정해 줍니다. Yes로 설정을 해주면 바로 밑에 Weight란 옵션이 활성화 됩니다. 초기값은 100입니다만, 해당 오리진에서 처리하기 원하는 트래픽 비율을 설정해 줍니다. 최소값은 1 입니다. 각 오리진에서 같은 작업을 진행하시고 설정을 보존하면, 상단의 Unused backend 의 경고 메시지는 사라지고 설정이 끝나게 됩니다.
3. 상단의 Show VCL 메뉴에서 설정된 소스코드를 확인하시면, 아래와 같이 director라는 코드블럭이 생긴 것을 확인 할 수 있습니다. Auto load balance기능은 VCL의 director란 기능 구현된 것입니다만, 위와 같이 UI로 적용을 하시면 random 모드로만 설정이 됩니다. sticky session이 필요하던가를 위해서는 수동으로 직접 VCL을 편집하여 client라는 모드를 사용하시면 sticky session 도 사용이 가능합니다. 관심 있으신 분들께서는 Fastly에서 제공하는 온라인 도큐멘트도 참고해보시길 바라며, 다음 기회에 직접 VCL을 사용하여Load Balancing을 구성하는 부분도 안내해 드리도록 하겠습니다.
(https://developer.fastly.com/reference/vcl/declarations/director/)
director autodirector_ random {
{
.backend = F_Host_1;
.weight = 100;
}{
.backend = F_Host_2;
.weight = 100;
}
}
오늘도 글 끝까지 읽어주셔서 감사드립니다..