이 튜토리얼에서는 Cloud Scheduler에서 HTTP 엔드포인트를 타겟팅하여 HTTP Cloud Run 함수를 예약하는 방법을 보여줍니다. 함수가 URL 엔드포인트를 포함하고 웹훅과 같은 HTTP 요청에 응답하도록 하려면 HTTP 함수를 사용합니다.
또는 CloudEvents 함수를 만든 경우 Eventarc 이벤트 트리거를 사용하여 프로젝트 내 이벤트에 응답하도록 함수를 예약합니다. Eventarc는 Pub/Sub 주제의 메시지, Cloud Storage 버킷의 변경사항 등을 트리거할 수 있습니다. 자세한 내용은 Cloud Run 함수 유형을 참고하세요.
Cloud Run 함수 실행 예약은 Cloud Scheduler의 일반적인 사용 사례입니다. 이 튜토리얼에서는 다음 단계를 진행합니다.
HTTP Cloud Run 함수 만들기
Cloud Scheduler에 의해 트리거되는 HTTP 함수를 만듭니다.
Google Cloud 콘솔에서 Cloud Run 페이지로 이동합니다.
함수 작성을 클릭합니다.
구성 섹션에서 다음을 수행합니다.
- 서비스 이름 필드에 함수 이름을 입력합니다.
- 리전 목록에서 리전을 선택합니다.
- 기본 런타임 언어를 수정하지 마세요.
인증에서 인증 필요를 선택합니다.
프로젝트에서 인증되지 않은 호출을 제한하는 도메인 제한 조직 정책이 적용되는 경우 비공개 서비스 테스트의 설명대로 배포된 서비스에 액세스해야 합니다.
자세한 내용은 호출 인증을 참고하세요.
다른 기본값을 그대로 두고 만들기를 클릭합니다.
함수의 HTTP URL을 복사합니다.
Terraform을 사용하여 Cloud Run 함수를 배포하는 방법을 비롯한 자세한 내용은 Cloud Run 함수 배포를 참고하세요.
Cloud Scheduler 작업 만들기
HTTP를 사용하여 작업을 트리거하는 Cloud Scheduler 작업을 만듭니다.
Google Cloud 콘솔에서 Cloud Scheduler 페이지로 이동합니다.
작업 만들기를 클릭합니다.
작업 이름을 입력합니다.
리전 목록에서 리전을 선택합니다.
unix-cron 형식을 사용하여 작업의 빈도를 지정합니다.
30 16 * * 7
자세한 내용은 크론 작업 형식 및 시간대를 참조하세요.
시간대 목록에서 시간대를 선택합니다.
계속을 클릭합니다.
대상 유형 목록에서 HTTP를 선택합니다.
URL 필드에 이전에 복사한 함수의 HTTP URL을 입력합니다.
인증 헤더 목록에서 OIDC 토큰 추가를 선택합니다.
서비스 계정 목록에서 이전에 만든 서비스 계정을 선택합니다.
Audience 필드에 이전에 복사한 함수의 HTTP URL을 입력합니다.
만들기를 클릭합니다.
일요일 오후 4시 30분에 Cloud Run 함수를 실행하는 크론 작업을 만들었습니다.
Cloud Scheduler 작업 실행
이제 만든 작업을 실행할 수 있습니다.
Google Cloud 콘솔에서 Cloud Scheduler 페이지로 이동합니다.
자신이 만든 작업의 체크박스를 선택하고 강제 실행을 클릭합니다.
처음 호출될 때는 프로젝트에서 만든 첫 번째 작업을 구성하고 실행하는 데 몇 분 정도 걸릴 수 있습니다.
작업이 실행되면 최종 실행 상태가
Success
로 표시됩니다.
Cloud Run 함수에서 결과 확인
Cloud Run 함수가 크론 작업에 의해 성공적으로 트리거되고 실행되는지 확인할 수 있습니다.
Google Cloud 콘솔에서 Cloud Run 페이지로 이동합니다.
서비스 필터링 > 배포 유형 > 함수를 선택합니다. 그러면 함수만 표시되도록 서비스 목록이 필터링됩니다.
함수 이름을 클릭합니다.
서비스 세부정보 페이지가 열리고 서비스 측정항목이 표시됩니다.
로그 탭을 클릭합니다.
POST 200 146 B 5 ms Google-Cloud-Scheduler https://FUNCTION_NAME
과 비슷한 로그 항목이 표시됩니다.