Cloud Scheduler
주요 메모 사항
이전에 작성한 Cloud Functions 함수를 crontab 처럼 스케줄링 하는 작업
Google Cloud Functions로 공공데이터 openAPI를 사용해 Cloud Storage로 적재 (Python)
학습 주제 주요 메모 사항 과정을 설명하기 이전에 해당 서비스를 사용하게된 계기를 설명 프로젝트를 진행하는 과정에서 주기적으로 데이터를 가져오는 과정이 필요했었음 Cloud Functions을 사용
usiohc.tistory.com
Cloud Scheduler 작성
1. 작업 만들기를 클릭
2. 작업 구성 진행
2-1 먼저 해당 스케줄러의 일정을 정의해야 한다
2-1-1. 이름과 설명을 본인에게 맞춰서 작성
2. 리전은 Cloud Fucntions과 동일하게 설정
3. 빈도는 Crontab 표현식으로 작성
4. 시간대는 개인이 편한 시간대로 하면 된다!
(Cloud Functions 에서 datetime 라이브러리 등을 사용한다면 유의해야 한다. -> Cloud Functions이 작동하는 임시 인스턴스는 UTC 시간으로 동작)
2-2 Cloud Scheduler에서 HTTP로 Cloud Functions을 호출하려면 다음과 같은 설정을 해주는게 좋다. (필수는 아님)
(본인이 작성한 Cloud Functions의 http만 알아도 접근할 수 있게 한다면 악의적인 호출 공격을 받을 수 있다. -> 이는 비용과 직관되는 문제)
이전에 작성했던 Cloud Functions 을 선택하고 권한을 누르면 소유자를 확인할 수 있다!
만약 소유자를 새로 지정하려면 배포한 함수에 들어가서 권한탭을 클릭한다
여기에서 새로운 소유자를 쉽게 만들 수 있다. 액세스 권한 부여를 클릭
- 역할 지정만 잘 해주면 된다 Cloud Functions 호출자
다시 돌아와서 계속 진행
3. 실행 구성을 작성
인증 헤더에서 OIDC 토큰 추가를 선택하면, 위에서 설정해둔 서비스계정과 연결할 수 있다.
- 만약 위의 과정을 생략했다면 없음을 클릭하면 된다
4. 설정 구성 작성 (말그대로 선택사항이다)
구성 재시도 작성과 관련해서 내가 이해한 내용은 다음과 같다 Docs 링크
1. 작업이 성공적으로 완료되지 않으면 -> Cloud Functions을 테스트 해봤을 때, 해당 함수 내부 로직의 오류인 500번 error가 나온다면 작업을 재시도 한다
2. 해당 서비스를 사용하면 배포한 함수 스크립트에 python logging 모듈을 사용해서 raise 하고 Cloud logging을 주체로 Pub/Sub 서비스를 구성시켜 재시도하는 일을 안해도 된다 -> 하지만 이렇게 사용했을때 raise시키는 에러마다 logging의 Pub/Sub를 다양하게 작성하는 일을 할 수 있지 않을까? 생각
'GCP' 카테고리의 다른 글
Google Cloud Functions로 공공데이터 openAPI를 사용해 Cloud Storage로 적재 (Python) (0) | 2023.06.04 |
---|