[CI/CD] GCP 서버 CI/CD 파이프라인 구축 (Github Actions)
·
Git
운영 중인 백엔드 시스템에 CI/CD를 도입하면서, 코드 배포의 시간을 50% 이상 단축할 수 있었습니다. 1. 프로젝트 환경 구성현재 시스템은 다음과 같은 구조로 운영되고 있습니다:로컬 개발 환경 → Bastion Host → Portal Server개발된 코드는 GitHub를 통해 관리되며, Bastion Host를 거쳐 Portal Server에 배포됩니다.기존 구조: Local (.war 파일 mvn build) -> .war 파일 Bastion Host 전송 -> .war 파일 Portal Server 전송 -> 배포보안 강화 구조 (GCP Private IP + IAP)Portal 서버는 GCP 내부 네트워크에 위치하고 있으며, 외부에서 직접 접근할 수 없고, IAP(Identity-Aware..
[GCP] Bastion Host VM 서버 구축 (Proxy, OS Login)
·
Cloud
GCP 환경에서 직접 VM에 외부에서 접근하는 것은 보안상 위험이 있어, 안전한 방법을 찾게 되었습니다. 특히, Cloud IAP(Identity-Aware Proxy)를 활용해 외부 IP 오픈 없이도 SSH 접속을 가능하게 하려는 요구가 있었고, 이를 위해 Bastion Host를 설정하게 되었습니다. Bastion Host는 관리용 VM으로 최소한의 보안 구성을 갖추어 내부 자원에 대한 안전한 접근 통로 역할을 합니다.1. Bastion Host VM 설정VM 생성 방법Compute Engine → VM 인스턴스 → ‘인스턴스 만들기’ 선택주요 설정 값이름: bastion-host-dev리전/존: 서비스 환경과 동일한 리전 선택 (예: asia-northeast3-a)머신 타입: e2-medium (..
[GCP] Google Cloud Armor 적용 (feat. Custom Error page - Cloud Storage)
·
Cloud
서비스를 운영하다 보면 내부 시스템을 외부에 노출시켜야 하는 상황이 생긴다. 특히 클라이언트사 담당자들이 접근하는 운영/통계용 대시보드는 접근 권한을 세밀하게 제어해야 할 필요가 있는데, GCP 환경에서 Google Cloud Armor를 활용한 IP 기반 접근 제어를 구현하게 되었다.이 글은 Cloud Armor를 활용하여 특정 IP만 접근 가능하도록 구성하고, 허용되지 않은 IP는 커스텀 에러 페이지로 유도하는 구성 방법을 상세히 정리한 실전 가이드이다.왜 Cloud Armor를 도입했는가Cloud Armor를 도입한 이유는 명확하다. 운영 중인 VM이 퍼블릭하게 노출되어 있고, 이 서비스에 접근 가능한 IP를 고객사 내부망으로 제한하고자 했기 때문이다.GCP의 VM 방화벽 기능으로도 IP를 제어할 ..
coder_
'GCP' 태그의 글 목록