10장. 모르면 답답해지는 네트워크 기초네트워크 기초를 모르면서버 장애의 원인이 애플리케이션 코드가 아니라 네트워크 설정에 있을 수 있다.내부 통신에 사용하는 IP와 외부에서 접근할 때 사용하는 IP를 혼동하면 접속 허용 대상을 잘못 지정할 수 있다.서버 개발자가 네트워크를 깊게 알 필요는 없지만, 장애 원인을 찾고 설정 문제를 해결하려면 기본 개념은 알아야 한다.노드, 네트워크, 라우터데이터를 송수신하는 모든 장치를 노드(Node)라고 한다.휴대폰, 노트북, 서버, 네트워크 장비 등이 해당한다.노드가 서로 데이터를 주고받기 위해 연결된 시스템을 네트워크(Network)라고 한다.노드가 네트워크를 통해 전송하는 데이터의 단위를 패킷(Packet)이라고 한다.헤더에는 송수신 정보, 페이로드에는 실제 데이터..
짠팟 인프라 개선 방향 — 보안과 확장성현재 단일 EC2 구조에서 발생할 수 있는 위험 요소를 분석하고, 트래픽 증가와 보안 위협에 대응하기 위한 AWS 인프라 개선 방향을 정리합니다.1. 현재 아키텍처 구조현재 짠팟의 전체 서버 흐름은 아래와 같습니다. 현재 짠팟은 VPC 내 Public/Private Subnet이 분리된 구조입니다. EC2(Nginx, Spring Boot Blue/Green, Prometheus+Grafana)는 Public Subnet에, RDS는 Private Subnet에 위치하여 외부 직접 접근이 차단되어 있습니다. 단, EC2는 단일 인스턴스로 운영 중이며 단일 AZ(ap-northeast-2a)에 집중되어 있습니다.2. 현재 구조의 위험 요소현재 짠팟은 모든 것이 EC2..
HTTP vs HTTPS 환경에서의 쿠키 보안 설정 Spring Boot로 인증 시스템을 구현하다 보면, 로컬 개발 환경과 배포 환경에서 쿠키 설정을 다르게 해야 하는 상황을 마주하게 됩니다.이번 글에서는 왜 그래야 하는지, 그리고 쿠키 보안의 전반적인 개념을 정리해보겠습니다.1. 문제 상황: 왜 환경마다 쿠키 설정이 다를까?Spring Boot에서 Refresh Token을 쿠키로 관리할 때, 보통 이런 식으로 환경별 설정을 분리합니다.# application-local.yml (로컬 개발)security: cookie: refresh: secure: false same-site: Lax# application-prod.yml (배포)security: cookie: re..
이 글은 인프런 딩코딩코의 백엔드 이력서 차별화 전략 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다.언제 캐시를 만료시켜야할까? - 캐시 만료 정책앞서 어떤 데이터를 캐싱하면 좋을지 알아봤다.🤔 그렇다면 이렇게 캐싱된 데이터는 언제까지 캐시에 남아 있어야 할까? 한 번 저장된 캐싱 데이터는 계속해서 유효할 수 있을까? 현실의 백엔드 서버에서는 다양한 요청을 처리하는 과정에서 데이터가 지속적으로 생성, 수정, 삭제되며 원본 DB의 내용도 계속해서 변하게 된다.즉, 원본 데이터가 지속적으로 변경되는 상황에서 처음에 캐싱된 데이터가 계속해서 유효하다고 볼 수는 없다. 만약 캐시를 적절히 만료시키지 않거나, 원본 데이터의 변경 사항을 캐시에 반영하지 못한다면캐시 데이터와 원본 DB 간에 불일치가..
이 글은 인프런 딩코딩코의 백엔드 이력서 차별화 전략 강의를 바탕으로 개인적인 정리를 위해 작성한 글입니다. 6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법 강의 | 딩코딩코딩코딩코 | 모든 이력서가 비슷해 보이는 세상, ‘차별화’가 합격을 만듭니다. 6주간, 백엔드 실무자가 직접 전하는 실전 이력서 전략 4가지를 배우세요., [사진]Java, Spring, MySQL....이 모든 걸 배www.inflearn.com이번 챕터에서는 캐싱의 개념과 로컬 캐싱, Redis를 활용한 분산 캐싱을 다루고, 실문에서 캐싱을 적용하면서 발생할 수 있는 문제점들을 살펴보고, 문제를 해결하는 방법들을 배워볼 수 있다.또한 대규모 트래픽 환경에서 캐시 시스템을 안정적으로 운영하기 위한..