# powerpipe란?
devops를 위한 dashboard 오픈소스라고 한다.
aws같은 클라우드 서비스들 또는 쿠버네티스, 테라폼 등에 대한 보안 컴플라이언스/비용 매니징/여러 인사이트 등을 대시보드로 제공한다.
너무 좋아보여서 일단 해봤다.
# 그 전에 steampipe부터
https://github.com/turbot/steampipe
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_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
훨씬 많은 항목들이 생긴 것을 확인할 수 있다.
개인적으로는 도커라이징해서 쿠버에 올려 쓰고 있는데, 그 부분은 다음 글에 올리겠다.
끝!
'공부 > Open Source' 카테고리의 다른 글
[wordpress] Google OAuth 설정 (0) | 2024.04.24 |
---|---|
[GitLab/helm] Google OAuth 붙여서 띄우기 (1) | 2024.04.15 |
[k8s/ingress-nginx/aws] Chart: Add a TargetGroupBinding (2) | 2024.04.04 |
[keycloak/saml2aws] keycloak google user로 aws cli 사용하기 (0) | 2023.11.05 |
[ArgoCD/helm] Github OAuth 붙이기 (0) | 2023.11.05 |
댓글