개발 이모저모

Prodmethues Metrics.. 개발을 하시거나 Devops 업무를 해보셨던분들이라면 한번쯤 들어봤을 단어이다. 아래 그림은 Prometheus 에서 제공해주는 공식 이름이다. 로직을 가장 잘 표현해주는 그림인것 같아서 가지고 왔다. Promethues가 뭔가요? Prometheus는 오픈소스 모니터링 솔루션으로, 모니터링 분야에서 가장 가장 그리고 넓게 사용되는 시스템이다. CPU, Mem, DB Connection, HTTP request count 등 모니터링이 필요한 부분을 Metrics으로 만들어서 모니터링한다. 구성은 Promethues Server + Metrics 정보를 노출한 Export Node로 구성된다. Server : 실제 Metrics을 수집하는 서버이고, 일반적으로 P..
이전 게시물에서 doka에 대한 간략한 설명을 했다. [go] 내가 만든 kafka-connector to kinesis, 통칭 doka-connector Golang으로 공부를 하던찰나, 이제 드디어 공부하던것이 빛을 발할때가 왔다! 통칭 doka-connector, dobby-kafka-connector이다 왜 doka를 만들었을까? 데이터팀에서 최근 개발팀에 MSK에 특정 토픽에 메시지를 dobby-isfree.tistory.com 금요일날 배포를 했고, MSK/Kinesis에 문제가 없어서 퇴근을 했다. 그리고 주말이 지났는데.. 월요일날 확인해보니 MSK에서 Offset은 업데이트가 되고 있었는데 Kinesis에는 데이터가 안들어오는 문제가 발생했다. 그리고 로그를 확인하면 아래와 같이 Put ..
Golang으로 공부를 하던찰나, 이제 드디어 공부하던것이 빛을 발할때가 왔다! 통칭 doka-connector, dobby-kafka-connector이다 왜 doka를 만들었을까? 데이터팀에서 최근 개발팀에 MSK에 특정 토픽에 메시지를 만들어 달라고 요청을 했다. 그리고 해당 메시지를 S3에 적재하고 싶어했다. 처음에는 MSK에 메시지를 쌓으면 데이터팀 S3에 적재할 수 있겠다. 쉽겠다.라고 생각했는데 여기에는 생각치 못한 문제가 있었다. 개발/데이터 Account가 분리되어 있다. 그리고 Account끼리 VPC 피어링/TransitGateway 연결이 안되어 있다. MSK는 Private Subnet에 배포되어 있어 CrossAccount에서 접근할 수가 없다. 그래서 MSK의 메시지를 AWS ..
올해 보안팀에서 Devops팀으로 업무 전환을 하였다. 보안팀에서는 보통 python 또는 bash로 대다수의 업무를 처리했었고, 특히 자동화에 대한 부분도 대부분 python으로 처리하였다. 근데 Devops팀으로 업무를 변경하고 1년정도 이제 업무를 하다보니.. Golang에 대한 필요성이 점점 많아지는것 같다. Golang이 무엇인지, 어떤 특성이 있는지는 다른분들이 아주 자세히 설명해주었기에 그런부분을 제외하고 Devops팀에서 왜 Golang 공부를 해야하는지?에 대한 내 나름의 생각을 정리해보자! 내가 더 발전하기 위해서는 Golang 공부가 필요하다! 처음에는 대부분 인프라 관리 그리고 좋은 오픈소스 도입에 초점을 맞춰서 업무를 진행했기 때문에 개발에 대한 니즈가 크지 않았다. 요구사항이 있..
Python을 활용한 업무의 일부를 공유하는 게시물입니다. 아직 공부하는 입장이기에 부족한 부분이 있을 수 있습니다. 지적해주시면 적극 반영하도록 하겠습니다. 퍼가시거나, 업무에서 도움이 되었다면 댓글 하나씩 부탁드립니다 :) 감사합니다. Summary 대외에 공개하는 CloudFront 또는 ALB는 WAF 등으로 접근제한 또는 Managed Rule을 사용하는 경우가 많다. 이때 각 리소스별로 WAF 연결이 누락된게 없는지 확인하기 위한 코드이다. - 최종적으로는 아래 코드로 WAF 연결이 누락된 CloudFront 또는 ALB 리소스를 확인해서 Slack으로 알람을 받고 알람을 받을 때 대응을 해주는 프로세스로 가면 될 것 같다. - check_alb_waf_usage 함수의 경우 WAFv2에서 리..
Python을 활용한 업무의 일부를 공유하는 게시물입니다. 아직 공부하는 입장이기에 부족한 부분이 있을 수 있습니다. 지적해주시면 적극 반영하도록 하겠습니다. 퍼가시거나, 업무에서 도움이 되었다면 댓글 하나씩 부탁드립니다 :) 감사합니다. Summary Trivy 점검 코드의 전체적인 로직은 ECR Image를 다운로드 받고 > 취약점 점검을 하고 > 이미지를 삭제하는것으로 한다. - 물론 사전에 코드를 구동하는 환경에 Trivy 패키지를 설치한다. 실행하면 ECR Repo.txt로 각 Repo의 취약점 점검 결과를 받을 수 있으며 Trivy는 많은 옵션이 있으므로 필요한 부분은 수정하면 된다. #! /usr/bin/python3 #ECR LOGIN aws ecr get-login-password --r..
Python을 활용한 업무의 일부를 공유하는 게시물입니다. 아직 공부하는 입장이기에 부족한 부분이 있을 수 있습니다. 지적해주시면 적극 반영하도록 하겠습니다. 퍼가시거나, 업무에서 도움이 되었다면 댓글 하나씩 부탁드립니다 :) 감사합니다. Summary NACL_ID를 입력받아서 해당 NACL에 지정된 IP/Port 기반으로 차단 정책을 넣는 코드이다. NACL_ID, def change_nacl에서 CidrBlock, PortRange를 변경하여 사용하면 된다. #! /usr/bin/ python3 from multiprocessing.sharedctypes import Value import boto3 from requests import session import re #Define AWS Acco..
Python을 활용한 업무의 일부를 공유하는 게시물입니다. 아직 공부하는 입장이기에 부족한 부분이 있을 수 있습니다. 지적해주시면 적극 반영하도록 하겠습니다. 퍼가시거나, 업무에서 도움이 되었다면 댓글 하나씩 부탁드립니다 :) 감사합니다. Summary workspace_id를 입력받아서 해당 workspace의 사용자 + 마지막 사용일자를 구하는 코드이다. 그리고 각 정보를 check_workspace_use-yyyy-mm-dd 파일명의 Output으로 생성된다. #!/usr/bin/python3 import boto3 import json from datetime import datetime import sys #Define AWS Account Profile PROFILES = 'service-na..
Python을 활용한 업무의 일부를 공유하는 게시물입니다. 아직 공부하는 입장이기에 부족한 부분이 있을 수 있습니다. 지적해주시면 적극 반영하도록 하겠습니다. 퍼가시거나, 업무에서 도움이 되었다면 댓글 하나씩 부탁드립니다 :) 감사합니다. Summary 어떤 파일이 있을 때, 해당 파일의 악성/정상 유무를 확인하기 가장 손 쉬운 방법은 VirusTotal에 MD5 기준으로 질의하는 것이다. 하지만, 확인해야되는 파일 개수가 너무 많으면 사람이 처리할 수 없고, 이때 VirusTotal API를 사용하면 아주아주 편하다. EXE 파일로 변환하면 아래와 같은 과정으로 File Hash를 읽고, 이를 통해 악성코드 유/무를 확인한다. 1. 특정 경로에 위치한 txt 파일을 불러오기 2. 해당 txt 파일에서 ..
Kobby
'개발 이모저모' 카테고리의 글 목록