[GCP] GCP의 ALB
Last updated
Last updated
GCP는 고정 IP 할당이 가능하다. - GCP Win
ALB는 고정 IP가 없는대신 전용 endpoint가 있음
GCP는 프론트앤드 백엔드 라우팅 룰 / AWS 는 리스너 타겟그룹
GCP는 VM(EC2)로 ALB와 연결 할 시 무조건 instance group을 생성 해야 함
Proxy 구성 차이(AWS Win)
GCP는 http -> https redirect 구성을 만드려면 alb가 두개가 생성 되야함 심지어 새로 생성되는 alb이름도 못지어줌j
그에 비해 aws는 상당히 높은 수준의 프록시 설정이 가능함 깊게는 http 헤더 대다수에 조건을 걸 수 있음
ALB는 아래 그림의 서비스들과 연동이 가능하다
개요
http로 접근 시 https로 redirect
http://latimi.net으로 접근 시 vm의 8850 포트로 접근
필요 resource
firewall
loadbalancer
instance group
cloud domains
cloud dns
A record 셋팅
certificate manager
인증서 생성 시 도메인 소유자 신원 확인을 위해 CNAME 인증을 진행 하였으나 이 방식은 alb에서 인식 불가
여유가 된다면 AWS 방식으로도 만들어 보겠음
방화벽
80 , 443 , 8850(unkown 포트이기 때문에 방화벽을 추가 별도 구성 해야 함)
alb 과정에서 http , https 를 체크하면 tag가 자동으로 적용 되면서 방화벽 셋팅이 진행
alb
backend
frontend
https용 frontend alb는 ssl 사용 여부 체크시 자동으로 생성 된다
routing rule(url map)
proxy
instance group
type :
이 부분이 상당히 중요 한 내용인데 이건 AWS의 AutoScaleGroup의 개념이 있어야 한다. 별도 설명 필요, 일단 초보자는 unmanaged instance 선택하면 됨
managed instance group
stateless
stateful
managed를 고르는 순간 부터 서버에서 변경 사항이 발생 되도 일정 시점 이후 원복이 됨
변경 사항은 템플릿으로 관리 하기 때문
마치 쿠버네티스의 코드 관리 방식처럼 동작함
unmanaged instance group
template
image
health check
port mapping
80:80
81:81
8850
VM
NGINX
port 3000
port 8850
name: dorian-p-alb-web-an3
type: Application loadbalancer
public
region : asia-northeast-3
frontend
port : 80,8850,81
ssl redirect check : 자동으로 https 처리용 lb가 생성
backend
CDN 미사용
인증서 생성
Instance Group mapping
Routing 설정
zone : ${domain zone}
a record mapping
dorian:${alb IP}
방화벽은 GCP 프로젝트 단위로 광범위 하게 적용 되며 cloud Armor는 global backend 서비스 앞단에 위치함
cloud Armor의 레이어는 OSI 7 Layer 기준으로 3~7 이기 때문에 WAF(웹방화벽)과 IPS의 역활을 수행 할 수 있음
external-global-alb 타입으로 생성 시 방화벽에 health-check를 위해 35.191.0.0/16을 넣어 줘야 하는데 이렇게 되면 특정 IP만 허용 하는 allow 정책이 불가능하게 됨
name: dorian-p-sec-in-web-alb-an3
soruce : 35.191.0.0/16 ${office ip}
target : 172.18.1.0
protocol : 80,81, 8850
주의사항 : 35.191.0.0/16 (gcp global lb 대역)을 추가 해야 heath-check가 진행 됨
name : security-policy-for-backend-service-dorian-p-alb-backend-web
allow : ${office ip}
deny : 모든 IP 주소
alb에서 인증서를 생성하는 방식으로 채택 -> 기존 인증서 탭에 인증서 확인
직접 만드는 것은 아니지만 alb를 만들면 구성에 맞게 아래처럼 proxy , 전달 규칙 등이 생성 된다.
그렇기 때문에 특정 IP의 allow나 deny 정책을 갖고 싶다면 cloud Armor에서 controll 해야 함 아래 그림의 firewall 위치와 cloud armor 위치를 유심 하게 봐야함