엔지니어링

Google Dataflow를 사용해 Google Pub/Sub에서 Elastic으로 직접 데이터 수집

오늘 Google Cloud와의 지속적인 파트너십을 통해 이루어진 최신 개발 정보를 알려드리게 되어 기쁘게 생각합니다. 이제 개발자, 사이트 안정성 엔지니어(SRE) 및 보안 분석가는 Google Cloud Console에서 클릭 몇 번만으로 Google Pub/Sub에서 Elastic Stack으로 데이터를 수집할 수 있습니다. Elastic은 Google Dataflow 템플릿을 활용하여 Google Cloud Audit, VPC Flow 또는 방화벽과 같은 Google Cloud 서비스의 이벤트 및 로그를 Elastic Stack으로 쉽게 스트리밍할 수 있습니다. 이를 통해 고객은 데이터 파이프라인 아키텍처를 단순화하고 운영 오버헤드를 제거하며 문제 해결에 필요한 시간을 줄일 수 있습니다.

Google Cloud를 사용해 애플리케이션을 개발하고 인프라를 설정하는 많은 개발자, SRE 및 보안 분석가들도 Elastic Stack을 사용하여 보안 이상 징후를 해결하고 모니터링하며 파악합니다. Google과 Elastic은 함께 협력하여 Google Cloud 서비스의 애플리케이션 및 인프라에서 Elastic으로 로그와 이벤트를 수집하는 사용하기 쉽고 원활한 방법을 제공하게 되었습니다. 데이터 수집기를 설치하지 않고도 이 모든 것을 Google Cloud Console에서 클릭 몇 번만으로 가능합니다.   

이 블로그 게시물에서는 Google Dataflow를 사용하여 Google Pub/Sub에서 Elastic Stack으로 에이전트 없는 데이터 수집을 시작하는 방법에 대해 설명합니다.

오버헤드 건너뛰기

Pub/Sub은 Google Operations(구 Stackdriver), Google Cloud 서비스를 사용해 구축된 애플리케이션 또는 스트리밍 데이터 통합 파이프라인을 포함하는 기타 사용 사례에서 데이터를 스트리밍하기 위해 사용되는 인기 있는 서버리스 비동기 메시징 서비스입니다. Elastic Stack과 같은 서드파티 분석 솔루션에 대한 Google Cloud Audit, VPC Flow 또는 방화벽 로그를 수집하려면 먼저 이러한 로그를 Google Operations에 보낸 다음 Pub/Sub으로 전송해야 합니다.  로그가 Pub/Sub에 있으면, Google Cloud 사용자는 Google Pub/Sub에 저장된 메시지를 서드파티 분석 솔루션으로 전송하기 위한 수집 방법을 결정해야 합니다.

Google과 Elastic 공동 사용자에게 널리 사용되는 옵션은 Google Compute Engine VM(가상 머신)에 Filebeat, Elastic Agent 또는 Fluentd를 설치한 다음 이러한 데이터 수집기 중 하나를 사용하여 Pub/Sub에서 Elastic Stack으로 데이터를 전송하는 것입니다. VM을 프로비저닝하고 데이터 수집기를 설치하려면 프로세스 및 관리 오버헤드가 필요합니다. 이 단계를 건너뛰고 Pub/Sub에서 Elastic으로 직접 데이터를 수집하는 기능은 특히 Google Cloud Console에서 클릭 몇 번으로 데이터를 수집할 수 있는 경우 많은 사용자에게 유용합니다. 이제 이것이 Google Dataflow의 드롭다운 메뉴를 통해 가능합니다.

데이터 수집 간소화

Google Dataflow는 Apache Beam을 기반으로 하는 서버리스 비동기 메시징 서비스입니다. Filebeat 대신 Dataflow를 사용하여 Google Cloud Console에서 직접 로그를 전송할 수 있습니다. Google과 Elastic 팀은 함께 협력하여 Pub/Sub에서 Elastic으로 로그와 이벤트를 푸시하기 위한 즉시 사용 가능한 Dataflow 템플릿을 개발하게 되었습니다. 이 템플릿은 이전에 서버리스 방식으로 Filebeat가 완료한 데이터 형식 변환과 같은 가벼운 처리를 대체하며, 이전에 Elasticsearch 수집 파이프라인을 사용한 사용자에 대한 다른 변경 사항은 없습니다.          

다음은 데이터 수집 흐름의 요약입니다. 통합은 Elastic Cloud의 Elastic Stack을 사용 중이든, Google Cloud Marketplace의 Elastic Cloud를 사용 중이든 또는 자체 관리 환경을 사용 중이든, 모든 사용자에게 적용됩니다.

blog-gcp-integration-pubsub-1.png

시작하기

이 섹션에서는 Elastic Stack의 GCP 감사 로그를 분석하기 위한 Dataflow 템플릿을 시작하는 방법에 대한 단계별 튜토리얼을 살펴보겠습니다.

감사 로그에는 Google Cloud 계정에서 발생하는 운영 변경 사항의 "어디에서, 어떻게, 언제"에 대한 질문에 대답하는 데 도움이 되는 정보가 포함되어 있습니다. Pub/Sub 템플릿을 사용하면 감사 로그를 GCP에서 Elasticsearch로 스트리밍하고 몇 초 안에 인사이트를 수집할 수 있습니다. 

먼저 Kibana 웹 UI에서 Elastic GCP 통합을 설치합니다. 여기에는 미리 빌드된 대시보드, 수집 노드 구성 및 사용자가 수집하는 감사 로그를 최대한 활용할 수 있는 기타 자산이 포함되어 있습니다. 

Dataflow 템플릿을 구성하기 전에, Google Operations Suite에서 로그를 보낼 수 있는 Google Cloud Console에서 Pub/Sub topic and subscription을 만들어야 합니다.

blog-gcp-integration-pubsub-2.png

그런 다음 Google Cloud Console로 이동하여 Dataflow 작업을 구성합니다. 

Dataflow 제품에서 "Create from template"을 클릭하고 Dataflow template 드롭다운 메뉴에서 "Pub/Sub to Elasticsearch"를 선택합니다.

blog-gcp-integration-pubsub-3.png

클라우드 ID 및 Elasticsearch를 위한 Base64 인코딩 API 키를 포함하여 필요한 매개 변수를 입력합니다. 감사 로그를 스트리밍하고 있으므로, 로그 유형 매개 변수로 "audit"을 추가합니다. 클라우드 ID는 아래와 같이 Elastic Cloud UI에서 확인할 수 있습니다. API 키는 Create API key API를 사용하여 생성할 수 있습니다.

blog-gcp-integration-pubsub-4.png

blog-gcp-integration-pubsub-5.png

“Run Job”을 클릭하고 Dataflow가 템플릿을 실행할 때까지 기다립니다. 이 작업은 몇 분 정도 걸립니다. 보시다시피 Google Cloud Console을 나가거나 에이전트를 관리할 필요가 없습니다!

이제 Kibana로 이동하여 로그가 [Logs GCP] 대시보드에서 구문 분석 및 시각화되었는지 확인해 보세요.

blog-gcp-integration-pubsub-6.png

결론

Elastic은 끊임없는 개발을 통해 고객이 보다 쉽고 원활하게 원하는 곳에서 실행하고 원하는 것을 사용할 수 있도록 지원하고 있습니다. Google Cloud와의 이러한 간소화된 통합이 그 가장 최근의 예입니다. Elastic Cloud는 Elastic Stack의 가치를 확장하여 고객이 더 많은 것을, 더 빨리 할 수 있도록 하며, 이것은 고객이 플랫폼을 경험할 수 있는 가장 좋은 방법입니다. 통합에 대한 자세한 정보는 Google의 설명서를 참조하세요. Google Cloud에서 Elastic을 사용하려면 Google Cloud Marketplace 또는 elastic.co를 방문하세요.