cloud/Google-Cloud

GCP 3-Tier 구축 1

  • -

이번 포스트에서는 GCP를 이용해 3-tier를 구축하는 연습을 해보자.

사실 AWS를 이용한 3-tier구축 관련 수업을 듣고 뭔가 정리를 해야 할것 같은데 AWS는 유료라 괜히 부담스러워서 무료로 사용할 수 있는 GCP에 개념을 이식해보기로 한다.

 

GCP 계정 준비

 

Google Cloud Console 접속

Google Cloud Console(https://console.cloud.google.com/)에 접속한다. 

 

Google 클라우드 플랫폼

로그인 Google 클라우드 플랫폼으로 이동

accounts.google.com

 

신규 프로젝트 생성

좌측 상단의 [프로젝트 선택 도구]-[새 프로젝트]를 선택한다. 프로젝트 명은 [3-tier-app]으로 하자.

완료 후 약간의 시간이 지나면 프로젝트가 생성되는데 이때 [프로젝트 선택 도구]를 통해 방금 생성한 [3-tier-app]이 선택되도록 한다.

 

 

Custom VPC 생성

 

VPC란?

VPC(Virtual Private Cloud)란 클라우드 상에서 구축하는 나만의 격리된 가상 네트워크 공간을 의미한다. 가상 서버(VM)들이 공용 인터넷에 무방비로 노출되지 않도록 사설 IP 대역을 직접 정의하고 역할을 서브넷(subnet)단위로 쪼개서 관리한다. 

또한 외부 침입을 1차적으로 차단하는 기본적인 보안 성벽의 역할을 수행한다.

[Subnet]이란 VPC라는 큰 성벽 내부를 여러 개의 구역(하위 네트워크)로 다시 쪼갠 것을 말한다. 굳이 이렇게 쪼개는 이유는 성문 입구(public subnet, 웹 서버 망)와 내부의 안방(private subnet, WAS/DB 망) 등을 구분하기 위함이다. 외부 침입자가 우연히 성문(NginX)을 뚫고 들어오더라도, 중요 데이터나 비지니스 로직(WAS) 서버가 있는 안방까지 다이렉트로 침입할 수 없게 차단 벽을 치는 망 분리의 핵심 수단이 된다.

 

VPC 생성

좌상단의 햄버거 메뉴에서 [VPC 네트워크]-[VPC 네트워크] 선택 후 [VPC 네트워크 만들기]를 클릭한다.

생성할 VPC의 이름으로 free-prd-vpc를 사용하자.

이름은 필수 입력 사항

다음으로 2개의 서브넷을 구성한다.

2개의 서브넷을 구성하자.
리전 선택시는 평생 무료 티어(e2-micro 인스턴스 1대)는 아래의 미국 3개 리전에서 생성할 때만 적용된다.
 - 아이오와(us-central1), 오리건(us-west1), 사우스캐롤라이나(us-east1)

 

 IP 범위(CIDR-사이더) 표기법 쉽게 읽기
GCP에서 네트워크 대역을 설정할 때 사용하는 /16, /24 등의 단위를 CIDR라고 하며 IP 주소 뒤에 고정할 비트 수를 지정하는 방식이다.
- /16 (VPC 전체): 10.250.0.0/16은 10.250.0.0 ~ 10.250.255.255 (약 6만 5천 개 IP) 범위(전체 32bit에서 앞에 16bit는 고정)
- /24 (서브넷 단위): 10.250.1.0/24는 10.250.1.0 ~ 10.250.1.255 (총 256개 IP) 범위
- /32 (단일 IP 장비): 특정 PC나 서버 1대의 고유 IP만 지정할 때 사용
- 0.0.0.0/0 (인터넷 전체): 고정 비트가 없으므로 전 세계 모든 IP 주소 (공개 서비스용)

 

VPC 생성 완료

서브넷 2개를 모두 추가했다면 화면 맨 아래에 있는 [만들기]버튼은 클릭해서 VPC 생성을 마무리 한다. 네트워크가 최종 생성되어 GCP 콘솔에 반영 되어야만 이후 단계(방화벽 생성 등)에서 우리가 정의한 VPC를 선택할 수 있다.

 

IAP 설정

 

IAP란?

IAP(Identity-Aware Proxy)란 외부 공인 IP가 전혀 없는 사설망 내부의 VM에 구글 로그인을 통해 안전하게 원격 접속할 수 있게 해주는 구글의 안전 관리형 보안 프록시 서버이다.

사설망 내부에 있는 free-snet-private-was에 외부에서 접근하려면 원래 외부망인 free-snet-public-web을 거쳐야 합니다. 일반 웹 사용자에게는 이것이 정상적인 흐름이지만, 앱을 배포하고 서버를 관리해야 하는 개발자에게는 적당한 구조가 아닙니다. 원격 제어(SSH 등)를 해야 하는데 일반 사용자가 지나다니는 웹 서버에 관리용 통로를 열어두는 것은 보안상 매우 위험하기 때문입니다.

이 문제를 해결하기 위해 기존(예: AWS 등)에는Bastion Host라고 하는 우회용 가상 서버를 공인 IP 대역에 띄워두고 우회 접속해서 사용해 왔습니다. 하지만 이는 추가적인 서버 관리 비용이 들고, 해킹 공격을 당할 수 있는 관문이 하나 더 생긴다는 단점이 있습니다.

반면, GCP의 IAP를 이용하면 이러한우회용 서버(Bastion Host) 없이구글 계정 인증 및 권한 확인만 거쳐 안전하게 사설 VM으로 바로 터널링 접속이 가능합니다.

 

IAP 방화벽 오픈

[VPC 네트워크]-[VPC 네트워크]-[방화벽]-[방화벽 규칙만들기]를 선택하고 다음 정보를 입력한다. 구성해야할 방화벽 규칙은 총 3개다.

방화벽
규칙 이름
네트워크 대상
(Targets)
소스 IPv4 범위 허용할 프로토콜/포트 목적 (설명)
allow-iap-private-ssh free-prd-vpc 네트워크의 모든 인스턴스 35.235.240.0/20
(구글 IAP 터널링 대역)
TCP: 22 외부 IP가 없는 사설 WAS 서버에 개발자가 웹 콘솔을 통해 안전하게 SSH 원격 접속하기 위함 (보안 우회 통로)
allow-http free-prd-vpc 네트워크의 모든 인스턴스 0.0.0.0/0
(인터넷 전체 오픈)
TCP: 80, 443 일반 웹 사용자들이 Nginx 웹 서버(포트 80, 443)에 브라우저로 접근할 수 있게 개방 (공개용 대문)
allow-internal-vpc free-prd-vpc 네트워크의 모든 인스턴스 10.250.0.0/16
(우리 VPC 내부 대역)
TCP: 8080 VPC 내부의 Nginx 웹 서버와 백엔드 WAS 서버끼리 내부망 통신을 허용하기 위함 (내부 통로)
방화벽 규칙 만들기(allow-http)

 

VPC 생성 확인

이제 다음처럼 VPC 방화벽 규칙이 추가된 것을 볼 수 있다.

 

상태 점검

지금까지 구성한 정보는 다음과 같다.

80, 443, 8080은 나중에 적용될건데 그냥 일괄로 설정함.

'cloud > Google-Cloud' 카테고리의 다른 글

GCP 3-Tier 구축 4  (0) 2026.07.09
GCP 3-Tier 구축 3  (0) 2026.07.08
GCP 3-Tier 구축 2  (0) 2026.07.07
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.