글로벌(멀티 리전) 서버 구축 #00 - 개요&필요 사항

‍이준성·2023년 2월 14일
0

다중 리전에 서버를 배포해야할 일이 생겼다. 기존 리전은 북미쪽이나, 유럽쪽에도 같은 서비스를 배포해야한다.
서로 다른 지역에 있는 사람들도 같은 데이터에 접근할 수 있어야 하며, 만족할만한 레이턴시를 낼 수 있어야 한다.

구축해야하는 환경은 다음과 같다.

  • elastic beanstalk
    • 각 리전별로 서버를 생성해줘야한다.
  • MySQL
    • 글로벌 데이터 베이스 구축을 통해, 여러 리전에 읽기 인스턴스를 생성한다.
    • 우선은 쓰기 전달은 사용하지 않는다. 쓰기가 필요할 경우, 기본 리전의 쓰기 인스턴스에 접근한다.
  • DynamoDB
    • 글로벌 테이블 기능을 사용해야한다.
  • ElastiCache
    • 글로벌 레플리카를 사용할 수 있다.

문제점들

  • elastic beanstalk의 환경을 그대로 복제해야하는데, 구성 저장/로드는 서로 다른 리전/어플리케이션 간에는 지원하지 않는다.
  • MySQL의 쓰기 인스턴스에 접근하려면 보안 그룹을 열어줘야하는데, 보안 그룹에는 서로 같은 리전의 것만 등록 가능하다. 따라서 다른 지역의 ec2 인스턴스가 MySQL 쓰기 인스턴스에 접근하려면 추가 조치가 필요하다.
  • ElastiCache는 최대 3개의 복제본을 지원한다. 추가적인 리전에 배포가 일어날 경우, 이전에 만든 elasticache 복제본으로 인해 개수가 부족할 수 있다.

#01 부터는 작업 과정과 문제 해결 과정에 대해서 작성한다.

0개의 댓글