일상

[교육] 네이버 DNS, GSLB를 이용한 CSP 이중화 교육 후기

하나의묵 2024. 8. 22. 12:30

 

 

클라우드를 사용하는 서비스들의 비중이 높아지는 가운데, 특정 클라우드서비스 제공업체가 문제가 발생할 경우 클라우드를 사용 중인 서비스가 모두 다운되어버리는 문제가 발생하기도 합니다.

 

이전에 발생한 카카오문제나, 최근에 발생한 Azure에 크라우드 스트라이크 문제와 같이 갑작스럽게 특정 제공업체가 문제가 발생하는 경우 담당자들은 서비스를 지속적으로 제공하기 위해 다른 방법들을 찾아야 했습니다.

 

저도 현업에서 클라우드를 사용하여 서비스를 제공하고 있기 때문에 위와같은 문제에 대해 대비하는 차원에서 여러 방법들을 찾아보았고 이 중에서 GSLB를 활용한 방안들에 관심이 있었는데, 마침 클라우드 관련 카페 마스터님께서 네이버클라우드 역삼 교육장 GSLB 관련 된 세미나를 하신다고 하셔서 참가해 보았습니다.

 

네이버 클라우드 역삼 교육장

 

개발자라면 한 번쯤 일해보길 원한다는 네이버.. 비록 판교 1784 사옥은 아니었지만 네이버라는 문구는 저를 설레게 만들었습니다. 기회가 된다면 판교사옥에서 일해보고 싶네요 ㅎㅎ..

 

 

 

1784에서 자주보이는 자율주행 로봇도 교육장에 있었습니다. 

 

 

 

 

 

강의 내용

 

오늘의 강의는 GSLB(Global Server Load Balancing)와 DNS를 활용한 클라우드 서비스 제공자(CSP) 이중화에 대해 다루었으며, 이론과 실습을 포함하여 약 5시간 동안 진행되었습니다. 강의 내용은 강연자 님의 블로그 게시물( 링크 )을 바탕으로 진행되었습니다.

 

1. 재해복구를 위한 클라우드 서비스 이중화 운영

 

클라우드 서비스의 이중화는 장애 발생 시 빠른 복구를 위해 필수적이라고 할 수 있지만 , 서비스와 환경에 따라 적절한 구축 전략이 달라져야 합니다. 또한 실무에서는 이중화의 핵심 화두가 '비용' 이기 때문에 이 부분도 상황에 고려하여 적용해야 합니다.

 

멀티클라우드 환경에서 Active-Active 상태로 운영하면 빠른 복구가 가능하지만, 이로 인해 비용이 증가할 수 있습니다. 또한, 멀티클라우드 환경을 관리하는 담당자에게는 새로운 클라우드 환경의 기술 습득(러닝 커브)의 부담이 발생할 수 있습니다.

 

온프레미스 환경이나 클라우드 환경 모두 멀티클라우드 구성이 가능하며, 신규 서비스의 경우 클라우드 환경에서의 구축이 권장됩니다.

 

특히, 네이버 클라우드에서는 GSLB 기능을 **Global Router Manager(GRM)**라는 이름으로 제공하고 있습니다. 이를 활용한 간단한 설정 절차는 다음과 같습니다:

  1. GSLB 정책을 설정합니다.
  2. 도메인 이름을 설정합니다.
  3. DNS CNAME을 통해 해당 도메인을 연결합니다.

 

2. 멀티클라우드 운영 노하우

  • 네트워크 IP 블록 관리: 온프레미스 및 각 클라우드별 IP 정책을 고려하여 네트워크 IP 블록 관리 계획을 수립하고, IP CIDR을 활용해 IP 대역을 나누어 사용합니다.
  • 쿠버네티스에서의 IP 관리: 쿠버네티스에서 사용할 pod의 IP 대역은 실제 필요량보다 여유롭게 설정하는 것이 좋습니다. 이는 업데이트나 배포 테스트 시 필요한 IP를 확보하기 위함입니다.
  • 비용 관리: 여러 클라우드 계정을 사용하는 경우, 비용 처리를 용이하게 하기 위해 Organization 기능을 활용하여 비용을 통합 관리하는 것이 효율적입니다.
  • TTL 설정: 장애 발생 시 서비스 전환 속도는 TTL(Time To Live) 설정에 따라 달라집니다. TTL이 너무 길면 장애 발생 시 변경 사항이 늦게 반영될 수 있으므로, 적절한 TTL 설정이 필요합니다.
  • 자동 장애 전환: 장애 시 서비스가 자동으로 전환되기를 원한다면, Global DNSGlobal Route Manager를 활용하여 헬스체크를 설정하고, 자동으로 변경되도록 구성할 수 있습니다.
  • 트래픽 조절: 트래픽 변동에 따른 서비스 변경이 필요한 경우 **GTM(Global Traffic Manager)**을 사용합니다. 이때, 클라우드 서비스 제공자별 보안 그룹 설정 및 로드 밸런서의 고정 IP 사용 여부를 확인하고, 필요에 따라 추가 설정을 해야 합니다.

이와 관련된 내용은 강연자 님의 블로그( 링크 )에서 자세히 비교해 설명하고 있습니다.

 

 

 

3. 실습: VPC 및 쿠버네티스를 활용한 서비스 배포

 

이론적인 부분을 다룬 후, VPC(Virtual Private Cloud)와 서브넷을 구성하고, VM 서버 및 쿠버네티스를 추가하여 마리오와 2048 게임을 Pod로 배포하는 실습을 진행했습니다.

 

리소스 배포는 두 가지 방법으로 실습하였으며, 네이버클라우드 콘솔을 직접 사용하는 방식과 **테라폼(Terraform)**을 이용해 코드 기반으로 명령어를 실행하는 방식이 있었습니다. 발표자님께서는 콘솔을 통한 수동 배포는 휴먼 에러가 발생할 수 있기 때문에, 테라폼을 활용해 관리하는 것이 더 좋은 방법일 수 있다고 언급하셨습니다.

 

 

마치며

 

요즘 평일에는 출근하기 바쁘고, 주말에는 덥다는 핑계로 집에서 늘어져있는 경우가 많은데요

뛰어난 실력을 가지신 분들께서도 주말에 개인 시간을 투자해서 열정적으로 성장하시려는 모습을 보니 좀 더 분발해야겠다는 생각이 들었고, 오늘 들은 내용들을 실무상황에 맞춰 적용해서 보다 나은 서비스를 제공할 수 있으면 좋겠다는 생각이 들었습니다.

 

더운 날씨에도 좋은 내용 전달해 주신 강연자 님께 너무 감사드리고, 글을 읽으시는 분들도 파이팅 하시길 바라겠습니다.

긴 글 읽어주셔서 감사합니다~

 

 

 

ps..

 

저는 실습할 때 모르고 클라우드에서 만든 VM 리소스를 종량제가 아닌 월정액제로 만들어서 ㅠ..

실습 후 바로 지웠음에도 추가비용이 7만 원이 나왔었습니다..... 다행히 사정을 봐주셔서 원래 금액이 나오긴 했지만 실습을 하실 분들은 꼭 종량제로 해서 만드시길....