목록네트워크 캠퍼스/3차 프로젝트 (24)
Information Security Study

서버 하나에만 배포하는 코드pipeline { tools { gradle "GRADLE" } agent any stages { stage('Clone') { steps { git branch: 'main', url: 'git 레포지토리' } } stage('Build') { steps { sh './gradlew clean build' sh 'pwd' sh 'ls' sh 'cd build' sh 'pwd' ..

현재 이 글은 a 가용영역의 app1만 구현한 상황이다. 서버 내 로그 관리 정책 수립 및 구현로그 자체는 애플리케이션에서 기록하지만 실제 관리는 리눅스에서 하기 때문에 애플리케이션 서버에서 생성한 로그를 리눅스에서 적절하게 처리하도록 만들기 어렵다. 이번 실습으로 크론탭에 등록해 로그를 처리할 수 있도록 구현할 것이다. 작업 개요시간대별 로그에서 타입별 로그를 추출하고 분석계 전달을 위해 날짜별 단위로 통합하기 예시 코드# 1. 작업 경로 설정bk_dir="{로그 백업본(직접 작업X) 보관 경로}"work_dir="{로그 취합 작업 수행을 위한 2차백업 및 편집 경로}"mkdir $work_dir# 2. 작업 대상 날짜 설정 (리스트로 여러 날짜 지정 후 순회 필요)work_target_ymd="{..

웹훅 설정하기애플리케이션에서 변동사항 발생 시 젠킨스에서 자동으로 빌드할 수 있도록 웹훅 설정을 할 것이다.웹훅을 설정하기 위해서는 rsa 키가 필요하고 jenkins credential과 github repository에 deploy key를 등록하는 과정이 필요하다. 새 파이프라인 아이템 생성 후 구성으로 들어가서 commit change 발생 시 젠킨스에서 자동으로 빌드될 수 있도록 GitHub hook trigger for GITScm polling 옵션을 선택한다. 깃허브 레포지토리를 연동하기 위해서는 rsa 키가 필요하다.rsa 키 발급 및 설정은 이전 게시글에 자세히 나와있다. https://gayeon-l.tistory.com/443 인스턴스 설정하기인스턴스 설정하기 인스턴스는 위와..

그라파나-프로메테우스로 인스턴스가 종료됐을 경우 알람 받기퍼블릭 서브넷에 있는 모니터링 인스턴스에 있는 프로메테우스가 프라이빗 서브넷에 있는 app1 인스턴스의 애플리케이션의 상태를 확인한다. 이때 애플리케이션의 상태는 up 메트릭으로 확인한다. 상태값이 1인 경우 정상 동작, 0인 경우 종료된 애플리케이션이다. 값이 1미만일 경우 애플리케이션이 중지 또는 종료되었다는 메일을 보낼 수 있도록 설정할 것이다. 알람을 보내기 위해 Alert rules 탭으로 들어간다. 알람 이름 설정 후 사용할 메트릭과 filters를 선택한다.run queries로 쿼리문이 잘 작동하는지 확인한다. 그 아래에 threshold에서는 알람 발송 조건을 지정할 수 있다.input A는 위에서 설정한 쿼리문의 결과값..

프로메테우스 커스텀 매트릭 생성 및 조회하기 이전 글 이어서 실습! https://gayeon-l.tistory.com/441 프로메테우스 커스텀 매트릭 생성 및 조회하기프로메테우스 커스텀 매트릭 생성 및 조회하기 프로메테우스는 기본적으로 설치된 인스턴스 내지는 타겟 인스턴스의 기본 메트릭을 얻어온다.하지만 특정 애플리케이션에서 사용자가 원하는gayeon-l.tistory.com a-public-monitoring의 프로메테우스 설정 파일에 위와 같이 상태를 확인하고자 하는 애플리케이션의 주소를 작성한다.targets에는 애플리케이션의 주소와 포트번호를 작성해야 한다. 설정파일 수정 후 꼭 재시작을 해줘야 한다.재시작을 안했더니 반영이 안돼서 고생을 좀 했다.. 엔드포인트에 접속이 된 걸 브라..

파이프라인을 사용하기 위한 설정젠킨스에서 파이프라인 사용 시 빌드를 편하게 사용하기 위해 Gradle 설정을 할 것이다. _Global_Tool_Configuration" style="background-color: #ffffff; color: #000000; text-align: left;" data-ke-size="size16">젠킨스 관리 > Global Tool Configuration 로 들어가Gradle의 이름과 버전을 설정한다. 파이프라인 스크립트 실행 시 Stage를 한 눈에 보기 위해 위 플러그인을 설치한다. 플러그인을 설치하면 위와 같이 stage 별로 편리하게 볼 수 있다.

인스턴스 설정하기 인스턴스는 위와 같이 생성했다. a-public-monitoring 인스턴스 설정a 가용영역의 애플리케이션들의 정상 작동 여부와 자원 사용량을 모니터링 하기 위해 그라파나와 프로메테우스를 설치한다. 1) 그라파나 설치sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -sudo apt-get updatesudo apt-get install grafanasudo systemctl start grafana-serversudo systemctl enable grafana-server..

서브넷 구조 잡기프로젝트 분리를 위해 새프로젝트 생성하고 구조를 다시 짰다. 전체 구조 VPCvpc를 생성했다. Subnet 가용영역별로 퍼블릭 서브넷 하나, 프라이빗 서브넷 두개를 생성하고인그레스용 서브넷 하나를 생성했다. Internet Gateway 가용영역별로 사용할 인터넷 게이트웨이를 생성했다. Routing라우팅테이블 연결ingress-subnet: a-publica-public: a-publicb-public: b-publica-private: a-privatea-private2: a-privateb-private: b-privateb-private2: b-privatea-igw: a-publicb-igw: b-publica-nat: a-privateb-nat: b-private ..