전체 글

imSoo TecBlog
모놀로식 아키텍처 (Monolithic Architecture)하나의 WAS에서 모든 기능을 처리하도록 구성한다.장점구조가 간단하다시스템 운영과 개발이 편리하다네트워크로 인한 지연 및 데이터 유실 안전하다디버깅이 쉽다 ( 로그 추적에 용이하다 )트랜잭션 관리가 편하다장애에 견고하다단점기능이 많아지면 복잡해질 수 있다 (스파게티 코드)코드베이스가 어지럽다 ( HTML, JS, CSS 파일을 포함해야 하므로 )클라이언트 코드에 버그를 수정하더라도 서버를 다시 실해야하 하는 불편함이 있다Git 브랜치도 많아지고 관리가 어렵다애플리케이션에 대한 확장이 비효율적이다점차 늘어나는 사용자의 요청을 감당하기 위해 시스템을 확장하여 고가용성을 확보해야 한다.소스코드가 증가함에 따라 서버의 빌드시간은 점차 늘어나게 되고,..
problemec2에 올릴 수 있었지만 ec2 메모리가 부족해서 이렇게 된거 ElastiCache 를 사용해보려고 한다.solutionElastiCache 란Amazon ElastiCache는 인 메모리 데이터베이스 캐싱 시스템을 제공하여 애플리케이션이 데이터를 검색 할 수있는 성능, 속도 및 중복성을 향상시키는 클라우드 캐싱 서비스이다.https://ap-northeast-2.console.aws.amazon.com/elasticache/home https://ap-northeast-2.console.aws.amazon.com/elasticache/home?region=ap-northeast-2#/ ap-northeast-2.console.aws.amazon.com1. Start위 링크에 접속해서 오른..
problem ec2에서는 db의 접속이 가능 했지만 외부( intellij , db접속 툴 )에서 접속이 안됐다확인한것1. Inbound(인바운드) 규칙 확인2. 퍼블릭 엑세스 설정 확인두 설정 모두 마친 상태인데 연결 불가가 떳다. solution이유는 RDS에 설정되어 있는 서브넷이 private으로 되어 있어서,내부에서의 접근은 가능 했지만 외부에서 접근할 수 없었던 것이다. 이제 이걸 해결하려면 public으로 변경해 주면 된다.1. AWS 검색창 왼쪽 위에 있는 검색창에 VPC를 검색 후 들어간다.2. 대시보드 아래에 라우팅 테이블에 들어간다. 3.RDS로 시작하는 라우팅 테이블에 들어간다.4. 하단에 라우팅 탭에 라우팅 편집에 들어가서 라우팅 추가 버튼을 눌러준다.대상주소 : 0.0.0.0/..
problem프로필 , 로고 업로드 기능을 위해 서버에서 이미지 처리 기능으로 S3를 사용 했다.S3 의 버켓에 특정 확장자 업로드를 방지하는 정책을 적용 해보기로 했다.solution적용 할 버킷에 접속한다.권한 탭으로 이동 후 아래에 내려오면 버킷 정책이 있다{ "Version": "2012-10-17", "Id": "Policy1717078661759", "Statement": [ { "Sid": "Stmt1717078657627", "Effect": "Deny", "Principal": "*", "Action": [ "s3:GetObject", ..
problem"action_request_validation_exception""Validation Failed: 1: type is missing;"두 예외에 대한 설명도 아래에 담는다폐쇄망(내부망)에서 엘라스틱서치 인덱스의 데이터를 옮기려고 한다해당 인덱스의 데이터를 json 파일로 받아 다시 새로운 인덱스로 옮기는 작업을 했다.solution1. 데이터 -> JSON 파일 추출# 1. 첫 번째 요청으로 스크롤 ID 얻기curl -X GET "http://localhost:9200/index/_search?scroll=1m&size=1000" -H 'Content-Type: application/json' -d'{ "query": { "match_all": {} }}' > my_index.j..
· 개-발/Git
Issue Labelsproblem기본 이슈 레이블은 상당히 제한적이다.그래서 커스텀 해보기로 했다.Github Label 설치 github label을 동기화할 수 있는 라이브러리가 있다. GitHub Label Sync# node.js npm 설치sudo apt install nodejs npm# github-label-sync 설치npm install -g github-label-sync AccessToken 준비레파지토리에 label을 적용하려면 깃헙 access-token이 있어야 한다.이전에 git credential 정책이 바뀌면서 만들어둔 토큰이 있어서 사용했다.access Token 만드는 방법labels.json 만들기새롭게 적용할 label 들을 labels.json 파일로 만들어 주..
problem젠킨스 컨테이너를 새로 올린 후 다시 JOB 을 실행시켰는데Permission denied (publickey,password) 오류가 떳다. 해당 오류 부분은 ssh 로 파일을 보내는 과정에서 오류가 났다.+ ssh -p port 접속id@ip cd /your/path/ && tar -cf - *접속id@ip: Permission denied (publickey,password).서버 -> 젠킨스    // 설정 파일을 보낸 후젠킨스 -> 서버    // 압축된 tar 파일을 보내는 과정 solutionssh config 파일을 수정 해주어야 한다.필자는 양방향으로 파일을 전송 해야되므로 양쪽 모두 rsa 파일이 모두 적용을 해야 됐다.ssh config 파일 위치 vi /etc/ssh/s..
설정버전이 굉장히 중요하다.elasticsearch 버전 별로 deprecated 되는 주요 기능이 있다.ElasticSearch 8.xSpringBoot 3.0.xSpring data ElsticSearch 8.5.3//build.gadle.ktsimplementation("org.springframework.boot:spring-boot-starter-data-elasticsearch")implementation("com.fasterxml.jackson.core:jackson-databind:2.17.0")ConnectorApi key를 사용해도 되고 계정을 추가하고 권한을 넣어 사용해도 된다.키바나에 아래 내용을 입력하면 api-key 가 생성된다.POST /_security/api_key{ "n..
imSoo
sudoSoooooo