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

젠킨스와 ansible 연동 후 플레이북 실행하기무중단 배포시 처음 배웠던 publish over ssh 기능을 활용하면젠킨스에서 스크립트를 날릴 수 있으니 결론적으로는 연동해서 좀 더 편리하게 파이프라인을 구축할 수 있다. 이 경우는 젠킨스는 ansible master에게 명령을 내리고ansible master가 다시 managed node에 명령을 내리는 식으로 두 단계를 거쳐 수행하게 된다. 이 부분은 젠킨스보다는 ansible쪽에서 그룹지정이나 인스턴스 지정이 용이하기 때문에 빛을 발한다.같은 인스턴스에 ansible과 jenkins를 설치해서 사용하기도 한다.(이 경우는 localhost가 타겟이 된다.) 먼저 publish over ssh 모듈을 설치한다. 스크립트 전송 세팅이 되었다면 이제..

ansible galaxy로 원하는 롤, 콜렉션 찾기앤서블 갤럭시는 많은 사람들이 자신이 작성한 롤(플레이북의 집합)을 업로드하고 공유하는 곳이다.일종의 저장소라고 볼 수 있으며 검증되지 않은 롤도 많이 올라오는 만큼 되도록이면 확인 후 사용하는것이 좋다. 우분투에서 자바를 설치하는 구문을 설명하고 있다. 해당 role을 다운 받는 명령이다.-p는 작업 폴더에 다운하라는 태그다. roles 디렉터리 > 4ARMED.java8 디렉터리 > tasks 디렉터리로 들어가면 main.yml이 있다. ubuntu@a-public-instance:~/roles/4ARMED.java8/tasks$ cat main.yml---- name: Install Java 8 apt: name={{item}} st..

엔서블 플레이북Ansible 플레이북(Playbook)은 자동화 작업을 정의하고 실행하는 방법을 제공하는 YAML 기반의 파일이다.플레이북은 여러 호스트에 걸쳐 복잡한 작업들을 실행하기 위해 사용되며 단순 명령의 실행보다는 더 구조화되고 유연한 자동화 시나리오를 지원한다. 플레이(Play)플레이북은 여러 개의 "플레이"(play)로 구성된다. 각 플레이는 특정 호스트에 대한 작업을 정의한다.플레이는 어떤 호스트에서 어떤 작업을 실행할지 지정하는 기본 단위다.한 플레이에서 여러 작업을 순서대로 실행할 수 있다. 태스크(Task)각 플레이는 여러 개의 태스크로 구성된다.태스크는 실제로 실행될 작업을 나타내며 주로 특정 Ansible 모듈을 호출한다.태스크는 각 호스트에서 순차적으로 실행되며 상태를 변경하는 ..
앤서블 개요IT 인프라를 자동화하고 관리하는 도구로 주로 설정 관리(Configuration Management), 애플리케이션 배포, 작업 자동화 및 오케스트레이션 등을 위해 사용한다. 1. 앤서블의 기본 개념에이전트리스(Agentless)앤서블의 가장 큰 특징 중 하나는 에이전트리스라는 점이다.앤서블을 사용하려면 별도의 소프트웨어 에이전트를 관리 대상 시스템에 설치할 필요가 없다.SSH 프로토콜을 통해 원격으로 시스템에 접근하여 작업을 수행하므로 대상 서버에 SSH 접근 권한만 있으면 된다.데클러러티브(declarative) 방식앤서블은 "무엇을" 해야 하는지를 명확히 기술하는 선언형 방식으로 동작한다.ex) 서버에 특정 패키지를 설치하거나 특정 파일의 내용이 어떻게 되어야 하는지를 정의하면 앤서블은..
ISMSInformation Security Management System의 약자로 한국에서는 주로 정보보호 관리체계다.조직의 정보 자산을 보호하기 위한 체계적인 관리 시스템이다.국제 표준 ISO/IEC 27001을 기반으로 하는 정보보호 프레임워크다.ISMS는 주로 정보보호를 위해 필요한 절차와 과정을 수립하고 운영함으로써 조직의 중요한 정보 자산이 외부 공격이나 내부의 부주의로부터 안전하게 보호되도록 한다. 1. 위험 분석 및 관리위협 식별조직의 정보 자산에 어떤 위협이 존재하는지 분석하고 평가한다.ex) 해킹 시도, 악성코드, 내부자 유출 등을 파악위험 평가식별된 위협들이 얼마나 심각한지 평가하고 우선순위를 설정한다.위험 완화 조치평가된 위험에 대해 적절한 대응책을 마련하고 적용한다.ex) 보안 ..

failover 동작 원리와 실습하기 failover IT 시스템에서 장애가 발생했을 때 서비스 중단을 최소화하기 위해 예비 시스템으로 자동으로 전환하는 메커니즘고가용성(High Availability)을 보장하기 위한 중요한 기술시스템이 장애를 겪을 때 서비스가 지속적으로 운영되도록 함 작동 원리주(primary) 시스템과 대기(standby) 시스템의 구성주 시스템이 정상적으로 작동하는 동안 대기 시스템은 준비 상태로 유지주 시스템에 장애가 발생하면 대기 시스템으로 자동으로 전환시스템 중단 시간 최소화 failover 테스트시스템이 예상치 못한 장애를 겪었을 때 예비 시스템(대기 시스템)이 정상적으로 작동하여 주 시스템을 대체할 수 있는지를 확인하는 절차시스템의 고가용성을 보장하기 위해 정기적으로..

트래픽 폭주 제어하기 스트레스 테스트를 하기 위한 시나리오를 작성했다.시나리오에 따라 예상 트래픽을 스트레스 테스트로 발생시키시고 그에 맞춰서 확충해야 하는 서버 대수를 추론할 것이다.스트레스 테스트에는 서버 두 대를 사용할 것이다. Artillery 스크립트config: target: "http://ingress-nginx의 ip" # 타겟 서버 URL 설정 phases: - duration: 30 arrivalRate: 100 name: "warm up" - duration: 30 arrivalRate: 500 name: "initial peak" - duration: 60 arrivalRate: 1000 name: "h..

federation 심화 - 인스턴스별로 라벨처리하기 Instance 구분과 외부 라벨Instance Label (instance): Prometheus의 기본적인 라벨로 보통 모니터링하는 대상의 주소(예: localhost:8080)가 들어간다. 이 라벨은 특정 인스턴스를 구분하는 데 사용된다. 하지만 Federation의 동작 원리는 Instance 구분을 어렵게 한다.Federation에서 상위 Prometheus는 하위 Prometheus에서 특정 시리즈(메트릭)를 가져온다. 이때, 하위 Prometheus에서 데이터가 상위 Prometheus로 전달될 때 하위 Prometheus의 instance 라벨 값이 유지되지 않거나 localhost로 통일되는 경우가 발생할 수 있다. 이는 하위 Prom..