Cloud 스케줄러 빠른 시작

이 빠른 시작에서는 Cloud 스케줄러를 사용하여 다음과 같은 기본 작업을 수행하는 방법을 안내합니다.

  • Cloud 스케줄러 작업을 만듭니다.
  • 작업에 반복되는 일정을 설정합니다.
  • Cloud Pub/Sub 주제를 작업 대상으로 지정합니다.
  • 작업을 실행합니다.
  • 작업 성공을 확인합니다.

Cloud 스케줄러에는 무료 티어가 있어서 이 빠른 시작을 실행해도 비용이 발생하지 않습니다. 자세한 내용은 가격 책정을 참조하세요.

시작하기 전에

다음 지침에 따라 이 빠른 시작을 준비하세요. 이 단계 중 일부는 이미 수행했을 것입니다.

gcloud 명령줄 도구 설치 및 구성:

  1. Cloud SDK 설치 및 초기화

  2. 제품의 gcloud 구성요소 추가:

     gcloud components install
    
  3. 모든 구성요소 업데이트:

     gcloud components update
    

App Engine 앱으로 프로젝트를 만듭니다.

또는, 기존 프로젝트가 있다면 그 프로젝트를 사용해도 됩니다.

  1. Cloud SDK가 설치되어 있는 시스템에서 터미널을 열고 GCP 프로젝트를 만듭니다.

     gcloud projects create [PROJECT_ID]
    

    여기서 PROJECT_ID는 만들려는 프로젝트의 ID입니다. 프로젝트 ID는 소문자로 시작해야 하며 소문자 ASCII 문자, 숫자, 하이픈으로 구성될 수 있습니다. 그리고 6~30자여야 합니다.

  2. 선택한 프로젝트를 사용하도록 gcloud를 구성합니다.

     gcloud config set project [PROJECT-ID]
    

    여기서 PROJECT_ID는 앞에서 설정한 ID입니다.

  3. 이제 을 만듭니다.

     gcloud app create [--region=REGION]
    

    여기서 [REGION]은 앱이 실행되는 위치입니다. App Engine 명령어에서 europe-westus-central이라고 불리는 두 위치는 Cloud Tasks 명령어에서 각각 europe-west1us-central1이라고 불립니다.

    다음 명령어를 사용하여 기존 앱의 리전을 확인할 수 있습니다.

     gcloud app describe
    

    리전은 locationId별로 나열되어 있습니다(예: locationId: us-central).

    App Engine 앱에 영역을 한 번 설정하고 나면 변경할 수 없습니다.

Google Cloud Platform Console을 사용하여 다음 기능을 사용 설정합니다.

  1. 프로젝트에 결제를 사용 설정

  2. Cloud 스케줄러 API를 사용 설정

  3. Cloud Pub/Sub API를 사용 설정

gcloud를 사용하여 Cloud Pub/Sub를 설정합니다.

  1. 크론 작업에 대상으로 사용할 Cloud Pub/Sub 주제를 설정합니다.

    gcloud pubsub topics create cron-topic
    

    이 명령어는 'cron-topic'이라고 하는 주제를 생성합니다. 나중에 다시 사용하게 되므로 이 이름을 적어두세요.

  2. Cloud Pub/Sub 구독을 생성합니다. 작업의 결과를 보려면 이렇게 해야 합니다.

    gcloud pubsub subscriptions create cron-sub --topic cron-topic
    

작업 만들기

  1. 콘솔에서 Cloud 스케줄러 페이지로 이동합니다.

    Cloud 스케줄러

  2. 작업 만들기 버튼을 클릭합니다.

  3. 작업에 이름을 지정하고 필요 시 설명을 추가합니다.

    이미지

  4. unix-cron 형식을 사용하여 작업의 빈도를 지정합니다.

    * * * * *
    

    자세한 내용은 크론 작업 일정 구성을 참조하세요. App Engine 크론 형식에 익숙한 개발자는 이 형식을 사용해도 됩니다.

  5. 시간대를 선택합니다.

  6. 대상 필드의 드롭다운 메뉴에서 Pub/Sub 주제를 선택하고 앞에서 만든 주제(cron-topic)를 입력합니다.

  7. Cloud Pub/Sub 대상으로 전송될 페이로드 문자열을 추가합니다.

    이미지

  8. 만들기를 클릭합니다.

이제 1분마다 Cloud Pub/Sub 주제에 메시지를 전송하는 작업이 만들어졌습니다. 이제 방금 만든 작업을 실행합니다.

작업 실행

  1. 프로젝트에 열린 Cloud 스케줄러 콘솔 페이지에서 지금 실행 버튼을 클릭합니다.

    프로젝트에 만들어진 첫 번째 작업은 필수 구성 때문에 처음 호출되면 실행하는 데 몇 분이 소요될 수 있습니다. 그러므로 잠시 기다려야 할 것입니다.

  2. 결과 열에서 결과를 확인합니다.

    이미지

수고하셨습니다. 지금까지 Cloud Pub/Sub에 메시지를 전송하는 크론 작업의 실행 결과를 콘솔에서 확인했습니다. 이제 Cloud Pub/Sub가 실제로 메시지를 받았는지 확인하는 방법에 대해 알아보겠습니다.

Cloud Pub/Sub에서 결과 확인

Cloud Pub/Sub 주제가 작업에서 메시지를 수신하고 있는지 확인하려면 다음 안내를 따르세요.

  1. 다음 명령어를 호출합니다.

     gcloud pubsub subscriptions pull cron-sub --limit 5
    
  2. 결과를 확인합니다. 대개 다음과 비슷한 출력이 표시됩니다.

     +-------------+----------------+------------+-----------------------------+
     | DATA        | MESSAGE_ID     | ATTRIBUTES | ACK_ID                      |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56344662920621 |            | EkwnGERJUytDCypYEU4EISE-... |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56340561244339 |            | EkwnGERJUytDCypYEU4EISE-... |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56340388879975 |            | EkwnGERJUytDCypYEU4EISE-... |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56337745052761 |            | EkwnGERJUytDCypYEU4EISE...  |
     +-------------+----------------+------------+-----------------------------+
     | hello cron! | 56337890896134 |            | EkwnGERJUytDCypYEU4EISE-... |
     +-------------+----------------+------------+-----------------------------+
    

삭제

이 빠른 시작에서 사용한 리소스 비용이 GCP 계정에 청구되지 않도록 다음을 수행합니다.

Cloud 스케줄러 작업 삭제

  1. GCP Console에서 Cloud 스케줄러 페이지로 이동합니다.

    스케줄러 페이지로 이동

  2. 작업 옆의 체크박스를 클릭합니다.

  3. 페이지 상단의 삭제 버튼을 클릭하고 삭제를 확인합니다.

Pub/Sub 주제 삭제

  1. GCP Console에서 Cloud Pub/Sub 페이지로 이동합니다.

    Pub/Sub 페이지로 이동

  2. 주제 옆의 체크박스를 클릭합니다.

  3. 페이지 상단의 삭제를 클릭하고 삭제를 확인합니다.

프로젝트 삭제

이 빠른 시작을 위해서만 프로젝트를 만든 경우.

  1. Cloud Console에서 리소스 관리 페이지로 이동합니다.

    리소스 관리 페이지로 이동

  2. 프로젝트 목록에서 삭제할 프로젝트를 선택하고 삭제 를 클릭합니다.
  3. 대화상자에서 프로젝트 ID를 입력한 후 종료를 클릭하여 프로젝트를 삭제합니다.

다음 단계