안녕하세요, 

베스핀글로벌 GCP Support팀입니다.


이번 아티클에서는 주제로 "HTTP(S) LB URL Rewrite 설정"을 다루고자 합니다.



HTTP(S) LB URL Rewrite 설정


URL Rewrite 기능은 외부 사용자가 사용하는 URL을 서비스에 사용하는 지정된 URL로 변환하기 위해 사용됩니다.[1] HTTP(S) 부하 분산 URL 재작성 기능은 다음을 수행합니다.


  1. 요청에서 수신 URL(외부 사용자가 사용하는 URL)을 읽습니다.

  2. 트래픽을 백엔드로 전달하기 전에 URL을 변환하여 경로 또는 호스트와 경로를 모두 바꿉니다.





아래와 같은 방법으로 HTTP(S) LB URL Rewrite 설정을 할 수 있습니다.

※ Classic Type이 아닌 HTTP(S) LB는 웹 콘솔 상에서 URL Rewrite 설정을 할 수 없으며 yaml 파일을 사용하여 설정할 수 있습니다. [2]



1. LB의 Backend Bucket으로 사용할 Cloud Storage 버킷의 /auth/address/info/ 경로에 테스트용 이미지

파일(dog6.jpg)을 업로드합니다.




2. GCP Console 상에서 HTTP(S) LB의 설정을 변경합니다.


    1) Backend Bucket 추가




    2) Host and path rules 설정 변경

     - Host and path rules 설정에서 Advanced rule 모드를 선택 후 URL rewrite 설정을 합니다.

    ※ 이때 (Default)에 대한 rule만 보인다면 Simple rule 모드로 Hosts를 추가 후 LB를  업데이트 한 뒤 다시 경로를 수정합니다.


 



3. LB 업데이트를 완료하고 3~4분후 [ip 주소]/address/info/dog6.jpg 경로로 접속하여 테스트용 이미지

파일로 접근 할 수 있는지 확인합니다.





URL이 Rewrite 되어 [ip 주소]/address/info/dog6.jpg로 접속 시 [ip 주소]/auth/address/info/dog6.jpg 의 테스트용 이미지 파일을 가져오는 것을 확인할 수 있습니다.

※ LB 구성 후 시간이 지나도 Rewrite 설정이 된 페이지를 불러오지 않는다면, 웹 브라우저 캐시 이슈일 수 있으므로 새 시크릿 창에 접속하여 캐시 이슈가 아닌지 확인 합니다.



참조 링크


[1] LB URL Rewrite 기능

https://cloud.google.com/load-balancing/docs/https/traffic-management#rewrites

[2] HTTPS LB 요청된 URL 재작성
https://cloud.google.com/load-balancing/docs/https/setting-up-global-traffic-mgmt#rewrite_the_requested_url



관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.


감사합니다.