Google Cloud 부하 분산기 + 인스턴스 그룹 + SSL 인증서

Google Cloud 부하 분산기 + 인스턴스 그룹 + SSL 인증서

내 프로젝트는 사용자가 계정을 등록할 수 있는 기본 웹사이트로 구성되어 있습니다. 등록 후 그들은 각각 내 기본 사이트(그들이 등록한 사이트)에서 호스팅되는 플랫폼에서 관리하는 전자상거래 상점이 있는 웹사이트(내 도메인의 하위 도메인)를 갖게 됩니다.

example1.com -> 메인사이트(로그인, 회원가입 등)
example1.com/platform -> 관리플랫폼
store1.example1.com -> 사용자 1의 매장
store2.example1.com -> 사용자 2의 매장

현재 하드웨어 측면에서 내 설정은 다음과 같습니다. Apache가 있는 GCP의 VM 인스턴스 1개, 요청된 도메인을 적절한 폴더에 매핑할 수 있는 와일드카드가 있는 가상 호스트 두 개 설정입니다.
또한 모든 고객 상점을 SSL로 보호하는 기본 도메인에 와일드카드 인증서를 생성했습니다.

이제 시간이 지남에 따라 서버 과부하를 방지하고 싶었기 때문에 위에서 설명한 것에서 복제된 머신의 인스턴스 그룹에 로드 밸런서를 연결하면 문제가 해결될 것입니다. 이론적으로는 작동하지만 문제가 있습니다.

각 사용자는 자신의 도메인 이름을 구입하고 이를 내 IP(LB 또는 VM)로 리디렉션하여 매장이 다음과 같이 보이도록 할 수 있습니다.

store1.com -> 사용자 1의 매장
store2.com -> 사용자 2의 매장

그리고 원한다면 내 플랫폼에서 SSL 인증서를 "구매"하여 도메인 이름을 보호할 수도 있습니다. API의 certbot 및 letsencrypt를 통해 즉시 SSL 인증서 생성을 쉽게 처리할 수 있지만 내 VM은 인스턴스 그룹에서 실행되므로 현재 작동 중인 VM에 저장하는 인증서 파일은 다른 VM에 복제되지 않습니다(있는 경우). ) 인스턴스 그룹이 현재 VM이 더 이상 필요하지 않다고 결정하면 손실될 수도 있습니다. 로드 밸런서가 내 인스턴스 그룹의 여러 VM에 트래픽을 보내지만 인증서 폴더나 전체 디스크에서 "공유"할 수 있도록 모든 것(LB, 인스턴스 그룹, VM 및/또는 아파치)을 어떻게 배열할 수 있습니까? ?

VM의 BTW 영구 디스크는 여러 VM이 읽기 전용 모드인 경우에만(작동하지 않음) 여러 VM에 마운트할 수 있으며 파일 저장소도 사용해 보았지만 한 달에 200이 들었고 이 경우에는 약간 많은 것 같습니다.

답변1

@JohnHanley가 지적했듯이:

LB 설정에서 인증서를 관리하고 웹서버에서 certbot을 제거합니다. Google 도메인 확인에는 약간의 오버헤드가 있지만 확실히 시도해 볼 가치가 있습니다.

LB 구성 및 인증서 관련:

  • LB에 구성된 인증서를 변경할 수 없습니다.
  • 하지만 새 인증서(예: 추가 호스트 이름 포함)를 추가하고 이를 기존 LB에 추가한 후 나중에 이전 인증서 설정을 제거할 수 있습니다.

여러분을 지원할 수 있는 Terraform 모듈이 주변에 있지만 물론 이로 인해 학습 및 관리 노력도 필요합니다.

관련 정보