Cloud Storage에서 직접 이벤트 수신(Google Cloud 콘솔)

이 빠른 시작에서는 인증되지 않은 Cloud Run 서비스의 Cloud Storage에서 직접 이벤트를 수신하는 방법을 보여줍니다.

객체 생성, 삭제, 보관처리, 메타데이터 업데이트와 같은 Cloud Storage 버킷 내의 다양한 이벤트에 대한 응답으로 알림 트리거를 구성할 수 있습니다. 자세한 내용은 Cloud Storage 이벤트를 Cloud Run으로 라우팅하기 위한 트리거 만들기를 참조하세요.

Google Cloud 콘솔을 사용하여 이 빠른 시작을 완료할 수 있습니다. Google Cloud CLI를 사용하는 방법은 Cloud Storage(gcloud CLI)에서 직접 이벤트 수신을 참조하세요.

이 빠른 시작에서는 다음을 수행합니다.

  1. 이벤트 소스로 사용할 Cloud Storage 버킷을 만듭니다.

  2. Cloud Run에 샘플 서비스를 배포하여 이벤트를 수신합니다.

  3. 이벤트를 필터링하고 라우팅하는 Eventarc 트리거를 만듭니다.

  4. Cloud Storage 버킷에 파일을 업로드하여 이벤트를 생성하고 Cloud Run 로그에서 이벤트를 봅니다.


Google Cloud 콘솔에서 이 태스크에 대한 단계별 안내를 직접 수행하려면 둘러보기를 클릭합니다.

둘러보기


시작하기 전에

조직에서 정의한 보안 제약조건으로 인해 다음 단계를 완료하지 못할 수 있습니다. 문제 해결 정보는 제한된 Google Cloud 환경에서 애플리케이션 개발을 참조하세요.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Cloud Build and Eventarc APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Cloud Build and Eventarc APIs.

    Enable the APIs

Cloud Storage 버킷 만들기

이 빠른 시작에서는 Cloud Storage를 이벤트 소스로 사용합니다.

  1. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.

    버킷으로 이동

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

  3. 버킷의 고유한 이름을 입력합니다.

    예를 들면 hello-bucket입니다.

  4. 계속을 클릭합니다.

  5. 위치 유형에 대해 리전을 선택한 다음 us-central1(아이오와)을 선택합니다.

  6. 다른 기본값을 수락합니다.

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

이벤트 소스가 생성되면 Cloud Run에 이벤트 수신자 서비스를 배포할 수 있습니다.

Cloud Run에 이벤트 수신자 서비스 배포

이벤트를 수신하고 로깅하는 샘플 Cloud Run 서비스를 배포합니다.

  1. Google Cloud 콘솔에서 Cloud Run 서비스 페이지로 이동합니다.

    서비스로 이동

  2. 서비스 만들기를 클릭합니다.

  3. 서비스 만들기 양식에서 다음을 수행합니다.

    1. 기존 컨테이너 이미지에서 버전 1개 배포를 선택합니다.

    2. 샘플 컨테이너로 테스트를 클릭합니다.

    3. 리전 목록에서 서비스 위치로 us-central1(아이오와)을 선택합니다.

    4. 인증에서 인증되지 않은 호출 허용을 선택합니다.

    5. 샘플 컨테이너 이미지를 배포하려면 만들기를 클릭합니다.

hello 서비스 배포를 완료하는 데 최대 2분이 걸릴 수 있습니다.

Eventarc 트리거 만들기

Eventarc 트리거는 Cloud Storage 버킷의 이벤트를 샘플 Cloud Run 서비스로 전송합니다.

  1. Google Cloud 콘솔에서 Eventarc 트리거 페이지로 이동합니다.

    트리거로 이동

  2. 트리거 만들기를 클릭합니다.

  3. 트리거 이름을 입력합니다.

    예를 들면 hello-trigger입니다.

  4. 트리거 유형 목록에서 Google 소스를 선택합니다.

    Google Cloud 제공업체(직접 또는 Cloud 감사 로그 항목을 통해) 또는 Pub/Sub 메시지를 사용하는 제공업체로부터 전송된 이벤트를 필터링합니다.

  5. 이벤트 제공자 목록에서 Cloud Storage를 선택합니다.

  6. 이벤트 유형 목록에서 직접 > google.cloud.storage.object.v1.finalized를 선택합니다.

  7. 버킷에서 이전에 만든 hello-bucket Cloud Storage 버킷을 선택합니다.

  8. 메시지가 표시되면 다음을 부여합니다.

    • Pub/Sub 서비스 계정에 대한 iam.serviceAccountTokenCreator 역할
    • Cloud Storage 서비스 계정에 대한 pubsub.publisher 역할
  9. 기본 컴퓨팅 서비스 계정을 서비스를 호출하는 서비스 계정으로 사용합니다.

  10. 이벤트 대상 목록에서 Cloud Run을 선택합니다.

  11. Cloud Run 서비스에서 이전에 만든 샘플 hello 서비스를 선택합니다.

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

필요한 모든 권한이 Eventarc 서비스 에이전트에 적용되는 데 몇 분 정도 걸릴 수 있습니다. Permission denied while using the Eventarc Service Agent 오류가 발생하면 몇 분 정도 기다린 후 다시 시도하세요. 트리거가 생성된 후 트리거가 완전히 작동하는 데 최대 2분이 걸릴 수 있습니다.

이벤트 생성 및 확인

이벤트를 생성하고 Eventarc 트리거가 예상대로 작동하는지 확인합니다.

  1. 이벤트를 생성하려면 다음 안내를 따르세요.

    1. 파일 이름이 random.txt이고 텍스트가 'Hello World'인 텍스트 파일을 만듭니다.

    2. Google Cloud 콘솔에서 Cloud Storage 버킷 페이지로 이동합니다.

      버킷으로 이동

    3. 만든 스토리지 버킷의 이름을 클릭합니다.

    4. 객체 탭에서 파일 업로드를 클릭하고 random.txt 파일을 업로드합니다.

    업로드 시 이벤트가 생성되고 Cloud Run 서비스에서 이벤트의 메시지를 로깅합니다.

  2. 로그 항목을 보려면 다음 안내를 따르세요.

    1. Google Cloud 콘솔에서 Cloud Run 서비스 페이지로 이동합니다.

      서비스로 이동

    2. 만든 서비스 이름을 클릭합니다.

    3. 이 서비스의 모든 버전에 대한 로그 항목을 검색하려면 서비스 세부정보 페이지에서 로그 탭을 클릭합니다. 로그 심각도 수준으로 필터링할 수 있습니다.

    4. 다음과 같은 로그 항목을 찾습니다.

      Received event of type google.cloud.storage.object.v1.finalized. Event data: [...]

수고하셨습니다 Cloud Run에 이벤트 수신자 서비스를 성공적으로 배포하고, Eventarc 트리거를 만들고, Cloud Storage에서 이벤트를 생성하고, 이를 Cloud Run 로그에서 확인했습니다.

삭제

이 페이지에서 사용한 리소스 비용이 Google Cloud 계정에 청구되지 않도록 하려면 다음 단계를 수행합니다.

Cloud Run에서는 서비스를 사용하지 않을 때 비용이 청구되지 않지만 Cloud Run 리소스, Container Registry에 컨테이너 이미지를 저장하고 Cloud Storage 버킷에 파일을 저장하는 데 요금이 부과될 수 있습니다.

이미지 삭제, 스토리지 버킷 삭제, 서비스 삭제를 수행할 수 있습니다.

Eventarc 트리거를 삭제하려면 다음 안내를 따르세요.

  1. Google Cloud 콘솔에서 Eventarc 트리거 페이지로 이동합니다.

    트리거로 이동

  2. 만든 트리거의 이름을 클릭합니다.

  3. 트리거 세부정보 페이지에서 삭제를 클릭합니다.

또는 Google Cloud 프로젝트를 삭제하여 비용 청구를 방지할 수 있습니다. Google Cloud 프로젝트를 삭제하면 프로젝트 내에서 사용되는 모든 리소스에 대한 비용 청구가 중지됩니다.

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

다음 단계