| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- System
- bWAPP
- AI
- 와이어샤크
- mount
- SISS
- Dreamhack
- python
- beebox
- Upstage
- S3
- pwnable
- wireshark
- CodeEngn
- 자료구조
- Reflected
- AWS
- Linux
- EC2
- backjoon
- htmlinjection
- acc
- fork-bomb
- Reversing
- Systemhacking
- datastructure
- 유석종교수님
- c
- 백준
- cloud
- Today
- Total
목록전체 글 (180)
Ctrl + Shift + ESC
회의가 끝났다고 일이 끝난 것은 아닙니다.회의 중 급하게 적은 메모를 다시 읽고, 결정된 내용과 아직 논의 중인 내용을 구분하고, 담당자별 할 일을 정리해야 합니다. 마감일이 빠진 항목은 다시 확인해야 하고, 마지막에는 팀원들에게 공유할 메시지까지 작성해야 합니다.저 역시 이 과정을 반복하면서 이런 생각을 했습니다.“회의 메모를 넣으면 바로 실행 가능한 할 일 목록으로 바꿔주는 AI가 있으면 어떨까?” 그래서 업스테이지가 주최하는 Making AI Beneficial 챌린지(MABC 2026) 서포터즈 1주차 활동으로, 타임리에서 ‘회의 메모 액션플랜 변환기’ 스킬을 만들었습니다. 스킬 생성 계기일반적인 회의록 요약은 회의에서 어떤 이야기가 나왔는지 이해하는 데는 도움이 됩니다. 하지만 실제 업무를 시작..
서론요즘은 모니터링을 도입할 때 Prometheus를 거의 기본 선택지처럼 고려하는 경우가 많다. 다만 Prometheus는 생각보다 설정과 운영이 복잡한 편이고, AWS CloudWatch 같은 AWS 네이티브 서비스와의 장단점을 함께 비교해보는 과정이 필요하다고 느꼈다.이 지점에서 금방 분명해진 점이 하나 있었다. 메트릭 수집과 로그 수집은 비슷해 보이지만, 실제 운영 방식은 꽤 다르다는 것이다. 정확히 말하면 Prometheus는 메트릭 수집에 강점이 있는 도구이고, 애플리케이션 로그를 다루려면 별도의 로그 수집기와 저장소가 함께 필요하다. 결국 로그까지 직접 운영하려면 Prometheus만으로는 부족했고, Promtail이나 Grafana Loki 같은 컴포넌트를 추가로 구성해 로그를 수집하고 저..
작업 동기배포는 자주 일어나지만, 배포 직후 “정말 서비스가 정상 동작하는지”를 확인하는 과정은 생각보다 자주 수동에 의존하게 된다.특히 현재 프로젝트에서는 DEV 환경에서는 배포가 끝난 뒤 주요 기능을 직접 눌러보거나, 문제가 생기면 로그를 보면서 롤백 여부를 판단하는 식으로 운영되는 경우가 많았다. 얼마 전에도 Prod에 배포했는데, 테스트를 진행하지 않고 배포하다 보니 주요 기능에 문제가 발생한 경험이 있었다.이번 작업에서는 이 과정을 조금 더 자동화했다. 목표는 다음과 같다.DEV 배포 직후 핵심 기능이 정상인지 자동으로 확인할 것실패 시 어떤 기능이 깨졌는지 구조화해서 수집할 것원인 후보와 추천 조치를 LLM이 요약할 것 (접근성)운영자는 Discord에서 결과를 보고 다음 액션을 결정할 수 있..
문제 정의현재 저희 시스템의 로그 수집 구조는 다음과 같습니다.EC2 로그→ Promtail→ Loki (로그 저장)→ Grafana (조회, 알림, 시각화) Promtail은 로그 파일이 존재하는 서버에 설치되어 로그를 수집하고, 이를 Loki로 전송합니다.Loki는 Promtail로부터 전달받은 로그를 저장하고, Grafana로부터 들어오는 로그 쿼리 요청에 대해 결과를 반환합니다.개발자는 Grafana를 통해 로그를 조회하거나, 특정 조건에 대한 알림을 설정할 수 있습니다. 문제는 로그의 양입니다.실제 운영 환경에서는 Loki뿐 아니라 CloudWatch Agent 등 다양한 방식으로 로그를 수집하고 있습니다. 하지만 이렇게 수집된 로그들은 분석되지 않으면 그저 쌓이기만 하는 데이터에 불과합니다...
Amazon CloudFront 기초Amazon CloudFront는 개발자 친화적 환경에서 짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송하는 고속 콘텐츠 전송 네트워크(CDN) 서비스이다. 웹페이지, 이미지, 동영상 등의 컨텐츠를 본래 서버에서 받아와 캐싱한 후 해당 컨텐츠에 대한 요청이 들어오면 캐싱해둔 컨텐츠를 제공한다.컨텐츠를 제공하는 서버와 실제 요청 지점간의 지리적 거리가 매우 먼 경우, 요청 지점 근처의 CDN을 통해 빠르게 컨텐츠를 제공할 수 있다.엣지 로케이션에서 데이터를 캐싱하기 때문에 원본이 변해도 캐싱이 만료되지 않는다면 유저가 보는 내용은 변하지 않는다. 정적 컨텐츠(이미지, 글 등 서버에 저장된 파일이 모든 사용자에..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다. Linux에서 OverlayFS 살펴보기# 오버레이 파일시스템 실습에 사용할 디렉토리 생성 mkdir /tmp/{lower1,lower2,upper,merged,work} 실습에 사용할 디렉토리를 생성한다.lower1, lower2: 읽기 전용, 마운트할 레이어를 위해 사용할 디렉토리upper: writable한 레이어merged: lower 레이어들과 upper 레이어가 겹쳐져서 실습에서 실제로 사용할 디렉토리work: file sywtem에서 관리 목적으로 사용하는 디렉토리# 실습에 사용할 파일 생성echo "lower1 a" > /tmp/lower1/a.txtecho "lower1 b" > /t..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다.Mount Namespace 격리하기해당 실습은 리눅스의 Namespace(특히 Mount Namespace) 기능을 직접 체험해보는 실습이다.실습을 통해 프로세스마다 독립적인 파일시스템 뷰를 갖게 할 수 있다는 것을 확인할 수 있다. echo $$unshare -m /bin/bashecho $$ echo $$ 명령어를 입력하면 Shell의 PID를 확인할 수 있다.unshare -m /bin/bash 명령어에서 -m은 mount namespace를 분리한다는 뜻이다. 이렇게 네임스페이스가 분리되었기 때문에, 이 안에서 발생하는 마운트/언마운트는 호스트에는 보이지 않는다. 따라서 unshare 명령어 ..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다.리눅스 배포판리눅스 커널은 운영체제의 핵심이지만, 커널만으로는 사용자가 컴퓨터를 쉽게 조작하기 어렵다.리눅스 배포판이란 리눅스 커널에 컴파일러, 셸, 윈도우 시스템, 그리고 각종 유틸리티와 응용 프로그램들을 포함하여 사용자가 바로 설치해서 사용할 수 있도록 패키징한 운영체제를 말한다. 주요 리눅스 계열을 비교하면 다음과 같은 표로 정리할 수 있다.계열특징 및 목표패키지 관리 도구대표 배포판Debian 계열• 오픈소스이며 안정성에 초점을 둔다 .• Ubuntu의 경우 사용 편의성과 LTS(Long Term Support, 5년) 지원을 목표로 한다 .• 서버와 데스크톱 환경 모두에서 널리 사용된다.• D..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다.실습 개요 여러 CLI와 GUI를 겪어본 결과, 터미널 환경에서 명령어로 모든 것을 연결하는 환경은 생각보다 어렵다.VSCode나 IntelliJ 같은 텍스트 에디터 환경에서는 편리한 확장 프로그램도 많고, 무엇보다 디버깅이 편리해진다.Linux 환경에서 gdb로 디버깅한 경험과, VSCode에서 디버깅을 해본 경험이 있는 사람이라면 공감할 수 있을 것이다.EC2에서도 편리한 작업을 위해 VSCode에서 SSH(22)로 연결하는 방법을 알아보자. 클라우드 환경 구성VPC 생성 다음과 같은 옵션으로 VPC를 생성한다. 주요 옵션은 다음과 같다.Number of AZ : 사용 가능한 가용 영역 개수이다. ..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다. n-티어 아키텍처란? n-티어 아키텍처란 애플리케이션을 n개의 레이어으로 나눈 아키텍처를 말한다.레이어은 물리적으로 구분되고, 별도의 컴퓨터에서 실행된다. 이를 통해 책임을 분리하고 종속성을 관리한다.레이어은 다른 레이어를 직접 호출하거나 메시지 큐를 통해 비동기 메시징 패턴을 사용할 수 있다.또한 상위 레이어은 하위 레이어의 서비스를 사용할 수 있지만, 하위 레이어는 상위 레이어의 서비스를 사용할 수 없다. n-티어 애플리케이션에는 폐쇄형 레이어 아키텍처 또는 개방형 레이어 아키텍처가 있다.폐쇄형 레이어 아키텍처: 자기 다음의 레이어로만 접근이 가능한 통신 모델개방형 레이어 아키텍처: 자기의 하위 ..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다. Go 언어 설치https://go.dev/doc/install Download and install - The Go Programming LanguageDocumentation Download and install Download and install Download and install Go quickly with the steps described here. For other content on installing, you might be interested in: Download Go installation Select the tab for your computer's operating sys..
* 해당 포스트는 실무 초밀착 리눅스: 클라우드 환경 운영부터 성능분석까지 강의를 듣고 정리한 것입니다.실습 시나리오포크 폭탄이란 프로세스가 지속적으로 자신을 복제함으로써 이용 가능한 시스템 자원을 고갈시키고 시스템 속도를 떨어트려 결국엔 기아 상태로 인한 시스템 충돌을 일으키는 서비스 거부 공격이다.bomb(){ bomb | bomb &}bomb Bash에서 포크 폭탄은 다중 재귀 함수를 선언하고 호출함으로써 수행할 수 있다. :(){ :|:& };: 이 명령어는 상기 명령의 난독화된 버전이다. 여기서의 트릭은 :를 함수명으로 사용한다는 점인데, 이것이 가능한 이유는 콜론이 다른 대부분의 언어에서처럼 Bash의 예약된 문자가 아니기 때문이다. 포크 폭탄 공격을 당하는 경우 기아 상태로 인한 시스템 충..
