App Engine 표준 환경에서 앱을 배포하면 소스 코드가 컨테이너 이미지로 빌드되어 Artifact Registry에 저장되고, 이 이미지를 기반으로 App Engine에 버전이 생성됩니다.
대시보드 화면에 보이는 App Engine 버전 삭제와 Artifact Registry 이미지 삭제는 지우는 대상과 목적이 완전히 다릅니다. 두 작업의 차이점을 표와 함께 쉽게 정리해 드릴게요.
한눈에 보는 차이점 비교
| 구분 | App Engine 버전 삭제 | Artifact Registry 이미지 삭제 |
| 삭제 대상 | App Engine에 등록된 실행 환경 및 서비스 주소 | 배포할 때 빌드된 컨테이너 이미지 파일(원본) |
| 주요 목적 | 서버 가동 중지 및 잘못된 트래픽 차단 | 스토리지(저장 공간) 용량 확보 및 비용 절감 |
| 비용 영향 | 인스턴스가 0개면 원래 비용이 거의 안 나옴 | 실제 매달 누적되는 보관 요금을 줄여줌 |
| 안전성 | 언제든 안전하게 삭제 가능 (단, 트래픽 100%인 버전은 중지/삭제 불가) | 주의 필요 (현재 실행 중인 버전의 이미지를 지우면 서버 스케일링 시 오류 발생) |
1. App Engine 대시보드에서 '버전 삭제'
현재 화면에 보이는 20260601t124235 같은 버전을 체크하고 상단의 [삭제]를 누르는 것입니다.
동작: 해당 버전의 서비스가 완전히 종료되며, 외부에서 그 버전의 URL로 접근할 수 없게 됩니다.
특징: 이미 인스턴스 수가 0개로 표시되어 있다면, 이 버전은 현재 실행 중인 서버 컴퓨터가 없다는 뜻이므로 가만히 두어도 서버 가동 비용(인스턴스 비용)은 나가지 않습니다.
한계: 여기서 버전을 삭제하더라도, 배포할 때 만들어진 원본 이미지 파일은 Artifact Registry에 그대로 남아있기 때문에 보관 비용이 계속 청구될 수 있습니다.
2. Artifact Registry에서 '이미지 삭제'
Google Cloud의 저장소(Artifact Registry)로 이동하여 배포 시 생성된 소스 코드 이미지(도커 컨테이너 이미지)를 직접 지우는 것입니다.
동작: 배포 시점의 소스 코드가 압축되어 저장된 '파일' 자체를 삭제합니다.
특징: 실제 청구 비용을 줄이는 데 가장 중요한 작업입니다. GCP에서 "사용하지도 않는데 소액(예: 수백 원)이 청구되었다"고 할 때 대부분 이 이미지 파일이 스토리지 용량을 차지하고 있어서 발생하는 요금입니다.
⚠️ 주의사항: 현재 App Engine 대시보드에서 트래픽을 100% 받고 있거나 제공 중(상태)인 버전의 원본 이미지를 Artifact Registry에서 먼저 지우면 절대 안 됩니다. 나중에 사용자가 몰려서 App Engine이 서버 인스턴스를 자동으로 늘리려고 할 때(스케일링), 원본 이미지가 없어서 서버가 터지는 치명적인 오류가 발생합니다.
- app/default에 들어가서 latest가 아닌 저장된 이미지 파일들을 삭제.
💡 가장 추천하는 관리 방법
기존 배포 이력을 정리하고 비용을 완전히 아끼고 싶으시다면 다음 순서로 진행하시는 것이 가장 안전합니다.
App Engine 대시보드에서 쓰지 않는 버전을 먼저 선택하여 [삭제]합니다. (현재 트래픽이 0%인
20260527t101736같은 구버전은 바로 삭제하셔도 안전합니다.)버전이 성공적으로 삭제되면, Artifact Registry로 이동하여 방금 삭제한 버전에 대응하는 옛날 이미지 파일들을 삭제합니다.
이렇게 하면 실행 환경과 스토리지 공간이 모두 깔끔하게 정리되어 원치 않는 요금이 부과되는 것을 완전히 막을 수 있습니다.
No comments:
Post a Comment