로드 중...
검색 결과가 없습니다.

Google Cloud 콘솔에서 기술 적용

06

Building Resilient Streaming Analytics Systems on Google Cloud - 한국어

700개 이상의 실습 및 과정 이용하기

스트리밍 데이터 처리: Pub/Sub에 스트리밍 데이터 게시

실습 2시간 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
700개 이상의 실습 및 과정 이용하기

개요

Google Cloud Pub/Sub는 독립적인 애플리케이션 간에 메시지를 주고받을 수 있도록 하는 완전 관리형 실시간 메시징 서비스입니다. Cloud Pub/Sub를 사용하여 여러 소스에 데이터를 게시하고 여러 소스의 데이터를 구독한 다음, Google Cloud Dataflow를 사용하여 데이터를 실시간으로 파악할 수 있습니다.

이 실습에서는 트래픽 센서 데이터를 Pub/Sub 주제로 시뮬레이션한 후, Dataflow 파이프라인으로 처리하고, 마지막으로 추가 분석을 위해 BigQuery 테이블로 내보냅니다.

참고: 이 문서를 작성할 당시에는 Dataflow Python SDK에서 스트리밍 파이프라인을 사용할 수 없었습니다. 따라서 스트리밍 실습이 Java로 작성되었습니다.

목표

이 실습에서는 다음 작업을 수행합니다.

  • Pub/Sub 주제 및 구독 만들기
  • Pub/Sub로 트래픽 센서 데이터 시뮬레이션

설정

각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.

  1. 시크릿 창을 사용하여 Qwiklabs에 로그인합니다.

  2. 실습 사용 가능 시간(예: 1:15:00)을 참고하여 해당 시간 내에 완료합니다.
    일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.

  3. 준비가 되면 실습 시작을 클릭합니다.

  4. 실습 사용자 인증 정보(사용자 이름비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.

  5. Google Console 열기를 클릭합니다.

  6. 다른 계정 사용을 클릭한 다음, 안내 메시지에 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
    다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.

  7. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.

작업 1. 준비

학습용 VM에서 센서 시뮬레이터를 실행해야 합니다. 이 환경에는 파일이 여러 개 포함되어 있으며, 환경의 일부를 설정해야 합니다.

SSH 터미널을 열고 학습용 VM에 연결하기

  1. 콘솔의 탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. training-vm 인스턴스가 있는 줄을 찾습니다.
  3. 맨 오른쪽에 있는 연결에서 SSH를 클릭하여 터미널 창을 엽니다.
  4. 이 실습에서는 training-vm에 CLI 명령어를 입력합니다.

초기화가 완료되었는지 확인하기

  • training-vm이 백그라운드에서 몇 가지 소프트웨어를 설치합니다. 새 디렉터리의 내용을 검토하여 설정이 완료되었는지 확인합니다.
ls /training

나열(ls) 명령어 결과가 아래 이미지와 같이 표시되면 설정이 완료된 것입니다. 전체 목록이 표시되지 않는 경우 몇 분 정도 기다린 후 다시 시도하세요. 참고: 모든 백그라운드 작업이 완료되려면 2~3분 정도 걸립니다.

코드 저장소 다운로드하기

  • 다음으로 이 실습에서 사용할 코드 저장소를 다운로드합니다.
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

프로젝트 식별하기

설정할 환경 변수 하나는 $DEVSHELL_PROJECT_ID로, 여기에 청구 가능한 리소스에 액세스하는 데 필요한 Google Cloud 프로젝트 ID를 포함합니다.

  1. 콘솔의 탐색 메뉴()에서 을 클릭합니다. 프로젝트 정보 패널에 프로젝트 ID가 목록으로 표시됩니다. 이 정보는 '연결 세부정보' 아래 Qwiklabs 탭에서도 찾을 수 있으며 GCP 프로젝트 ID로 라벨이 지정되어 있습니다.
  2. training-vm SSH 터미널에서 DEVSHELL_PROJECT_ID 환경 변수를 설정하고 다른 셸에서 사용할 수 있도록 내보냅니다. 다음 명령어를 실행하면 Google Cloud 환경에서 활성 프로젝트 ID를 가져올 수 있습니다.
export DEVSHELL_PROJECT_ID=$(gcloud config get-value project)

작업 2. Pub/Sub 주제 및 구독 만들기

  1. training-vm SSH 터미널에서 이 실습에 해당하는 디렉터리로 이동합니다.
cd ~/training-data-analyst/courses/streaming/publish

gcloud 명령어를 사용하여 Pub/Sub 서비스가 액세스 가능하며 정상 작동하는지 확인하기

  1. 주제를 만들고 간단한 메시지를 게시합니다.
gcloud pubsub topics create sandiego
  1. 간단한 메시지를 게시합니다.
gcloud pubsub topics publish sandiego --message "hello"
  1. 주제에 대한 구독을 만듭니다.
gcloud pubsub subscriptions create --topic sandiego mySub1
  1. 주제에 게시된 첫 번째 메시지를 가져옵니다.
gcloud pubsub subscriptions pull --auto-ack mySub1

결과가 표시되나요? 아니라면 그 이유는 무엇인가요?

  1. 다른 메시지를 게시한 다음, 구독을 사용하여 가져와 봅니다.
gcloud pubsub topics publish sandiego --message "hello again" gcloud pubsub subscriptions pull --auto-ack mySub1

이번에는 응답을 받았나요?

출력:

내 진행 상황 확인하기를 클릭하여 목표를 확인합니다. Pub/Sub 주제 및 구독 만들기

  1. training-vm SSH 터미널에서 구독을 취소합니다.
gcloud pubsub subscriptions delete mySub1

작업 3. Pub/Sub로 트래픽 센서 데이터 시뮬레이션하기

  1. San Diego 트래픽 센서 데이터를 시뮬레이션하는 Python 스크립트를 살펴봅니다. 코드를 변경하지 마세요.
cd ~/training-data-analyst/courses/streaming/publish nano send_sensor_data.py

시뮬레이션 함수를 살펴보겠습니다. 이 함수는 트래픽 센서가 실시간으로 데이터를 Pub/Sub에 보내고 있는 것처럼 스크립트가 동작하게 만듭니다. speedFactor 매개변수는 시뮬레이션의 진행 속도를 결정합니다. Ctrl+X를 눌러 파일을 종료합니다.

  1. 트래픽 시뮬레이션 데이터 세트를 다운로드합니다.
./download_data.sh

스트리밍 센서 데이터 시뮬레이션하기

  1. send_sensor_data.py를 실행합니다.
./send_sensor_data.py --speedFactor=60 --project $DEVSHELL_PROJECT_ID

이 명령어를 사용하면 Pub/Sub 메시지를 통해 기록된 센서 데이터를 보내 센서 데이터를 시뮬레이션할 수 있습니다. 스크립트는 센서 데이터의 원래 시간을 추출하고 각 메시지를 보내는 사이에 일시중지함으로써 센서 데이터의 전송 속도를 사실적으로 시뮬레이션합니다. speedFactor 값은 메시지 사이의 시간을 비례식으로 변경합니다. 따라서 speedFactor의 값이 60이면 기록된 시간보다 '60배 더 빠르다'는 의미이며, 60초마다 약 1시간 분량의 데이터를 보냅니다.

이 터미널을 열어 두고 시뮬레이션을 실행 중인 상태로 둡니다.

작업 4. 메시지가 수신되었는지 확인하기

두 번째 SSH 터미널을 열고 학습용 VM에 연결하기

  1. 콘솔의 탐색 메뉴()에서 Compute Engine > VM 인스턴스를 클릭합니다.
  2. training-vm 인스턴스가 있는 줄을 찾습니다.
  3. 맨 오른쪽에 있는 연결에서 SSH를 클릭하여 두 번째 터미널 창을 엽니다.
  4. 작업 중이던 디렉터리로 변경합니다.
cd ~/training-data-analyst/courses/streaming/publish
  1. 주제에 대한 구독을 만들고 가져오기를 수행하여 메시지가 수신되고 있는지 확인합니다(참고: 메시지가 표시되도록 하려면 'pull' 명령어를 두 번 이상 실행해야 할 수 있음).
gcloud pubsub subscriptions create --topic sandiego mySub2 gcloud pubsub subscriptions pull --auto-ack mySub2
  1. 트래픽 센서 정보가 포함된 메시지가 보이는지 확인합니다.

  1. 이 구독을 취소합니다.
gcloud pubsub subscriptions delete mySub2
  1. 두 번째 터미널을 닫습니다.
exit

센서 시뮬레이터 중지하기

  1. 첫 번째 터미널로 돌아갑니다.
  2. Ctrl+C를 입력하여 게시자를 멈춤으로써 시뮬레이터를 중지합니다.
  3. 첫 번째 터미널을 닫습니다.
exit

실습 종료하기

실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.

실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.

별점의 의미는 다음과 같습니다.

  • 별표 1개 = 매우 불만족
  • 별표 2개 = 불만족
  • 별표 3개 = 중간
  • 별표 4개 = 만족
  • 별표 5개 = 매우 만족

의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.

의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.

Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

이전 다음

このリソースへのアクセスが拒否されました。

close

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
미리보기