클라우드 타고 포트와 파도
article thumbnail
[k8s] cronjob 기반 pod 자동 재시작 및 slack 알림 제어 구현
DevOps & Infra/Kubernetes 2025. 10. 6. 16:21

개요개발 서버에서 CronJob을 이용한 자동 재시작 기능을 테스트하였으며,재시작 원인에 따라 JANDI 알림이 전송되거나 차단되도록 하는 기능을 구현하였습니다. 이를 위해 환경 변수(RESTART_REASON) 를 도입하여재시작 유형을 수동(MANUAL) 과 자동(CRONJOB) 으로 구분하고,각 상황에 맞게 알림 전송 여부를 제어하도록 로직을 구성하였습니다. 특히, 매일 정기적으로 수행되는 자동 재시작(CronJob 기반) 의 경우운영상 필수적인 동작이므로 불필요한 알림이 반복되지 않도록slack 알림이 자동으로 차단되도록 처리하였으며,반대로 운영자에 의한 수동 재시작 시에는관련 변경 사항을 신속히 공유할 수 있도록 알림이 정상 전송되도록 설정하였습니다.수동 재시작(MANUAL) → SLACK 알림 ..

article thumbnail
[mail server] Outlook 메일 서버 연결을 위한 hosts 파일 설정 가이드
Etc 2025. 9. 14. 19:46

회사 내부 NAS 변경으로 메일 서버를 재구축하게 되었습니다.당초에는 NAS 기반 메일 서버를 사용하는 분이 없다고 생각했는데, 실제로는 일부 직원이 사용 중이어서 문의가 들어왔습니다.회사 내부 메일 서버를 Outlook에 연결할 때 기본 자동 연결이 되지 않아, 수동으로 몇 가지 단계를 거쳐야 했습니다. 이 과정을 정리해두면, 비슷한 환경(사내 전용 도메인, 내부 메일 서버 IP 사용 등)을 가진 분들에게 도움이 될 것 같아 공유합니다.(실제 도메인/IP는 보안을 위해 가상의 값으로 대체했습니다.) 로컬 호스트 파일 수정Outlook이 메일 서버를 제대로 찾을 수 있도록, 로컬 PC의 hosts 파일을 수정해줘야 합니다.경로: C:\Windows\System32\drivers\etc\hosts메모장을 ..

[k8s] Kubernetes Pod에서 The node was low on resource: ephemeral-storage 부족 현상 분석
DevOps & Infra/Kubernetes 2025. 8. 24. 16:30

문제 개요최근 회사 운영 환경에서 pod가 갑자기 Evicted 상태로 종료되는 현상이 발생 했습니다.에러 메시지를 보면 ephemeral-storage 부족이 원인이었는데, 실제 노드의 디스크 여유 공간은 충분히 있는 상황이라 이해하기 어려웠습니다. 환경: Kubernetes v1.25.4로그 저장 방식: HostPath 마운트The node was low on resource: ephemeral-storage.Container ca-svr was using 13176Ki, which exceeds its request of 0.Container ca-svr-filebeat was using 42096Ki, which exceeds its request of 0. 노드 상태:Node1: 77% 사용No..

article thumbnail
[axgate] 장비 기본 명령어 정리 CLI&접속방법 비밀번호 분실 초기화
Etc 2025. 8. 17. 15:58

기본 접속 준비케이블 연결RJ45 to RS232(암) + RS232(수) to USB 조합으로 PC와 AXGATE 장비 연결RJ45 → 장비 / USB → 노트북노트북 설정장치 관리자에서 COM 포트 확인속도(baud rate) 115200으로 맞추기PuTTY 실행연결 타입: SerialCOM포트 / Speed: 115200 설정 후 접속AXGATE 모드 정리AXGATE> : 실행 모드 (제한된 명령만 가능)AXGATE# : 권한 모드 (모든 명령 가능)AXGATE(config)# : 설정 모드AXGATE(config-if)# : 인터페이스 설정 모드AXGATE(config-line)# : 라인(vty) 설정 모드AXGATE> regain privilege # 권한 모드 진입AXGATE# co..

article thumbnail
[vagrant] 포트포워딩 설정 가상머신(VM) 외부 접속
DevOps & Infra/IaC 2025. 8. 10. 18:42

vagrant 포트 포워딩Vagrant 포트 포워딩은 호스트(내 PC) 의 특정 포트로 들어오는 요청을게스트(VM) 의 특정 포트로 전달(Forward)하는 기능입니다.쉽게 말해서:게스트 VM 에서 웹서버가 80포트로 실행 중이라면호스트 PC 의 8080포트를 VM의 80포트로 연결브라우저에서 localhost:8080 접속 → VM의 웹서버 페이지가 뜸기본 설정 방법Vagrantfile에 아래처럼 추가합니다.Vagrant.configure("2") do |config| config.vm.network "forwarded_port", guest: 80, host: 8080endguest: VM 내부에서 사용되는 포트 번호host: 내 PC에서 접근할 포트 번호 (root가 아니면 1024 이상 사용)위..

article thumbnail
[go] golang으로 RSA 암복호화 테스트
개발/Golang 2025. 7. 27. 16:06

개요이번 테스트에서는 Go 언어와 nCipher HSM을 연동해, RSA 공개키로 메시지를 암호화하고, 개인키로 복호화하는 과정을 직접 구현해봤습니다.이전 글에서 사용했던 RSA 키쌍(label: test2)을 그대로 사용하며, pkcs11 인터페이스를 통해 다음과 같은 흐름으로 작업을 진행합니다:메시지 파일 생성공개키로 암호화개인키로 복호화 (HSM 내부 연산)RSA 암복호화는 개인키가 절대로 외부로 노출되지 않아야 하는 보안 상황에서 매우 유용합니다. 특히 복호화는 반드시 HSM 내부에서 수행되어야 하며, 개인키는 HSM 장비 밖으로 가져올 수 없습니다. 테스트 메시지 준비테스트에 사용할 평문 메시지를 생성합니다:sudo bash -c 'echo "이건 RSA 암호화 테스트 메시지입니다." > mes..

article thumbnail
[go] golang으로 hsm 연동 및 RSA 키 생성부터 서명 검증
개발/Golang 2025. 7. 24. 00:01

개요HSM(Hardware Security Module)을 사용해 RSA 키를 만들고, 그 키로 메시지를 서명한 다음, 서명값을 검증하는 과정을 Go 언어로 직접 구현해봤습니다.이번 테스트는 nCipher HSM 환경에서 진행했으며, pkcs11 인터페이스를 통해 아래와 같은 순서로 작업을 수행했습니다:HSM에서 RSA 키 생성Go 코드로 메시지 서명공개키 추출서명 검증참고로 HSM은 보안 장비라서 개인키는 외부로 절대 빠져나오지 않고, 공개키만 추출할 수 있습니다. RSA 키 생성 (HSM 내부)/opt/nfast/bin/generatekey pkcs11키 label: test2보호방식: module (테스트 용도)알고리즘: RSA, 사이즈: 2048bit생성 후 HSM 내부적으로 개인키와 공개키가 자..

article thumbnail
[k8s] MySQL Operator 재설치 시 기존 Persistent Volume 재사용 방법 및 문제 해결
DevOps & Infra/Kubernetes 2025. 7. 14. 09:28

개요Kubernetes 환경에서 mysql-operator를 통해 MySQL InnoDB Cluster를 배포한 후, Operator를 제거했다가 다시 설치하는 경우 기존 Persistent Volume (PV)에 저장된 데이터를 그대로 사용하려면 다음과 같은 문제가 발생합니다Secret에 저장된 mysqladmin 비밀번호와 실제 Pod 내 비밀번호가 일치하지 않는 경우, Operator는 클러스터 구성에 실패하게 됩니다.mysql_innodb_cluster_metadata 시스템 데이터베이스가 기존 상태로 존재할 경우, Operator가 재설치된 상태에서 클러스터를 새로 구성하려다 충돌이 발생하게 됩니다.결과적으로, 데이터는 살아있어도 클러스터가 구성되지 않음 → Pod가 무한 Crash → 서비스 ..

article thumbnail
[AWS] Elastic IP Limit 설정 및 한도 증가 방법
DevOps & Infra/Cloud 2025. 6. 19. 08:00

Elastic IP란?Elastic IP는 고정된 퍼블릭 IP 주소입니다. EC2 인스턴스가 꺼졌다 켜져도 IP가 바뀌지 않도록 하기 위해 사용합니다. 일반 퍼블릭 IP는 인스턴스를 중지하면 변경되지만, Elastic IP는 고정이라 외부 연결 시 유용합니다. Elastic IP는 기본 할당량 제한이 있다?AWS에서는 리전을 기준으로 Elastic IP의 기본 개수를 제한합니다.기본 제한 : 대부분의 리전에서 5개이는 계정당, 리전당 적용되는 수치이다.추가로 필요할 경우 요청을 통해 늘릴 수 있다. 확인 방법1) AWS 콘솔에서 확인EC2 > Limits 메뉴로 이동"Elastic IP addresses" 항목을 찾으면 현재 리미트 확인 가능2) CLI로 확인aws service-quotas list-s..

article thumbnail
[go] 월간 인프라 정기점검 리포트 golang 자동화
개발/Golang 2025. 6. 4. 01:00

AWS를 비롯한 클라우드 인프라를 정기적으로 점검해야 하는 경우가 많습니다. 특히 월간 보고서를 매번 수동으로 작성하다 보면 시간이 많이 들고 실수도 발생하기 쉽습니다.그래서 이번에 Go 언어로 자동으로 리포트를 생성해주는 스크립트를 만들고 이를 설명해보려고 해요. 목표매달 월요일, 목요일에 점검이 이뤄졌다고 가정인프라 점검은 매주 정해진 요일에 반복적으로 수행되는 일이 많습니다.각 점검일마다 그에 해당하는 작업 기간 정보를 추출월요일 점검이면 지난 금~일 기간을, 목요일 점검이면 지난 화~수 기간을 점검하는 것으로 보고 있습니다.이를 기반으로 Markdown 보고서 자동 생성사람이 일일이 문서를 만들 필요 없이 CLI 실행 한번으로 리포트가 자동 생성 전체 구조 요약 main.go├── main() ..