Load Balancer/DNS

장여진·2022년 5월 7일
0

DNS란?

  • Domain name system
  • 도메인 주소를 연결해놓자❗️
  • 사용할 도메인을 백엔드 서버와 연결하는 것 => 아이피 주소가 아닌 도메인 주소로 API요청 가능!

[GCP에서 DNS연결하기]

1. 네트워크 서비스 - Cloud DNS 사용 -> 영역 만들기

⭐️ DNS의 이름은 구매한 도메인의 이름과 일치해야함!!

2. 도메인 구매한 곳에서 네임서버 변경해주기

레코드 - NS(Name Server)에서 com뒤 온점(.)은 제외하고 복사
도메인 구매 사이트에서 네임 서버를 위의 복사한 내용으로 변경
=> 적용되면 해당 도메인은 구글에서 관리하는 것!
적용 확인 방법) GCP클라우드 쉘에서 dig 도메인_이름 NS (반영되는데 시간이 걸릴 수 있음)

3. 레코드 세트 추가

레코드 A유형으로 추가 IP주소는 VM 인스턴스의 외부IP 주소 사용

자주 사용하는 레코드 종류)
A => ip주소로 넘겨줘(ipv4)
AAAA => ipv6 주소
CNAME => 별칭
MX => mail
NS => name server 증명해주는 것
TXT text 자주 사용 => 인증 용도로 사용..?
SOA => 시작점을 알리는 / 권한의 시작

Load Balancer란?

  • 로드밸런서로 연결해주자❗️
  • 요청에 대해 여러 서버가 분산 처리하도록 하는 것
  • 종류
    1) Round Robin Method
    클라이언트로부터 받은 요청을 로드 밸런싱 대상 서버에 순서대로 할당
    2) Least Connection
    요청이 가장 작은 서버에 할당

[GCP에서 HTTP 로드 밸런서 만들기]

  1. 네트워크 서비스-부하 분산기 만들기
    HTTP(S) 부하 분산 선택 -> 기본 설정으로 계속 선택

1) 백엔드 구성

  • 백엔드 서비스 및 백엔드 버킷을 누르고, 백엔드 서비스 만들기 클릭

❗️ 로드밸런서는 특정하나의 컴퓨터에 연결하는 것이 아니라 인스턴스 그룹에 연결시켜서 알아서 분산하는 것
따라서 백엔드 서비스 만들기 전에 인스턴스 그룹 먼저 생성!
인스턴스 그룹 -> 여러개의 백엔드을 묶음 처리하고 있는 그룹

1. 인스턴스 그룹 만들기

템플릿 먼저 생성!!

2. 인스턴스 그룹(VM) 안에 담아놓기

백엔드 서비스 생성>
cdn => content delivery network(실제 서비스에서 체크 해야함)
상태확인 health-checker -> 로드밸런스에게 상태를 알려쥼
health-checker 생성하기

2) 프론트엔드 구성

DNS를 통해 들어오는 것 (http?https?)
받을 때 http로 받고 그대로 인스턴스그룹에 넘겨주기 가능 또는 https로 변경해서 넘겨주기 가능 => reverse-proxy === nginx

  • 새 고정 ip 주소 예약 후 이름 지정하고 완료!

3) 호스트 및 경로 규칙

여러개의 VM을 사용할 때 요청에 맞게 경로 설정 가능

0개의 댓글