Load Balancer 생성까지 과정
# layer 7 (application) Load Balancer 생성
- 인스턴스를 생성해야하는데, 여기서는 auto scaling 기능이있는 관리형 인스턴스 그룹을 만듭니다.
- 처음 템플릿을 생성해야하는데, 기존에 GCP가 제공하는 기본 OS 이미지파일로 만들 수도 있고,
직접 사용자가 넣은 이미지 파일로 만들 수도 있다. 스냅샷을 떠서 사용하고 싶은 경우,
그 스냅샷을 기반으로 직접 이미지를 생성해야 한다.
- 다음은 그 템플릿을 기반으로한 인스턴스 그룹이다. 앞서 말했듯이 관리형 그룹을 선택한다.
- 자동으로 인스턴스가 늘어날지 설정이 가능하고, 자동확장을 켤 시 어떤 조건에 의해 추가될지 설정할 수 있다. (CPU 사용량 등등)
→ 위 사진은 관리형 인스턴스 그룹 (auto scaling) 입니다. 인스턴스 템플릿 기반으로 그룹이 만들어지며, 조건의 따라 인스턴스를 조정합니다.
→ https 부하분산기가 백엔드 서비스를 지원할 때 인스턴스 그룹을 참조합니다.
→ 관리형 인스턴스 그룹과 비관리형 인스턴스 그룹으로 나뉘는데,
aws의 auto scaling 기능을 원하시면 관리형 인스턴스 그룹을 사용하시고,
그게 아닌 나머지경우, 추가 삭제가 용이하며 성질이 서로 다른 인스턴스들을 그룹화 한다면, 비관리형 인스턴스 그룹을 사용하면 됩니다.
→ 여기서는 프론트엔드는 https 백엔드는 http로 통신합니다.
& 3가지 설정을 해야합니다.
-- backend .
- 백엔드 서비스를 생성하여 어떻게 통신을 할 것인지 설정.
(LB에서 로드밸런싱 할 인스턴스들이 속한 그룹들을 지정합니다.)
→ 백엔드 통신을 할 인스턴스 그룹을 선택 , http로 통신할 것 이기때문에 http로 지정합니다.
→ 또 Health체크 정책도 설정하여야하는데 , 처음엔 없으니 하나 만들어줍니다.
사용자의 입맛에 맞게 몇 초간 응답이없으면 연결을 끊는다든지. 설정해줍니다.
→ 다른 설정 값들은 필요용도에 맞게 설정하여 사용합니다.
- 백엔드 서비스 구성시 여러 인스턴스 그룹 지정이 가능합니다. (되도록 한 그룹 권장)
-- Host and path rules
- 트래픽을 어디로 전달할지 설정하는 곳 입니다.
→ 백엔드 서비스나 저장소 버킷으로 트래픽을 전달할 수 있는데, 따로 추가하여 지정하지 않을 시 첫 번째행에 선택한 서비스로
트래픽이 전송됩니다.
- 여기서는 백엔드 서비스로 보내기때문에 기본설정에 위에서 만든 백엔드만 설정하여 주면 됩니다.
-- Frontend .
- 위와 같이 설정을 해주는데, IP같은 경우는 임시로 하지 않고, static으로 넣어줍니다.
탭을 눌러보면 정적 IP할당이 있는데 클릭하여 하나 할당해 줍니다.
그리고 여기서 우리는 https, http 두 패킷 다 front에서 받아 줄 것이기에,
정책을 하나 더 만들어 http 도 추가해줍니다. (= 같은 IP로 정적할당) - 제일 중요한 것이 ssl 인증서 인데, 여기선 gcp에서 제공하는 ssl 인증서를 사용합니다.
이때, 도메인이 필요한데, 도메인이 가리키는 A레코드가 위에 front에 할당한 IP랑 매핑이 되어야합니다.
그래서 해당 도메인에 DNS서버에서 A레코드를 잘 지정해주어야 하겠죠 ?? - 이제 다 끝났습니다. 생성하기를 누른 후 백엔드 health check와 ssl 인증서가 잘 작동하는지 확인합니다.
- 그리고 Load Balancing이 잘 이루어지는지 확인합니다. (다소 적용시간이 걸릴 수 있습니다)
- 이렇게 https LB 생성이 끝났습니다.
nginx 리다이렉션 설정
$ SSL인증서가 활성화 되어있는지 확인해야한다
$$ nginx.conf # http로 접속했을 때 https로 redirect 하기 위한 설정
if ( $http_x_forwarded_proto = 'http') {
return 301 https://$server_name$request_uri
}
'DevOps __' 카테고리의 다른 글
SSH copy-id 자동화 방법? (0) | 2020.10.26 |
---|---|
Kubernetes - 구성 (0) | 2020.04.22 |
ELK 설치 및 실행 (0) | 2019.11.04 |
Zabbix 설치 및 agent 구성 (0) | 2019.11.04 |
Zabbix (Alert -> Slack) (0) | 2019.11.04 |