Cloud/GCP

GCP에서 3Tire로 구성하기

달빛궁전- 2022. 11. 22. 18:21

잠시 몸담았던 회사에서 입사시 내주었던 과제
Spring에서 공식적으로 제공하는 예제 프로젝트인데 전통적인 3Tire 구조이기 때문에 해보면 도움되는 것이 많다. 

예제를 다운받을 수 있는 곳은 아래와 같다.
https://github.com/spring-projects/spring-petclinic

 

 

GitHub - spring-projects/spring-petclinic: A sample Spring-based application

A sample Spring-based application. Contribute to spring-projects/spring-petclinic development by creating an account on GitHub.

github.com

 

아래는 구성도(GCP)를 작성해 보았다.

3Tire구조

1. 외부 클라이언트들이 접속 : gcp.seonggi.kr
2. Cloud Load Balancing :  HTTP(S)  Load Balancing로 선택하여  고정IP를 주고, gcp.seonggi.kr 인증서를 설치했다. 
3. WEB Instance-group (autoscaling) : 웹서버 이미지를 만들고, 템플릿화 한뒤 CPU사용량에 따라 autoscaling하도록 설정
4. Cloud Load Balancing : WEB-> WAS로 보내는 것이기 때문에 https가 아닌 TCP로 설정하였다.
5. WAS Instance-group (autoscaling) : WAS서버 이미지를 만들고, 템플릿화 한뒤 CPU사용량에 따라 autoscaling하도록 설정
6. Cloud SQL : mysql로 설정했으며, 실제 운영한다면 Replication으로 백업을 한다.
7. repository, NTP 서버 : 특별한 아이디어 있냐고 해서 두긴했는데... 내부 repository는 관리포인트와 개발자분과의 협업 관리가 너무 힘들기 때문에 좋은 선택은 아니라고 생각한다.
NTP는 내부 서버들 시간은 항상 맞추어야 하기에 필수
8. Bastion : 외부에서 관리하기 위한 서버

- 완성하고, 사이트는 날려버려서 캡쳐한게 없긴한데..
아래와 같이 동물그림이 나오고 find OWNERS 탭에서 DB조회가 가능하고, VETERINARIANS에서 DB수정, 추가가 가능하다.

https://github.com/spring-petclinic/spring-petclinic-kotlin

 

GitHub - spring-petclinic/spring-petclinic-kotlin: Kotlin version of Spring Petclinic

Kotlin version of Spring Petclinic. Contribute to spring-petclinic/spring-petclinic-kotlin development by creating an account on GitHub.

github.com


SW목록 
WEB : nginx (proxy로 사용)
WAS : tomcat
DB : mysql

방화벽 구성

각 WEB(80), WAS(8080)서비스 포트외에는 거부하도록 했고, 로드밸런스는 80접근시 자동으로 443변경 및 SSL오프로드 사용하여, WEB서버에서는 80만 받도록 했다.
(추 후 상세 수정예정)

 

참고 
구성도 작성 : https://app.diagrams.net/

 

Flowchart Maker & Online Diagram Software

Flowchart Maker and Online Diagram Software diagrams.net (formerly draw.io) is free online diagram software. You can use it as a flowchart maker, network diagram software, to create UML online, as an ER diagram tool, to design database schema, to build BPM

app.diagrams.net

 

 

'Cloud > GCP' 카테고리의 다른 글

GCP 키 관리(KMS, EKM, CMEK)  (0) 2023.01.17
CloudShell  (0) 2023.01.17
VPC Network  (0) 2023.01.17
Network Services  (0) 2023.01.17
APIs_Services 기초  (0) 2022.12.31
GCP - Billing  (0) 2022.12.31
Cloud Shell  (0) 2022.12.31