본문 바로가기

프로젝트 기록/Architecture, Infra, CICD4

[MSA / Spring Cloud] Spring Cloud MSA 프로젝트에서 CORS 설정에 대해 (feat. 403 error) 부트캠프 프로젝트의 "동상이농"에서 Spring Cloud 프레임워크를 이용하여 MSA 프로젝트 세팅을 맡았는데요제가 MSA 세팅을 하며 CORS 설정에 대해 놓쳤던 부분과 새롭게 알게된 것에 대해 포스팅해보려고 합니다. 동상이농의 MSA 아키텍처동상이농 프로젝트는 아래와 같은 MSA 구조를 가지고 있습니다.8081 포트를 사용하고 있는 vue 프로젝트가 8080 포트를 사용하고 있는 API Gateway에게 요청을 보내면API Gateway는 서비스 디스커버리 역할을 하는 Eureka 서버를 통해 각 모듈의 IP, Port 정보를 알아내고 적절한 곳으로 라우팅하는 것이죠.(API gateway와 Eureka를 제외한 서버들은 유동포트를 쓰고 있기 때문에, Eureka를 통해 IP, Port를 알아내는 .. 2024. 10. 3.
[Spring Cloud] MSA 구조에서 요청이 처리되지 않는 문제 (Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException) 동상이농 프론트 개발이 시작됐습니다. 제가 axios 인터셉터 세팅을 맡았는데요.인터셉터 코드를 추가하고, 제대로 동작하는지 보기 위해서 아래와 같이 서버에 간단한 요청을 보냈는데 응답이 오지 않았습니다..  API Gateway의 로그를 확인해보니 다음과 같은 에러메시지가 찍혀있었습니다. 2024-09-28T12:02:38.403+09:00 ERROR 80418 --- [api-gateway] [ctor-http-nio-2] a.w.r.e.AbstractErrorWebExceptionHandler : [d48b9c9b-243] 500 Server Error for HTTP GET "/member-service/member/healthcheck"io.netty.channel.ConnectTimeoutE.. 2024. 9. 28.
[CI/CD] Jenkins로 스프링 부트 프로젝트 비공개 파일 관리와 빌드 스크립트 작성 이 포스트에 기록할 내용은application.yml과 같이 숨겨야하는 정보를 github에 올리지 않아도 배포되도록 jenkins credentials에서 파일 관리하기pipeline Item을 만들어서 git clone, 설정 파일 정보 추가, 빌드하기이렇게 두가지입니다.Github에 올라가면 안되는 파일을 관리application.yml 등과 같은 설정 파일에는 DB url, api key 등과 같은 노출되면 안되는 정보들이 존재합니다.이런 정보가 깃헙에 올라가면 안되기 때문에 보통은 .gitignore에 추가해서 올라가지 않도록 방지하지만, 젠킨스는 깃헙에 있는 코드를 clone 받아서 빌드를 하고 있기 때문에 이 파일들을 빌드 전에 추가해주는 과정이 필요합니다.노출되면 안되는 파일들은 Jenki.. 2024. 5. 7.
[Project / AWS] EC2와 RDS로 스프링 API 서버 배포하기 해당 포스트는 API Server를 AWS의 EC2, RDS를 이용해서 배포한 과정을 담고 있습니다.AWS 프리티어 계정만 있다면 EC2, RDS를 하나씩 제공 받을 수 있으므로 간단한 프로젝트는 무료 배포가 가능합니다.프리티어 계정이 있다는 전제하에 포스트를 작성했습니다.계정이 없는 분들은 AWS 계정을 만들어 주시면 됩니다!VPC 만들기우선 VPC를 하나 만들어 주겠습니다.VPC가 뭔지 잘 모르시겠다면 이 글에 설명이 아주 잘 되어있으니 읽어보시기를 추천 드립니다.VPC 대시보드로 들어가서 우측 상단에 있는 VPC 생성을 클릭해주세요. 이렇게 설정 해준 뒤, "VPC 생성" 버튼을 눌러줍니다.보안 그룹 생성이제 보안 그룹을 만들어 주겠습니다.총 2개의 보안 그룹을 만들 건데, 하나는 EC2에 적용할 .. 2024. 5. 4.