본문 바로가기
공부/Open Source

[DevOps] powerpipe 써보기

by haejang 2024. 4. 14.
728x90
728x90

 

# powerpipe란?

https://powerpipe.io/

 

Powerpipe | Dashboards for DevOps.

Visualize cloud configurations. Assess security posture against a massive library of benchmarks. Build custom dashboards with code.

powerpipe.io

 

devops를 위한 dashboard 오픈소스라고 한다.

aws같은 클라우드 서비스들 또는 쿠버네티스, 테라폼 등에 대한 보안 컴플라이언스/비용 매니징/여러 인사이트 등을 대시보드로 제공한다.

 

너무 좋아보여서 일단 해봤다.

 

# 그 전에 steampipe부터

https://github.com/turbot/steampipe

 

GitHub - turbot/steampipe: Zero-ETL, infinite possibilities. Live query APIs, code & more with SQL. No DB required.

Zero-ETL, infinite possibilities. Live query APIs, code & more with SQL. No DB required. - turbot/steampipe

github.com

 

steampipe는 같은 회사에서 제공하는 또다른 오픈소스인데, 여러 api 플러그인들을 db table로 변환시켜준다.

powerpipe를 쓰기 위해 반드시 steampipe가 필요한 것은 아니다. 다른 database들을 연동해도 된다고 한다. (https://powerpipe.io/docs/run#selecting-a-database)

그러나 database에 테이블 만들어주고 그런거 매우 귀찮고, 저장되는 데이터가 중요하지도 않기에 그냥 steampipe까지 써보겠다.

 

# steampipe 설치 및 시작

https://steampipe.io/downloads

mac에서는 brew로 설치 가능하다. aws plugin까지 설치해두자.

brew install turbot/tap/steampipe

steampipe plugin install aws
steampipe service start

 

 

# powerpipe 설치 및 시작

별도 폴더가 하나 필요하다. powerpipe용 폴더를 만들고 시작하자.

brew install turbot/tap/powerpipe

mkdir powerpipe  && mv powerpipe
powerpipe mod init
powerpipe mod install github.com/turbot/steampipe-mod-aws-insights
powerpipe server

 

aws insights 모듈을 받고 서버를 띄워보았다. 작업 폴더 내에 mod.pp / .mod.cache.json 파일이 생겨있을 것이다.

브라우저에서 http://localhost:9033 으로 접속해보면

 

 

잘 뜬다. 하지만 default profile만 사용 가능한데, 리전 지정이 안되어있어 자동으로 버지니아만 인식되고 있다.

default profile이 없으면 추가해주고, 리전은 아래와 같이 환경 변수를 설정해주면 된다.

export AWS_REGION=ap-northeast-2

 

근데 steampipe에 이미 프로파일 정보가 저장되어 있어서, 재시작해줘야 리전 정보가 먹힌다.

# steampipe 재시작
steampipe service restart
# powerpipe 시작
powerpipe server

 

 

서울 리전으로 잘 보인다.

여기저기 둘러보다보면, aws console을 그냥 통채로 추상화한것 같기도 한데, 그래프도 잘 그려주는게 기가막힌다.

 

 

iam role detail을 보면, assume role과 policy까지 그래프로 이쁘게 보여준다.

이렇게.. vpc flowlog 없다고 알려주기도 하고...

 

아무튼 잘 만들어놓은 것 같다.

추가로, 이것저것 다른 모듈들도 존재하는데, https://hub.powerpipe.io/ 여기에서 골라 다운받을 수 있다.

난 aws 관련된 것들을 모두 받아보겠다.

- aws_compliance

- aws_well_architected

- aws_thrifty (비용)

- aws_insights (위에서 이미 받은거)

 

각 페이지에서 steampipe / powerpipe 설정을 볼 수 있는데, 모두 다 steampipe엔 aws 플러그인만 설치하면 되므로 생략하고 powerpipe mod 설치만 추가로 하겠다.

powerpipe mod install github.com/turbot/steampipe-mod-aws-compliance
powerpipe mod install github.com/turbot/steampipe-mod-aws-well-architected
powerpipe mod install github.com/turbot/steampipe-mod-aws-thrifty

 

 

 

훨씬 많은 항목들이 생긴 것을 확인할 수 있다.

 

개인적으로는 도커라이징해서 쿠버에 올려 쓰고 있는데, 그 부분은 다음 글에 올리겠다.

 

끝!

 

 

 

728x90
728x90

댓글