본문 바로가기

직접 만든 소프트웨어, 두 가지 개발 기록

구현 구조와 적용 범위, 확인한 기능과 남은 한계를 함께 기록합니다.

소프트웨어개발156

Lambda 비동기 재시도: 함수 오류와 스로틀링을 구분해야 하는 이유 Lambda의 비동기 재시도 횟수는 모든 재실행을 막는 전역 스위치가 아닙니다. 먼저 비동기 호출인지 확인하고, 함수가 실행된 뒤 실패했는지 아니면 용량 부족으로 실행을 기다렸는지 나누세요.적용 환경: AWS Lambda의 비동기 호출; 동기 호출과 SQS 이벤트 소스 매핑은 별도 경로. 자료 확인일: 2026-10-25. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 서로 다른 실패를 같은 횟수로 셉니다함수 오류에는 코드 오류와 타임아웃 등이 포함됩니다. 공식 기본 동작은 함수 오류 후 추가 두 번의 시도입니다. 반면 스로틀링과 시스템 오류는 비동기 큐에서 재시도하며, 기본적으로 최대 6시간까지 이어질 수 있습니다. 실제 설정을 확인하지 않고 기본값을 운영값으로 단정하지 마세요.함수 .. 2026. 10. 26.
SQS 작업이 두 번 실행될 때: 수신·처리·삭제 시각과 visibility timeout 점검 SQS에서 같은 작업이 다시 실행되면 visibility timeout부터 무작정 늘리지 마세요. 수신 시각, 업무 처리 완료 시각, 메시지 삭제 결과를 같은 작업 ID로 대조해야 긴 처리와 삭제 실패를 구분할 수 있습니다.적용 환경: Amazon SQS를 직접 소비하는 작업자; Lambda 이벤트 소스 매핑의 별도 설정은 제외. 자료 확인일: 2026-10-25. 문서 기반 안내이며 실제 운영 시험 결과가 아닙니다.1. 원인: 처리 성공과 큐에서 삭제는 별개수신한 메시지는 즉시 없어지지 않습니다. 잠시 다른 소비자에게 보이지 않다가, 삭제되지 않은 채 제한 시간이 끝나면 다시 받을 수 있습니다. 처리 성공 로그만 보고 큐의 완료까지 확정하면 이 구간을 놓칩니다.예를 들어 보고서 파일 생성은 끝났지만 삭.. 2026. 10. 26.
journalctl -b -1 로그가 없을 때: 이전 부팅 기록과 저장 방식 점검 이전 부팅 로그가 안 보인다면 먼저 보유 중인 부팅 목록과 조회 권한을 확인하고, journald 저장 방식과 보존 정책을 살펴보세요. 지금 영구 저장을 켜도 이미 사라진 과거 기록이 다시 생기지는 않습니다.적용 환경: systemd 255 공식 매뉴얼 기준 Linux; 배포판 설정과 설치 버전 별도 확인. 공식 문서 확인일: 2026-10-23. 아래 내용은 문서 기반 점검 가이드이며 운영 환경에서 실행한 시험 결과가 아닙니다.1. 원인: 조회할 기록이 남아 있는지 먼저 봅니다journalctl --list-boots는 현재 읽을 수 있는 저널의 부팅 번호·ID·시간 범위를 보여 줍니다. -b -1은 이전 부팅을 고르는 옵션이지, 없어진 로그를 복구하는 명령이 아닙니다. 권한 부족 안내가 있으면 승인된.. 2026. 10. 24.
git stash 후 새 파일이 남을 때: 미추적 파일과 무시 파일 구분 git stash 뒤에 새 파일이 남는다면 먼저 미추적 파일인지, 무시된 파일인지 구분하세요. 기본 보관 범위에 새 파일이 모두 포함된다고 가정하면 작업을 잃을 수 있습니다.적용 환경: Git CLI; git --version과 설치된 git stash 도움말 확인. 공식 문서 확인일: 2026-10-23. 아래 내용은 문서 기반 점검 가이드이며 운영 환경에서 실행한 시험 결과가 아닙니다.1. 원인: 파일 상태마다 포함 범위가 다릅니다파일 상태보관 옵션을 볼 때추적 중인 변경기본 stash 범위 확인미추적 파일-u 포함 여부 확인무시된 파일-u만으로 포함되지 않음status의 짧은 형식에서 ??는 미추적, --ignored로 표시한 !!는 무시된 경로입니다. 표시 범위를 좁혀 놓았다면 파일이 안 보일 수.. 2026. 10. 24.
S3 만료 후 용량이 남는 이유: 삭제 마커와 비현재 버전 구분 버전 관리가 켜진 S3 버킷에서는 현재 객체를 만료시켜도 이전 데이터 버전이 남을 수 있습니다. 목록에서 사라졌다는 사실과 저장 데이터가 영구 삭제됐다는 사실을 구분해야 합니다.적용 환경: Amazon S3 버전 관리 Enabled 버킷; Suspended와 Object Lock은 별도 확인. 공식 문서 확인일: 2026-10-23. 아래 내용은 문서 기반 점검 가이드이며 운영 환경에서 실행한 시험 결과가 아닙니다.1. 원인: 현재 목록이 전체 저장량은 아닙니다Enabled 버킷의 현재 버전 만료는 삭제 마커를 현재 버전으로 만들고 기존 데이터를 비현재 버전으로 남기는 방식입니다. 비현재 버전도 저장되어 있는 동안 비용 검토 대상입니다. 삭제 마커는 원본 데이터의 영구 삭제 증명이 아닙니다.구분확인할 의.. 2026. 10. 24.
CloudWatch 데이터 부족 경보: missing·ignore·breaching 선택 기준 CloudWatch의 데이터 부족을 정상값 0으로 단정하지 마세요. 계속 보내야 하는 지표인지, 오류가 있을 때만 보내는 지표인지부터 구분하고 누락 데이터 처리와 경보 이력을 확인합니다.적용 환경: AWS CloudWatch 일반 지표 경보, 공식 문서 2026-10-23 확인. 문서 기반 가이드이며 실제 서비스 설정 변경·시험 결과가 아닙니다.1. 원인: 값이 없는 것과 정상값은 다릅니다수집 장애로 지표가 끊길 수도 있고, 이벤트가 있을 때만 값을 내보내는 설계일 수도 있습니다. 먼저 계정·리전·네임스페이스·차원이 실제 자원과 맞는지 확인합니다. 지표를 잘못 선택한 문제를 누락 처리 설정으로 덮지 않습니다.2. 해결 순서: 지표의 의미에 맞춰 선택합니다값누락값을 평가할 때의 의미notBreaching임.. 2026. 10. 24.