MSA 서버 비용 절감은 추정이 아니라 실측에서 시작한다
공모전 준비 중에 서버 비용이 문제가 됐다. 개발 기간에는 start.sh랑 stop.sh로 작업할 때만 켜고 껐더니 청구서가 상시 가동의 절반 이하로 나왔는데, 이제 공모전 출품도 해야 하고 서비스 운영이나 포트폴리오 용도로 쓰려면 결국 24시간 켜둬야 한다. 이대로라면 원래 비용인 월 15만 원이 그대로…
how-to-use AWS
공모전 준비 중에 서버 비용이 문제가 됐다. 개발 기간에는 start.sh랑 stop.sh로 작업할 때만 켜고 껐더니 청구서가 상시 가동의 절반 이하로 나왔는데, 이제 공모전 출품도 해야 하고 서비스 운영이나 포트폴리오 용도로 쓰려면 결국 24시간 켜둬야 한다. 이대로라면 원래 비용인 월 15만 원이 그대로…
서버 로그를 보려는데 SSH가 타임아웃으로 막혔다. 보안 그룹에 등록해 둔 내 공인 IP가 사흘 만에 바뀌어 있었다. 새 IP로 규칙을 갈아 끼웠고, 작업 도중 또 바뀌어서 한 번 더 갈았다. 두 번째에야 규칙이 아니라 접근 방식이 잘못됐다는 걸 인정했다. 결과는…
AWS 인프라를 세우는 작업이었다. 첫 스크립트를 돌리자마자 자격증명이 없다는 에러로 막혔고, 뒤에서는 “비밀값은 세션에 남기지 말라”고 직접 원칙을 세워놓고도 그 값을 확인하는 명령으로 키를 대화 기록에 그대로 남기는 사고를 냈다. 원칙은 맞았는데 그 원칙을 지키는 방법이 틀렸던 경우다. 이 글은…
공모전 시연용으로 EC2 한 대에 Spring Boot 서비스 8개를 올리는 인프라를 처음부터 끝까지 세웠다. 네트워크와 RDS부터 도메인과 HTTPS까지, 사전에 짜둔 계획이 실행 단계에서 거의 그대로 들어맞았다. 그런데 한 곳에서 systemctl은 전부 active인데 실제로는 잘못된 인증서를 물어올 뻔한 상태가 있었다. 그때부터…
게시물에 이미지 업로드 기능을 추가하려고 AWS S3를 처음 붙이면 예상보다 훨씬 많은 설정을 건드리게 된다. 버킷 생성, IAM 사용자, 정책, 액세스 키, CORS, 그리고 Mixed Content 에러까지. 이 글은 그 흐름을 개념 중심으로 정리한다 S3 버킷이란 S3(Simple Storage Service)는 객체(Object)…
CI/CD 개념 이해 배포 작업의 분류 일회성 작업 (한 번만 설정) 반복적 작업 (코드 변경 시마다) 자동화가 필요한 이유 수동 배포의 문제점 실수 가능성이 높고 시간 소모적이다 자동화의 장점 GitHub Actions 핵심 개념 Workflow 파일 위치 중요: .github/workflows 경로는 Github와의…
암호화 기초 개념 단방향 암호화 단방향 암호화의 특징은 암호화만 가능하고 복호화는 불가능한 특징을 갖는다. 비밀번호 저장(SHA-256)이나 세션/토큰(해시 함수)을 만들 때 사용하며 한 번 암호화하면 원본으로 되돌리 수 없다 양방향 암호화 양방향 암호화의 특징은 암호화와 복호화 모두가 가능하다 특징 비대칭키 방식…
Kubernetes Secret 관리 Secret은 민감한 정보 (데이터베이스 암호, API 키 등)를 코드와 분리하여 Kubernetes 자원으로 안전하게 저장하는 메커니즘이다 저장 → 주입 흐름 Secret 생성 실제 예시 Secret 조회 출력 예시 참고: Secret의 데이터는 Base64로 인코딩 되어 있다(암호화가 아니다). Base64 디코더로…
Spring 프로파일 설정 이해 프로파일 구조 Spring 프로젝트에는 환경별로 다른 설정을 사용하기 위한 프로파일 시스템이 있다 프로파일 활성화 메커니즘 application.yml 이 설정을 prod로 변경하면 application-local.yml application-prod.yml 핵심: application.yml의 default 값과 각 프로파일 파일의 on-profile 값이 일치하면 해당 파일이 적용된다 Kubernetes…
배포 절차 개요 전체 배포 단계 사전 준비 상태 확인 다음 자원들이 이미 구성되어 있다고 가정한다 만약 클러스터가 완전히 새로운 상태라면, Route53 호스팅 영역 생성과 Ingress Controller 설치를 먼저 진행해야 한다 Amazon RDS 생성 및 설정 RDS 생성 AWS Console…