프로젝트 60

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

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  ..

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도 설치하고, 젠킨스도 설치하고 , 도커 이미지도 ..

프로그래머스 - 오랜 기간 보호한 동물(1)

내가 뽑아내야 하는 데이터는 다음과 같다. 들어온 동물의 데이터와 나간 동물의 데이터를 조인을 걸어야한다. 하지만 들어온 정보는 있지만 나간 정보는 없는 데이터를 골라야 함으로left join 을 걸어야한다. 그래서 left join 이후 검색 결과를 조회해보면 다음과 같다.  전체 조회를 하기위해 *을 사용했다. 이제 여기서 날짜순으로 오래된 id들 중 상위 3개를 뽑아내야 한다.    이렇게 사용하여 오래된 id들 중 상위 3개를 뽑아냈다.   정답!

인텔리제이 터미널에서 깃 연동 시 다른 계정으로 연동 정보 변경

인텔리제이 터미널에서 해당 깃 레포를 다른 아이디로 변경해야하는 상황이다. 아에 새로 폴더를 생성하고 거기에 깃 연동을 할까 고민했지만, 그냥 아이디 하나로 통합해야겠다고 생각이 들어 기존 아이디를 삭제 후 새로운 아이디로 로그인 하는 과정을 정리해두겠다. git config --global user.name "yunhy96"git config --global user.email "your_email@domain.com" 로 로그인 정보를 바꾸고git remote set-url origin https://github.com/yunhy96/your-repo.git 이런식으로 자신의 레포지토리 주소를 입력한다. 아마 오류가 뜰텐데 이때 다시 git add. -> git commit -m "new" -> gi..

프로젝트 2024.10.29

깃 아이디 로그인에서 토큰 로그인으로 바꾸는 방법

" data-ke-type="html">HTML 삽입미리보기할 수 없는 소스 잘 사용하고 있던 깃 로컬 환경에서 푸쉬를 하려니 깃에 로그인을 해야한다고 했다. 아이디와 비밀번호를 올바르게 입력했지만 권장하지 않는 방법이라고 한다. 일단 깃에 들어가서 오른쪽 상단의 아이디 아이콘을 클릭 후  왼쪽 가장 아래 메뉴인 디벨로퍼 세팅에 들어간다.  그 뒤 generate new token 에서 원하는 권한을 넣은 뒤 토큰을 생성한다. 그러면 토큰 키값이 나오는데 이 토큰을 잘 저장해둬야한다. 그리고 사용하는 깃 프로젝트의 터미널을 열거나 명령어 입력으로 git remote set-url origin https://ghp_180GqzQ@github.com/yunhy96-web/CodingTest.git  이렇게 ..

프로젝트 2024.09.03