분류 전체보기 187

AWS shield 도입

aws 접속 후 shield 클릭.acl 먼저 생성 해야함.생성 방법.왜 먼저 생성해야 할까?규칙 관리의 기본 단위: 웹 ACL은 WAF에서 차단하거나 허용할 요청의 조건들을 정의하는 규칙들을 추가하는 기본 단위. 즉, 먼저 웹 ACL을 생성한 후에 그 안에 필요한 규칙들을 추가하여 특정 리소스(예: CloudFront, Application Load Balancer 등)에 적용할 수 있다.보안 정책 적용: ACL을 통해 여러 규칙을 체계적으로 관리하고, 어떤 요청이 허용될지 또는 차단될지를 결정할 수 있다. 이 과정은 리소스 보호의 첫 단계이므로, ACL을 먼저 생성하여 기본 보안 틀을 마련하는 것이 필수.결국, ACL(웹 ACL)을 생성하는 것은 AWS WAF를 통한 보안 정책 설정의 시작점이며, 이..

레디스 캐싱서버 도입기 (SpringBoot)

게시글에 붙어있는 좋아요 기능을 개선해야 할 필요가 생겼다.기존 로직은 좋아요 누르면 서버측에서 RDBMS에 좋아요 정보가 담긴 row를 insert 하고 해당 좋아요 갯수를 프론트에 반환해주는 로직이 있었다. 그래서 레디스에 게시글 id를 키값으로 두고 어떤 유저가 눌럿는지 유저들을 value로 넣으려고 했지만 value가 추가되는 부분은 redis에서 추천하는 방식이 아니라 몇명이 누른지 count를 value값으로 넣었다. 그래서 첫 like 조회 시 먼저 redis 캐시에 해당 키값을 찾고, 만약 없다면 db에서 조회 후 redis 에 업데이트 하도록 만들었다. 그렇게 했을때 시나리오는 다음과 같다.1. 레디스 캐시조회1-1. 캐시 없으면 디비에서 조회2. 좋아요/ 좋아요 해제 rdbms에 추가3..

프로젝트/JAVA 2025.02.22

자바 메시징 서비스 (JMS) 에 관하여

자바 메시징 서비스란?동기, 비동기 개념이 다름.JMS(Java Message Service)는 “자바에서 메시징 기능을 표준화한 인터페이스(API) 사양”이를 실제로 동작하게 만드는 구현체는 별도 라이브러리ActiveMQ, RabbitMQ로 제공구분 기존 시스템(동기) 메시징 서비스(비동기)통신 특성요청-응답이 밀접하게 연결 (Blocking)메시지 형태로 분리되어, 필요 시점에 처리 (Non-blocking)처리 흐름A -> B 호출 시 B가 결과를 줄 때까지 A가 대기A -> 메시지 브로커(Queue)에 메시지 전달 후 즉시 반환, B는 브로커에서 메시지 꺼내 처리확장성확장이 어려움 (B의 처리 능력이 한계 도달 시 A도 지연)브로커를 중심으로 컨슈머를 추가하여 확장 가능 (Scale-out 구조)..

CS 2025.01.02

ssm 서버에 로컬 환경에서 데이터 베이스 연동(mac)

참고 : https://findstar.pe.kr/2022/09/03/accessing-private-rds-instance-using-ssm/ gossm 을 사용하여 Private RDS 인스턴스에 접근하기Software Developer, I love code.findstar.pe.kr   현재 프로젝트의 rds 개발, 운영 서버가 보안을 위해 private 으로 ec2서버에서만 접속이 가능한 문제가 있었다. 그래서 update 문이나 쿼리 변경 시 디비버에서 사용하지 못하고 직접 bash환경에서 작업하느라 너무 능률이 떨어졌다. 그래서 찾아보던 중 위 글을 발견하였다. 단계별로 진행하겠다. gossm을 설치한다. $ brew tap gjbae1212/gossm$ brew install gossm  ..

클로드(Claude) 란 무엇인가? 그리고 왜 클로드를 적용하는가?

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스  클로드에 대해 아무것도 모르고 있다가, 친구랑 코드 리뷰에 대해 이야기하게 되었다. 그때 친구가 코드 리뷰 요즘은 깃에 올리면 클로드가 리뷰해준다고 해서.... 그런게 있다고??? 어떻게 그게 가능한지 궁금해져서 알아보기로 했다. 클로드란?클로드란 일단 챗 지피티 같은 ai 라고 생각하면 된다. 하지만 chat GPT 보다 개발자에게 필요한 기능? 이 조금 더 추가된 느낌이다. 그래서 요즘 개발자들은 챗 지피티에서 클로드로 넘어간다고 한다. 나는 지피티를 유료 구독하는 입장에서 한번 클로드도 사용해보고싶다.  그래서 이번 기회에 클로드 무료버전이 있다면 한번 적용해보고 코드 리뷰까지 받아보려고 한다.  적용 순서명령어 입력.그..

카테고리 없음 2024.11.04

ec2에서 이미지 pull 시 깃허브액션을 활용하여 자동화 하기.

일단 위 블로그를 참고하였다. https://velog.io/@leeeeeyeon/Github-Actions%EA%B3%BC-Docker%EC%9D%84-%ED%99%9C%EC%9A%A9%ED%95%9C-CICD-%EA%B5%AC%EC%B6%95 Github Actions과 Docker을 활용한 CI/CD 구축🍏 M1 맥북을 기준으로 작성하였습니다. 🍎velog.io 내가 하려는 작업이 정확히 위의 블로그의 작업과 동일하다. 맥북의 환경도 동일해서 잘 따라할 수 있을 것 같다.! 일단 프로젝트 바로 아래에 새로 .github 폴더를 생성해주고, 그 아래 또 workflows 폴더를 생성해준다.  그리고 github-actions.yml파일을 생성해준다.    나 같은 경우 원래 폴더가 생성되어있는 줄..

도커 허브에서 도커 이미지 pull 받은 이후 우분투 서버에서 실행시키기

그 전 글을 통해 도커 허브에 이미지 Push 까지 진행하면서 도커 허브에 1.0.3 버전으로 올라간 것을 확인 했을 것이다. 이제 내 서버 환경에서 해당 이미지를 Pull 받은 이후 실행만 시키면 끝난다.  위처럼 도커 허브에서 이미지를 확인 할 수 있고, 해당 이름을 기반으로 아래 명령어를 서버에서 입력한다. docker pull yunhy96/dday:1.0.3 이렇게 하고 만약 권한으로 거부당하면 앞에 sudo를 붙여주자. 위 명령어를 입력하고 이미지가 잘 들어왔는지 확인하는 방법은   이렇게 sudo docker images를 입력 한 이후 현재 생성되있는 이미지를 확인하는 방법이다. 나는 1.0.3 버전이 잘 들어왔다. 이제 실행만 하면된다. 아래 명령어를 사용하면 되는데 호스트포트는 8080..

도커 파일로 이미지 생성해서 도커에 올리기

오랜만에 프로젝트를 도커로 실행시키는데 용량문제는 극복했더니 이번엔 도커파일이 없어졌다고 한다. 이유를 생각해보니 아까 용량을 조금 늘린다고 안쓰는 서버 파일을 삭제했더니 그때 마침 도커파일이 날아간것 같다. 그래서 깃에서 다시 git pull 명령어를 통해 받아온 이후  이렇게 실행했다. 위 명령어를 보면 ls 를 통해 dockerfile이 다시 잘 생긴 것을 확인 할 수 있고프로젝트 경로로 이동하여 명령어를 실행한 것을 확인 할 수 있다. 꼭 프로젝트 경로로 들어가야한다. 나 같은 경우는 dockerFile 이 있는 경로가 아니라 한단계위에서 이미지 빌드를 하고있어서 왜 안되지 하고 있었다.    이미지가 잘 생성된 것을 확인했다. 이제 이걸 도커 허브에 push 해주면 되는데, 기존에 내가 생성했던..

우분투 서버 용량 확장 방법, ERROR: mkdir /home/ubuntu/.docker: no space left on device

서버를 다루다보면 흔하게 발생할 수 있는 일이니 위에서부터 차근차근 따라하면 된다.   우분투 서버에서 올린 코드로 도커이미지로 말기 위해 명령어를 도커 빌드 명령어를 이렇게 입력했다. docker build --platform amd64 --build-arg DEPENDENCY=build/dependency --tag yunhy96/dday:1.0.1 . 그런데 이렇게 하니까 ERROR: mkdir /home/ubuntu/.docker: no space left on device  해당 오류가 발생했다. 위 오류는 우분투 자체 용량이 부족해서 나오는 에러다. 그래서 df -h 명령어를 사용하여 현재 용량을 체크해보았다.  서버에 도커도 설치하고, jdk도 설치하고, 젠킨스도 설치하고 , 도커 이미지도 ..