전체 글
-
[AWS + Spring] EB + Spring Boot + Aurora RDS 연동 및 Read/Write 분산 처리 (3)Spring 2023. 1. 14. 17:23
저번 포스팅에선 bastion host로 ssh turnnel 방식을 사용하여 Intellij DataBase Tool에 Aurora Server를 연동 하고 Aurora Read Instance(읽기 전용)를 추가했었다. 이번 포스팅에선 Spring Boot에서 ReplicationRouting Configuration을 구성하여 Read-Write 분산 처리를 하고 Elastic beanstalk에 배포할 것이다. * 참고로 우리는 최종적으로 ElasticBeanstalk에 배포까지 할 예정이기 때문에 개발 서버(혹은 스테이징, 운영) 환경 기준으로 진행한 것이다. (local이 아님) 따라서 local(Docker Mysql Container), dev(Aws Aurora Rds) 환경을 나눠줘야 ..
-
[AWS + Spring] EB + Spring Boot + Aurora RDS 연동 및 Read/Write 분산 처리 (2)Spring 2023. 1. 4. 17:23
이전 포스팅에선 ElasticBeanStalk, Aurora Cluster, Bastion Host를 구성했었다. 이번 포스팅에선 Aurora Read Instance(읽기 전용)를 추가하고 bastion host로 ssh turnnel 방식을 사용하여 Intellij DataBase Tool에 Aurora Server를 연동할 예정이다. 💡 프로비저닝된 Amazon Aurora DB 클러스터를 공개적으로 액세스할 수 있는 기본적인 방법은 아래와 같다. DB 인스턴스에 퍼블릭 IP 주소가 있어야 한다. DB 인스턴스가 공개적으로 액세스할 수 있는 서브넷에서 실행되고 있어야 한다. 하지만 위와 같은 구성일 때는, 외부로부터 안전하지가 않고 TLS를 사용하여 VPC 외부에서 오는 연결을 암호화 할 수가 있다..
-
[AWS + Spring] EB + Spring Boot + Aurora RDS 연동 및 Read/Write 분산 처리 (1)Spring 2023. 1. 4. 11:50
이번 포스팅에선 Spring Boot에 Aws Aurora RDS를 연동하고 Read와 Write의 부하 분산 처리를 구성하여 Elastic Beanstalk에 배포(jar)하는 예제를 진행한다 . + 추가적으로 Intellij Database Tool에 SSH 터널링으로 Aurora 연동까지 진행한다. 시작하기 전에 Database Replication의 간단한 개념을 살펴보자. Database Replication Database Replication은 데이터베이스를 복제하는걸 말하는데 기준이 되는 서버가 Primary, 복제 서버는 Secondary라고 한다. 기준이 되는 Primary는 1대로 구성되며 복제된 Secondary는 N대로 구성된다. Database Replication 구성하는 이유..
-
[Script] Regular expression collection (정규식)Script 2022. 12. 13. 21:00
Expression: (String Target).match(regex) Ex) [__정규식__) /(\[__.+?__\))/g; - [__로 시작하고 __)로 끝나는 패턴의 문자열 전역 검색 - Expected Value: "[__정규식__)" Ex) {__Mention_USER_123__} /[^\{__]+([0-9a-zA-Z-_~!@#$%^&*ㄱ-하-ㅣ가-힣]?)+(?=__\})/g - {__로 시작하고 __}로 끝나는 패턴의 문자열에서 {__ 와 __} 사이에 있는 숫자,영어 대소문자, 특수문자, 한글을 추출 - ?를 추가하여 값이 있든 없든 추출 유도 (1자리의 문자도 추출하기 위함) - Expected Value: "Mention_USER_123" Ex) #{티스토리} /(#{)(.*?)(})..
-
[Spring] Spring에서 CORS 처리(설정)하는 방법Spring 2022. 10. 27. 08:25
❗️ Spring에서 Cors를 적용하는 방법에 대해 작성해본다. CORS(Cross-Origin Resource Sharing) CORS(Cross-origin 리소스 공유)는 최신 웹 브라우저의 보안 기능이다. 이 기능을 사용하면 웹 브라우저가 어떤 도메인이 외부 웹 사이트 또는 서비스를 요청할 수 있을지 협상할 수 있다. 대부분의 리소스 요청이 외부 도메인(예: 웹 서비스용 엔드포인트)으로 전송되기 때문에 CORS는 중요한 고려 대상이다. CORS는 다음을 기준으로 cross-origin 요청 시 리소스 공유 여부를 결정한다. 1. 요청을 수행한 특정 도메인 2. 수행 중인 HTTP 요청 유형(GET, PUT, POST, DELETE 등) 즉, 간단히 정의하면 CORS는 웹서버와 WAS가 서로 도메..
-
[Spring] Spring에서 Scheduler 처리하기Spring 2022. 10. 26. 09:08
일정한 시간간격 또는 일정한 시각에 특정 로직을 돌리기 위해서 사용하는 것을 'Scheduler' 라고 한다. Spring에선 'Spring Scheduler' 라이브러리를 제공한다. 💡 Spring Scheduler Spring Scheduler는 Spring Boot starter에 기본적인 의존성이 제공되기 때문에 별도의 추가적인 의존성이 필요하지 않다. 사용하기 위해서 Application Class에 @EnableScheduling 어노테이션 선언 Application.class @EnableScheduling @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplica..
-
[Docker] 자주 쓰는 명령어 정리Docker 2022. 10. 25. 08:22
Docker를 사용할 때, 자주 쓰이는 명령어를 간단하게 정리해본다. * sudo는 권한 상황에 따라 적으면 된다. docker 이미지 검색하기 sudo docker images sudo docker search [이미지 이름] docker 이미지 가져오기 sudo docker pull [이미지 이름]:[태그] sudo docker pull centos:7 docker 이미지 생성하기 sudo docker build sudo docker build --tag hello:0.1 . # default로 Dockerfile을 찾는다. docker 이미지 삭제하기 sudo docker rmi [이미지 id] docker 컨테이너 목록 보기(현재 실행되고 있는 docker 목록 조회) sudo docker ps ..