Infra

    nginx를 이용한 Node exporter basic auth (feat.prometheus)

    Node-exporter는 Prometheus 모니터링에 쓰이는 컴포넌트중 하나입니다. 우리가 서버를 운영하다 보면, 하드웨어및 OS 리소스 등을 모니터링 해야 할 필요가 생깁니다. 그라파나-프로메테우스로 모니터링 하는 환경이라면 Node-Exporter를 사용하여 시스템 메트릭을 수집할 수 있습니다. 그런데, VPC등으로 네트워크 보안 등을 제한하지 않은 상태에서 그라파나나 프로메테우스로 메트릭을 수집하게 되면 이 경우, 누구나 접근 가능한 엔드포인트를 통해 중요한 서버 메트릭을 조회할 수 있게 되어, 보안에 취약점이 발생할 수 있습니다. VPC나 방화벽 등을 사용할 수 없을 때, 다른 네트워크에 있는 Node-Exporter 등과 같은 컴포넌트의 정보를 가져와야 한다면 모든 네트워크에서 접속할 수 있..

    CI / CD란 ?

    CI/CD란 매번 개발자가 코드를 수정하고 빌드와 테스트를 하고 배포까지 한다면 상당히 많은 시간이 소요된다. 그러나 빌드와 테스트, 배포과정을 개발자가 직접하는것이 아니라면 쓸데없는 시간을 단축시키고 개발에 더 많은 시간을 투자할 수 있다. CI/CD는 애플리케이션 개발팀이 더 자주, 안정적으로 코드 변경을 좀 더 효율적이고 빠르게 사용자에게 제공하기 위해 사용한다. CI/CD의 개념만으로는 자동화와 직접적으로 관련이 있지는 않다. 그럼에도 자동화라는 키워드는 CI/CD라는 단어에 거의 항상 따라붙는다. 또한 CI/CD는 DevOps 엔지니어의 핵심 업무라고 불리기도 한다. 이 부분을 도와주는 CI / CD의 개념에 대하여 정리하고자 한다. CI (Continuous integration, CI) : ..

    컴파일(Compile), 빌드(Build), 배포(Deploy) 용어 관련 정리

    컴파일 (Compile) 이란? 개발자(사용자)가 작성한 소스 코드를 컴퓨터가 이해할 수 있는 언어로 번역하는일. Java, C, Kotlin와 같은 고급 언어로 작성된 코드를, 컴퓨터가 이해할 수 있게 기계어로 변환하는 과정 컴파일을 해주는 프로그램을 컴파일러라고 한다. 예) Java 파일 컴파일 과정 Java 파일 생성시 .java 확장명을 가진 파일이 생성. 해당 .java파일을 컴파일 시 .class 파일이 생성 해당 클래스명을 확장자를 제거하고 입력시 해당 파일이 실행된다. IDE를 사용하여 실행(run)시 해당 .java 파일은 컴파일되어 .class 파일을 생성하고 해당 파일을 실행시킨다. 빌드 (Build) 란? 컴파일된 코드와 파일들을 컴퓨터가 실행할 수 있는 상태로 변환하는것 소스 코드..