gcloud CLI를 사용하여 크론 작업 예약 및 실행
이 빠른 시작에서는 Cloud Scheduler를 사용하여 몇 가지 기본 작업을 수행하기 위해 gcloud CLI를 사용하는 방법을 알아봅니다.
이 빠른 시작에서는 다음을 수행합니다.
- Cloud Scheduler 작업 대상으로 설정할 Pub/Sub 주제를 만듭니다.
- Cloud Scheduler를 사용하여 크론 작업을 만들고 작업에 반복 일정을 구성합니다.
- 작업을 실행합니다.
- 작업이 성공적으로 실행되었는지 확인합니다.
Cloud Scheduler에는 무료 등급이 있으므로 이 빠른 시작을 실행해도 비용이 발생하지 않습니다. 자세한 내용은 가격 책정을 참조하세요.
시작하기 전에
- Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Cloud Scheduler, Pub/Sub APIs:
gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Enable the Cloud Scheduler, Pub/Sub APIs:
gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com
Pub/Sub 주제 및 구독 만들기
Pub/Sub 주제는 게시자가 메시지를 전송할 수 있는 리소스입니다. 주제에 게시된 메시지를 받으려면 해당 주제에 대한 구독을 만들어야 합니다.
크론 작업에 대상으로 사용할 Pub/Sub 주제를 설정합니다.
gcloud pubsub topics create cron-topic
이렇게 하면
cron-topic
이라는 주제가 생성됩니다.메시지를 수신하고 작업 결과를 보려면 Pub/Sub 구독을 만듭니다.
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Cloud Scheduler를 사용하여 크론 작업 만들기
gcloud scheduler jobs create pubsub
명령어를 사용하여 반복 일정으로 Pub/Sub 대상으로 전송되는 크론 작업이라는 작업 단위를 설정합니다. 일정은 unix-cron을 기반으로 하는 형식을 사용하여 지정됩니다. 자세한 내용은 크론 작업 형식 및 시간대를 참조하세요.
gcloud scheduler jobs create pubsub my-cron-job \
--schedule="30 16 * * 7" \
--topic=cron-topic \
--location="us-central1" \
--message-body="Hello world"
일요일 오후 4시 30분에 Pub/Sub 주제에 'Hello world' 메시지를 전송하는 작업을 만들었습니다.
이제 작업을 실행할 수 있습니다.
작업 실행
지정된 일정에 따라 실행하는 것 외에도 작업을 강제로 즉시 실행할 수 있습니다.
gcloud scheduler jobs run my-cron-job --location="us-central1"
초기 구성때문에 프로젝트에서 만든 첫 번째 작업을 실행하는 데 몇 분 정도 걸릴 수 있습니다.
그런 다음 Pub/Sub 주제가 메시지를 수신했는지 확인할 수 있습니다.
Pub/Sub에서 결과 확인
Pub/Sub 주제가 해당 작업의 메시지를 수신하는지 확인하세요.
구독에서 Pub/Sub 메시지 가져오기:
gcloud pubsub subscriptions pull cron-sub --limit 5
처음에 가져온 메시지가 없으면 명령어를 다시 실행합니다.
작업 실행 결과를 봅니다. 출력은 다음과 비슷하게 표시됩니다.
DATA: Hello world! MESSAGE_ID: 5028933846601543 ORDERING_KEY: ATTRIBUTES: DELIVERY_ATTEMPT: ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
삭제
이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 리소스가 포함된 Google Cloud 프로젝트를 삭제하면 됩니다.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
또는 이 빠른 시작에서 만든 리소스를 삭제합니다.
크론 작업을 삭제합니다. Cloud Shell 또는 gcloud CLI를 설치한 머신에서 다음 명령어를 실행합니다.
gcloud scheduler jobs delete MY_JOB \ --location="LOCATION"
다음을 바꿉니다.
MY_JOB
: 삭제할 작업의 이름입니다.LOCATION
: 작업의 위치입니다. 기본적으로 연결된 앱이 있는 경우 현재 프로젝트의 App Engine 앱 위치가 사용됩니다.
Pub/Sub 주제를 삭제합니다. Cloud Shell 또는 gcloud CLI를 설치한 머신에서 다음 명령어를 실행합니다.
gcloud pubsub topics delete TOPIC_ID
TOPIC_ID
를 삭제할 Pub/Sub 주제의 ID로 바꿉니다.Pub/Sub 구독을 삭제합니다. Cloud Shell 또는 gcloud CLI를 설치한 머신에서 다음 명령어를 실행합니다.
gcloud pubsub subscriptions delete SUBSCRIPTION_ID
SUBSCRIPTION_ID
를 삭제할 Pub/Sub 구독의 ID로 바꿉니다.
다음 단계
Cloud Scheduler에 대해 자세히 알아보기