일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 앤서블
- 구성관리
- Secret Engine
- SSH OTP
- 유닉스
- auth methods
- DATA 백업
- REST API
- 시스템
- 전체 백업
- 자동화
- VIRT
- 리눅스
- vault agent
- secret engines
- 파일시스템
- hashicorp
- key/value
- SHR
- kv
- 인프라
- 차분 백업
- 커널 파라미터
- 백업
- 통합 풀 백업
- Role
- backend storage
- devops
- Vault
- IAC
- Today
- Total
목록분류 전체보기 (50)
클라우드 아카이브
목표- 생성 패턴이 무엇인지에 대해 간략하게 설명한 뒤에 빌더 패턴에 대해 알아보겠습니다.생성 패턴이란?디자인 패턴에 대해 기초를 닦을 수 있는 대표적인 사이트인 리팩토링 그루(링크)에서는 생성 패턴을 아래와 같이 설명하고 있습니다.생성 패턴들은 기존 코드의 재활용과 유연성을 증가시키는 객체 생성 메커니즘들을 제공합니다.즉 객체 생성 시 객체지향 개발 원칙인 SOLID를 최대한 준수할 수 있음과 동시에 다른 프로젝트 혹은 코드에서 Reusability(재활용성)를 높일 수 있도록 도와주는 디자인 패턴입니다.Builder Pattern (빌더 패턴)빌더 패턴은 객체를 단계 별로 생성할 수 있도록 해주는 생성 패턴입니다.위 말만 봤을 때는 빌더 패턴이 도대체 무엇인지 이해가 안될 수 있습니다. 이해를 돕기..
0. 개요 엔터프라이즈 환경에서 클라우드 시스템을 운영하다보면 VM에 설치될 패키지 관리 혹은 컨테이너 이미지 버전 관리가 중앙에서 관리되지 않는 경우가 있습니다. 따라서 A라는 사용자가 VM/Container 이미지를 생성하여 사내 표준으로 구성하더라도 이를 관리하는 실무자가 퇴사하게 될 경우 관리에 문제가 발생하게됩니다. 각 OS 및 컨테이너를 구성하는 패키지 및 라이브러리 버전을 중앙에서 관리하도록 도와주는 솔루션이 바로 Jfrog Artifactory입니다. 1. Jfrog Artifactory란? Jfrog Arficatory는 이스라엘 출신의 클라우드 소프트웨어 기업인 Jfrog라는 회사에서 개발한 범용 artifact Repository로, 리눅스/유닉스를 비롯하여 도커/쿠버네티스에서 사용하..
0. 개요 실제 회사에서 Vault를 운영하며 조직 구조 변경 혹은 입사자/퇴사자 관리 등을 효과적으로 하기 위해서 각 조직 별 및 서비스 별로 Vault를 별도 구성 및 관리하는 니즈가 발생하게됩니다.(이른바 멀티 테넌트 방식) Vault에서는 이러한 니즈를 충족시키고자 Namespace라는 기능을 개발했으며, 본 컴포넌트를 활용하여 급변하는 비즈니스 환경에 맞춰 시스템 구성을 다변화하도록 지원해줍니다. 본 포스팅에서는 Namespace에 대한 개념 및 특징과 이를 직접 구현해보겠습니다. 1. Namespace란 "Vaults within a Vault" 단일 Vault 서버에 여러 개의 논리적인 그룹으로 나누어 서비스를 제공할 수 있도록 해주는 기능 Vault 서버를 여러 개의 논리적인 환경으로 구성..
0. 개요 단순히 Vault를 학습할 때는 standalone VM 노드에서 Vault를 구축하여 테스트해볼 수 있겠지만, 기업에서 PoC 및 프로덕션 환경에서는 클러스터링을 통해 Vault 무중단 시스템을 구축해야됩니다. Hashicorp에서는 Vault가 Community와 Enterprise인지에 따라 차별화된 클러스터링 기능을 제공하는데요. 본 포스팅에서는 Community를 기준으로 Vault Raft Cluster를 구성하는 내용을 다뤄보겠습니다. Raft Cluster는 Raft 합의 알고리즘을 따르기 때문에 3개 VM 노드를 생성하여 클러스터를 구성하겠습니다. 1. 시스템 구성도 OS : CentOS 7.x Vault : Community Version HA Type : Raft Clust..
0. 개요 개발자와 시스템 운영자가 업무를 수행할 때 SSH Signed RSA 접속, DB 계정 정보 등에 활용되는 비밀 정보를 빈번하게 사용하게 됩니다. 다양한 기업에서는 엑셀 파일 암호화, 자체 자산관리시스템을 활용한 정보 관리 등을 통해 해당 비밀 정보를 효과적으로 관리하기 위해 노력해왔습니다. 하지만 관리 대상 IT 자산이 선형적으로 증가함과 동시에 자산관리시스템 관리에 따른 부담 증가로 이어지는 문제가 발생했는데요. Hashicorp에서는 이러한 문제점을 해결하기 위해 비밀 정보를 중앙에서 효율적으로 관리하도록 도와주는 Vault라는 솔루션을 개발하게 됩니다. 1. Vault란? Hashicorp Vault를 한 문장으로 정의하면 민감한 데이터와 비밀 정보(Secrets)를 중앙에서 효과적으로..
00. 개요 사용자는 Vault를 활용하여 Backend Storage에 데이터를 저장, 생성 및 암호화하기 위해 Secret Engine을 사용합니다. Vault에서는 SSH 관련 기능으로 OTP 방식과 동적 키 방식 2가지를 제공하고 있습니다. 본 포스팅에서는 SSH OTP 방식에 대해 알아보겠습니다. 01. OTP 방식 사용자가 서버를 접속할 때마다 Vault에게 일회성 비밀번호(One Time Password)를 요청하고 응답받은 패스워드를 입력하여 접속하는 방식입니다. 이 때, 시스템 관리자는 접속 대상 서버에 vault-ssh-helper라는 유틸리티를 설치해야 됩니다. 02. vault-ssh-helper를 활용한 인증 프로세스 사용자와 접속 서버 그리고 Vault와의 인증 방식은 다음과 같..
00. 개요 앤서블을 사용하여 인프라 변경 작업을 수행할 때 해당 변경사항에 대한 테스트 코드를 작성하여 검증하는 방식을 도입하면 좋겠다는 생각을 하게 되었습니다. 또한 CI 도구와 결합하여 앤서블 코드 린트/단위/통합 테스트를 통해 다양한 시나리오를 검증함으로써 코드의 신뢰성을 높일 수 있을 것입니다. 본 포스팅에서는 파이썬에서 제공하는 테스트 프레임워크인 pytest에서 플러그인으로 제공하는 testinfra에 대해 알아보겠습니다. 01. pytest란? 본 포스팅은 testinfra를 학습하는게 목적이므로, pytest에 대한 개념만 간단하게 확인하고 본론으로 들어가겠습니다. 파이썬에서 내장되어 제공되는 테스트 프레임워크로 단위 테스트부터 인수 테스트까지 All-In-One으로 제공 02. pyte..
0. 들어가기 전 Linux에서 top 명령어를 입력하면 특정 Interval 간격마다 화면을 갱신하면서 보여줍니다. 출력값에서 OS의 구동 시간(uptime), 접속 유저, Load Average, 메모리 사용량, 전체 프로세스 현황 등 시스템 운영에 필요한 다양한 정보를 확인할 수 있습니다. 특정 프로세스에 대한 정보를 확인하고자 할 때, VIRT, RES, SHR 그리고 S라는 용어가 등장하는데 해당 용어가 어떤 것을 의미하는지 알아보는 포스팅을 작성하겠습니다. 1. VIRT, RES, SHR 개념 VIRT, RES, SHR 용어의 개념을 먼저 정의하겠습니다. VIRT : 프로세스가 리눅스 커널로부터 할당받은 최대 가상 메모리(Virtual Memory) 전체 크기 RES : 프로세스가 실제로 최대..
0. 배경 리눅스 서버를 구축/운영할 때 bash/python와 같은 Shell 혹은 앤서블과 같은 IaC 도구를 사용하여 패치 등을 자동화하기 위해 다양한 시스템 정보 확인 관련 명령어 사용하여 정보를 수집하는 경우가 생깁니다. 물론 앤서블을 사용할 때는 gather_facts 정보를 통해 파악이 가능하지만, 본 기능은 성능 저하 이슈가 발생할 수 있으며 성능을 극한으로 끌어올릴 때 uname을 통해 커널 정보를 수집해야될 수도 있습니다. 따라서 시스템 정보 확인 명령어는 DevOps 및 SE 업무를 수행하는데 반드시 알고 있어야됩니다. 본 포스팅에서는 커널, CPU/Memory, 디스크 및 NIC 등을 확인하는 방법에 대해 알아보겠습니다. 1. 커널 정보 확인 (uname) # 커널 전체 정보 확인 ..
1. 배경 리눅스 시스템에서 1분, 5분, 15분 단위로 평균 부하를 파악하고 관련 정보를 활용하여 장애 발생 전 조치를 취해야됩니다. 이 때 평균 부하 즉 Load Average를 확인하기 위해 사용되는 명령어가 uptime 명령어이며, 특정 프로그램 혹은 명령어(사실 ls 등의 명령어도 일종의 프로그램입니다.)의 실행시간 등을 파악할 때 time 명령어가 사용됩니다. 본 포스팅에서는 time, uptime 명령어에 대해 각각 알아보고 해당 결과값 데이터를 통해 확인할 수 있는 내용과 활용 방안에 대해 소개하겠습니다. 2. time 명령어 : 특정 프로그램의 실행 시간을 확인 my-binary라는 프로그램을 실행시킨 직후부터 완료되기까지 실제 소요되는 시간을 확인하기 위해서는 time 명령어를 사용합니..