쉘스크립트 7

[GCP] Cloud SQL 백업을 타프로젝트 및 다른 인스턴스로 복원하기 (gcloud+shell script)

GCP Cloud SQL은 GUI를 통해 간편하게 백업을 생성하고 동일 인스턴스로 복원하는 기능을 제공합니다. 하지만 백업을 다른 새 인스턴스나 다른 프로젝트의 인스턴스로 복원해야 할 경우, GUI에서는 직접적인 지원이 없습니다. GUI에서 지원하지 않는 기능이 CLI에서 지원되는 경우가 있습니다. Cloud SQL의 내장 백업은 파일 형태로 직접 내보내기(Export)를 지원하지 않으며, 데이터를 파일로 옮기려면 mysqldump와 같은 별도의 내보내기 작업을 통해 Cloud Storage 버킷 등에 저장한 후 다시 가져오기(Import) 해야 합니다. 이와 달리, gcloud CLI를 사용하면 Cloud SQL 백업에서 바로 다른 인스턴스(신규 또는 타 프로젝트)로 복원할 수 있습니다. 이는 mysq..

Cloud/GCP 2025.05.21

[GCP] Secret Manager Key 자동 삭제 스크립트

클라우드의 장점 중에 하나는 GUI에서 클릭으로 할 수 있는 방안이라고 생각됩니다. CLI로 대량의 작업을 한번에 할 수 있는 방안도 있지만간단하게 필요할때 화면에 나오는 설명을 따라서 설정해서 할 수 있다는 것은 크나큰 장점이라 생각됩니다. 다만 위에 쓴대로 대량의 작업을 한번에 하는건 GUI로는 힘듭니다. 이번 스크립트는 GCP의 Secret Manager 서비스에 있는 리소스들을 프로젝트 단위에서 삭제하는 방안을 작성하였습니다. 해당 삭제 스크립트를 만들게 된 계기는 다음과 같습니다. GCP에서 프로젝트가 필요없게 되면 정리를 해야되는데 결제계정을 빼면 모든 리소스가 정지되게 되며, 아예 프로젝트를 삭제하는 방안도 있습니다. 다만 여러 이유로 프로젝트가 존재할 필요가 있을때는 비용이 발생되는 리소..

Cloud/GCP 2025.05.13

[GCP] 전체 프로젝트의 Cloud storage 사용량 조회

목표 Cloud Storage는 GCP에서 오브젝트 스토리지 용도로 다양하게 활용되고 있습니다. 특성상 Dev, Stg, Prd 등 여러 환경에 걸쳐 여러 프로젝트에 분산되어 생성되며, Cloud Run과 같은 PaaS 서비스를 사용할 경우 자동으로 버킷이 생성되기도 합니다. 이처럼 다양한 위치에 버킷이 존재하다 보니, 전체 현황을 한눈에 파악할 수 있는 방법이 필요합니다. 이 문서에서는 webconsole의 GUI를 통해 스토리지 리스트를 조회하는 방법과, 쉘 스크립트를 이용해 각 버킷의 용량 및 메타 정보를 수집하는 방법을 소개합니다. 🧰 방법 1: GUI로 전체 버킷 리스트 확인GCP 콘솔 접속 → Cloud Asset Inventory 메뉴로 이동 조직 선택 후→ storage.Bucket 으로..

Cloud/GCP 2025.04.22

[GCP] VM기준으로 방화벽 내용을 조회 하는 스크립트

GCP는 네트워크 태그 기반으로 방화벽을 제공합니다. 태그를 조회하여 적용된 것들을 GUI상에서 볼 수는 있지만, VM을 기반으로 연결된 방화벽 정책을 한번에 보여주는 GCP 기본 기능은 없습니다. AWS는 VM을 선택시 해당 VM에 적용된 시큐리티 그룹을 한번에 볼 수 있습니다. 신규 구축이 아닌 기존 운영하는 곳에서 정보 수집시 방화벽이 VM별로 어떻게 설정되어 있는지 한번에 조회할 필요가 있어 스크립트를 통해 하는 방안을 작성하였습니다. 2가지 방안으로 작성하였습니다.프로젝트 별 수집하는 방안조직에서 프로젝트별로 수집하는 방안 프로젝트 기반이며, 입력 후 해당 프로젝트에 있는 VM의 리스트 조회 → 해당 리스트의 있는 vm에 네트워크 태그를 조회하여, 인그레스, 이그레스별로 해당 태그 정책을 정리합..

Cloud/GCP 2025.04.19

[GCP/OS] instance에서 gcp rsync를 이용하여 file sync 진행

쓰기도 애매하지만, VM (linux) 에서 GCS로 자동으로 로그 파일을 업로드하고, VM에 있는 기존 파일은 제거하는 요구사항이 생겨서 진행 목적 : Instance 에서 지속적으로 파일이 대량 생성되고 있어, 이것을 GCS로 저장하는 방안 중 하나 조건은 각 instance를 구분하기 위해 GCS상에 호스트명별로 디렉토리가 생성되며, GCS에 업로드 되고 난 뒤 최신의 파일을 제외하고서는 기존 instance내 파일은 삭제처리 GCS로 보내는거라 고민을 했는데, 다행인지 gcloud 명령어에 storage rsync가 있어 진행했다. 아.. 물론 엔딩은 rsync가 아닌 데몬으로 보내야한다고 해서 결국 Fluent Bit로 전환 - GCS에 호스트명대로 저장하고, gcp rsync로 저장한 뒤 10..

Cloud/GCP 2024.02.27

시스템 정보 수집 스크립트

- 만든계기 : 시스템 정보를 확인하고, 수집하기 위해 생성 단일 시스템 확인용이며, 다수 원격시스템은 ssh로 해서 차 후 또 수정예정 - 내용 : 1. 계정정보 2. 디스크 사용량 확인 3. CPU사용량 4. 메모리 사용량 5. 볼륨그룹 정보 6. 시스템 Gateway확인 7. hosts 정보 확인 8. crontab 정보 확인 9. 프로세스 검색 10. 시스템 가상화 여부 11. 전체 결과 값 파일로 저장 Redhat6기준으로 테스트 했고, ubuntu나 다른버전에서는 다 동작 안될 수도 있다. ㅠ ubuntu같은 경우 sudo를 추가 및 기타 명령어 (virt-what)설치가 필요 결국 명령어 옵션이 좀 다르던가 하는것이니 적절히 수정해서 쓰면 문제없음 - shell-script내용 #!/bin/..