반응형

전체 글 106

[서류컷] 집에 있는 PC로 팀 개발 서버 만들기(feat. Tailscale)

집에 있는 PC로 팀 개발 서버 만들기사이드 프로젝트의 개발 환경을 클라우드 대신 집에 있는 홈서버에 구축한 기록이다.들어가며혼자 하던 사이드 프로젝트가 있었다. (바로 아래 글에 one-bite-interview)어찌어찌 배포까지 마치고 나니, 회사 동료들도 각자 사이드 프로젝트를 하고 있다는 걸 알게 됐고, 자연스럽게 함께 하게 됐다.프로젝트 이름은 서류컷. 요즘처럼 취업과 이직이 어려운 시장에서 지원자는 서류를 넣고 나서 연락을 하염없이 기다리는 경우가 많다. 결과 통보가 없거나, 있어도 한참 뒤에 오거나. 서류컷은 이렇게 회사가 지원자의 서류를 대하는 태도를 평가하는 서비스다.목표는 소규모로 시작해서 실제 운영까지 가는 것. 팀에는 개발자뿐 아니라 기획자와 디자이너도 있다.개발 환경을 어디에 둘 ..

메시지 큐 없이 이벤트 기반 리팩토링하기 — Spring Event 도입기

왜 이벤트 기반으로 리팩토링했나DDD 기반 멀티모듈 프로젝트를 운영하면서, 새로운 사용자 정책이 들어올 때마다 기존 정책과충돌하는 지점이 점점 커졌다. 결국 회사 프로젝트 전체를 이벤트 기반으로 리팩토링하기로 했다.이유는 두 가지였다.서비스 레이어가 스파게티가 됐다. 도메인 간 호출이 서비스 레벨에서 얽히면서모듈 간 의존성이 통제를 벗어나고 있었다.각 도메인의 의존성을 최소화하고 싶었다. 주문이 구독을 알고, 구독이 주문을 아는구조에서는 정책 하나를 바꿀 때 건드려야 할 코드가 너무 많았다.처음에는 메시지 큐 도입을 검토했다. 하지만 우리 서비스는 MSA로 전환할 규모가 아니었고,큐를 들이는 순간 늘어나는 운영 관리 포인트를 감당할 이유가 없었다. 그래서 원래 목적에부합하면서 같은 효과(의존성 분리)를 ..

업무 회고 2026.10.13

[one-bite-interview] 사이드 프로젝트 프론트 / 백엔드 배포하기 with AWS

사이드 프로젝트를 AWS에 배포하기 — One Bite Interview 구축기뭘 만들었나20260816 현 시점은 AWS에 SES 프로덕션 메일 심사중이라 구독 버튼을 막아놨다!One Bite Interview(one-bite.kr)는 매일 아침 8시, 구독한 직군(백엔드/프론트엔드/UI·UX 디자이너)에 맞는 면접 문제 3개를 이메일로 보내주는 서비스다. 메일 속 링크로 들어가면 문제를 풀고 정답과 해설까지 확인할 수 있다.백엔드: Kotlin + Spring Boot 3.5, MySQL(RDS), 문제 생성은 Gemini API프론트: React + Vite SPA매일 밤 스케줄러가 다음 날 문제를 미리 생성하고, 아침에 발송한다 백엔드: Kotlin + Spring Boot 3.5, MySQ..

[AWS] Auto Scaling group 과 ELB연동 (2)

ELB 연동을 이전 글에 이어서 작성한다~로드 밸런싱 -> 대상 그룹 생성로드밸런서 생성 오토 스케일링 그룹과 만들어진 대상그룹 연동 여기까지 설정하게 되면 오토 스케일링 그룹에서 자동으로 생성되는 모든 EC2 인스턴스는 '대상 그룹' 에 들어가게 되고 ALB가 '대상 그룹' 에게 전달해주는 구조를 갖는것이다. "> 새로고침 할 때 마다 인스턴스 아이디가 바뀌면서 로드밸런서가 트래픽을 분산 해주는것을 확인 할 수 있다 오토 스케일링 그룹 '상태 확인'오토 스케일링 그룹은 기본적으로 상태를 확인할 수 있다. 오토 스케일링 그룹은 EC2의 상태를 체크하는거지 EC2에 배포되어 있는 어플리케이션까지 모니터링을 하지 못한다. 이 상태를 확인할때 ALB가 어플리케이션의 동작을 직접 체크해서 ..

AWS 2026.04.05

[AWS] Auto Scaling group 과 ELB연동 (1)

Auto Scaling group과 ELB 연동오토 스케일링 그룹과 ELB를 연동하기 위해서는 여러가지 설정이 필요하다. 하나씩 해보도록 하자 ~ 시작 템플릿 생성이름, 원하는 AMI, 원하는 인스턴스 유형, 키 페어를 설정해준다. 고급 세부정보 가장 아래 유저 데이터를 기입하고 템플릿을 만들어준다.간단한 웹 서버를 설치하고 인스턴스 아이디를 index.html 파일에 넣는 간단한 데이터다. Auto Scaling 그룹 생성 인스턴스를 줄이고 싶으면?인스턴스 목록에서 하나씩 종료(삭제) 하는게 아니라 오토 스케일링 그룹 용량 개요에서 원하는 최대 용량을 편집하면 인스턴스가 자동으로 terminate 처리된다. 시작 템플릿에 설정했던 User Data도 잘 실행이 됐는지 확인해보자웹 서버를 설치하..

AWS 2026.04.04

[AWS] ALB 리스너와 규칙

ALB 리스너와 규칙리스너(Listener) : 프로토콜과 포트를 기반으로 ALB로 들어오는 요청을 확인하는 주체ALB별로 최소 하나 이상의 리스너 필요규칙(Rule) : ALB가 요청을 분배하는 기준이 되는 규칙조건, 작업, 우선 순위로 구성ALB 규칙조건 (모두 만족 필요 (AND))호스트 헤더, 경로, HTTP Method, Source IP, HTTP Header, QueryString작업 유형대상 그룹 (최대 5개) 전달그룹마다 가중치 설정 가능 (0 ~ 999)URL Redirection (URI만, 전체 URL)고정 응답 (404, 혹은 페이지 없음 등등)규칙 순위 (1~50,000) ALB 규칙 확인해보기EC2에 로드 밸런싱 - 대상그룹을 만들어준다.ALB를 생성하는데, 이름을 지정하고 대..

AWS 2026.04.04

[AWS] Elastic Load Balancer

Elastic Load BalancerElastic Load Balancing은 여러 가용 영역에 걸친 리소스에 트래픽을 자동 분산하고, 상태를 체크해 정상 대상에게만 요청을 전달하는 서비스이다.Auto Scaling 환경에서는 EC2 인스턴스가 트래픽에 따라 계속 생성되고 제거되기 때문에,현재 몇 대가 떠 있는지와 각각의 IP가 무엇인지 고정되어 있지 않다.따라서 사용자가 접속할 때마다 모든 EC2 인스턴스의 IP를 직접 확인해서 요청을 보내는 것은 현실적으로 불가능하다.이 문제를 해결하기 위해 등장한 것이 바로 Elastic Load Balancer(ELB)이다.ELB는 하나의 고정된 진입점(DNS)을 제공하고, 내부적으로 여러 EC2 인스턴스에 트래픽을 자동으로 분산시킨다.Elastic Load B..

AWS 2026.04.04

[AWS] EC2 Autoscaling

Auto scalingAWS Auto Scaling은 애플리케이션을 자동으로 모니터링하고 리소스를 조정해, 비용 효율적으로 안정적이고 예측 가능한 성능을 유지하며 서비스 전반의 규모를 쉽게 확장·축소할 수 있게 해주는 기능이다.EC2 Auto Scaling의 목적그룹의 최소 인스턴스 숫자 및 최대 인스턴스 숫자 최소 숫자 이하로 내려가지 않도록 인스턴스 숫자를 유지 (인스턴스 추가)최대 숫자 이상 늘어나지 않도록 인스턴스 숫자 유지 (인스턴스 삭제)다양한 스케일링 정책 적용다양한 스케일링 정책예: CPU의 부하에 따라 인스턴스 크기를 늘리기예: 특정 시간에 인스턴스 개수 늘리고 다른 시간에 줄이기 가용 영역에 인스턴스가 골고루 분산될 수 있도록 인스턴스를 분배EC2 Auto Scaling의 구성 시작 구..

AWS 2026.04.04

[AWS] EC2 권한 부여

EC2 내부에 배포되어 있거나, 여러가지 소프트웨어들이 외부 AWS 다양한 서비스들을 사용(접근)할때 권한을 어떻게 가지고 연동하는지 알아보자~EC2에 권한 부여IAM 자격 증명을 등록 IAM 사용자를 생성하고 IAM 자격증명을 발급받아 EC2에 등록AWS Configure를 통해 자격 증명을 파일로 등록 (~/.aws/credentials)관리가 어렵고 바꾸기가 힘들다는 단점이 있다.예 : EC2 100대의 자격 증명을 교체해야 한다면 ..IAM 역할을 부여 - AWS에서 권장하는 방법권한이 부여된 IAM 역할을 만들고 EC2에 부여 관리가 쉽고 교체가 쉽다.내부적으로 지속적으로 자격증명을 변경할 수 있다.뛰어난 보안성을 가진다역할(Role)Role은 특정 권한 집합이며, IAM 사용자는 해당 Rol..

AWS 2026.03.31

[AWS] EC2 유저 데이터와 메타데이터

EC2 User DataEC2 인스턴스의 최초 실행 시 지정한 스크립트 실행 가능별도 설정을 통해서 재부팅 마다 실행하도록 설정 가능두 가지 모드 Shell Scriptclout-init: 리눅스 이미지의 부트스트래핑을 위한 오픈소스 어플리케이션EC2 인스턴스 설정(보안 설정, 인스턴스 설정 등)외부 패키지 다운로드 설치 어플리케이션 실행기타 EC2 실행 시 필요한 동작주요 사용 사례Amazon EC2 Instance Metadata인스턴스 메타데이터는 실행 중인 인스턴스를 구성 또는 관리하는 데 사용될 수 있는 인스턴스 관련 데이터이다. 인스턴스 메타데이터는 호스트 이름, 이벤트 및 보안 그룹과 같은 범주로 분류된다.EC2 인스턴스의 속성 및 정보 데이터AMI ID, IPv4/IPv6주소, EBS 맵..

AWS 2026.03.30
반응형