컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

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

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

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

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

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

  2. Cloud Run에 이벤트 수신자 서비스를 배포합니다.

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

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


콘솔에서 직접 이 작업을 수행하는 방법에 대한 단계별 안내를 보려면 둘러보기를 클릭합니다.

둘러보기


다음 섹션에서는 둘러보기를 클릭할 때와 동일한 단계를 수행합니다.

시작하기 전에

조직에서 Google Cloud 환경에 제약조건을 적용하면 이 문서의 일부 단계가 올바르게 작동하지 않을 수 있습니다. 이 경우 공개 IP 주소 또는 서비스 계정 키 만들기와 같은 작업을 완료하지 못할 수 있습니다. 제약조건에 대한 오류를 반환하는 요청을 수행하는 경우 제한된 Google Cloud 환경에서 애플리케이션 개발 방법을 참조하세요.

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  4. API Cloud Build and Eventarc 사용 설정

    API 사용 설정

  5. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  6. Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다. 프로젝트에 결제가 사용 설정되어 있는지 확인하는 방법을 알아보세요.

  7. API Cloud Build and Eventarc 사용 설정

    API 사용 설정

Cloud Storage 버킷 만들기

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

  1. 콘솔에서 Cloud Storage로 이동합니다.

    Cloud Storage로 이동

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

    새 버킷

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

  4. 계속을 클릭합니다.

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

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

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

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

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

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

  1. 샘플 저장소를 GitHub 계정에 포크합니다.

    Go

    1. GitHub에서 GoogleCloudPlatform/golang-samples로 이동합니다.

    2. 포크를 클릭합니다.

      포크 버튼의 스크린샷

    3. 메시지가 표시되면 저장소를 포크할 위치를 선택합니다.

    자바

    1. GitHub에서 GoogleCloudPlatform/java-docs-samples로 이동합니다.

    2. 포크를 클릭합니다.

      포크 버튼의 스크린샷

    3. 메시지가 표시되면 저장소를 포크할 위치를 선택합니다.

    .NET

    1. GitHub에서 GoogleCloudPlatform/dotnet-docs-samples로 이동합니다.

    2. 포크를 클릭합니다.

      포크 버튼의 스크린샷

    3. 메시지가 표시되면 저장소를 포크할 위치를 선택합니다.

    Node.js

    1. GitHub에서 GoogleCloudPlatform/nodejs-docs-samples​로 이동합니다.

    2. 포크를 클릭합니다.

      포크 버튼의 스크린샷

    3. 메시지가 표시되면 저장소를 포크할 위치를 선택합니다.

    Python

    1. GitHub에서 GoogleCloudPlatform/python-docs-samples로 이동합니다.

    2. 포크를 클릭합니다.

      포크 버튼의 스크린샷

    3. 메시지가 표시되면 저장소를 포크할 위치를 선택합니다.

  2. 콘솔에서 Cloud Run으로 이동합니다.

    Cloud Run으로 이동

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

  4. 서비스 만들기 양식에서 소스 저장소에서 지속적으로 새 버전 배포를 선택합니다.

  5. Cloud Build로 설정을 클릭합니다.

  6. Cloud Build로 설정 양식에서 다음 단계를 완료합니다.

    Cloud Build로 설정 페이지

    1. 메시지가 표시되면 Cloud Build API를 사용 설정합니다.
    2. 저장소 제공업체 목록에서 GitHub를 선택합니다.

    3. 저장소 목록에서 포크한 GitHub 저장소를 선택합니다.

    4. GitHub 계정 및 저장소를 선택한 후 체크박스를 선택하여 동의 면책조항 약관에 동의하고 다음을 클릭합니다.

    5. 분기 필드를 ^main$으로 둡니다.

    6. 빌드 유형Dockerfile을 선택하고 Dockerfile의 소스 위치를 제공합니다.

      eventarc/audit-storage/Dockerfile
      

      또는 Go 샘플의 경우 다음과 같습니다.

      eventarc/audit_storage/Dockerfile
      
    7. 저장을 클릭합니다.

  7. 서비스 만들기 양식에 서비스 이름을 입력합니다. 예: helloworld-events

  8. 리전 기본값을 서비스 위치로 수락합니다. 예를 들면 us-central1(아이오와)입니다.

  9. CPU 할당 및 가격 책정자동 확장 기본값을 그대로 둡니다.

  10. 인그레스 섹션에서 모든 트래픽 허용을 선택합니다.

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

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

Eventarc 트리거 만들기

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

  1. 콘솔에서 Eventarc로 이동합니다.

    Eventarc로 이동

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

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

    helloworld-trigger).

  4. 이벤트 공급업체 목록에서 Google 소스 > Cloud Storage를 선택합니다.

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

  6. 버킷에 이전에 만든 helloworld-bucket Cloud Storage 버킷을 지정합니다.

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

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

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

  10. Cloud Run 서비스의 경우 앞에서 만든 helloworld-events 서비스를 선택합니다.

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

이벤트 생성 및 확인

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

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

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

    2. 콘솔에서 Cloud Storage로 이동합니다.

      Cloud Storage로 이동

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

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

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

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

    1. 콘솔에서 Cloud Run으로 이동합니다.

      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. 콘솔에서 Eventarc로 이동합니다.

    Eventarc로 이동

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

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

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

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

    리소스 관리로 이동

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

다음 단계