개요클라우드 환경에서의 보안은 시스템의 안정성과 데이터의 무결성을 지키는 데 있어 핵심적인 요소이다. AWS에서는 리소스를 안전하게 관리하기 위하여 보안 그룹을 제공한다. 이 글에서는 보안 그룹의 개념과 RDS와 ec-2 인스턴스간의 리소스 트래픽 제어에 대해 알아보자 내용보안 그룹이란?보안 그룹은 AWS의 가상 네트워크인 VPC(Virtual Private Cloud) 내에서 작동하며, 인스턴스 수준에서 네트워크 접근을 제어한다. 각 보안 그룹은 인바운드(Inbound)와 아웃바운드(Outbound) 트래픽에 대한 규칙을 정의할 수 있으며, 이를 통해 특정 포트나 IP 주소 범위에 대한 접근을 허용하거나 제한할 수 있다. 중요한 점은 보안 그룹이 상태 기반(stateful) 필터링을 사용한다는 것이다..
개요 스프링 프레임워크에서 데이터에 접근할 때 트랜잭션을 효과적으로 관리하기 위해 여러 가지 선언적 트랜잭션 방안이 제공된다. 그 중에서도 @Transactional 애노테이션은 가장 널리 사용되는 방법 중 하나로, 간단한 설정만으로도 강력한 트랜잭션 관리 기능을 구현할 수 있다. 본 글에서는 이러한 선언적 트랜잭션 방안들에 대해 추가로 살펴보고, 특히 @Transactional의 개념과 활용 방법, 그리고 이를 사용하면서 고려해야 할 다양한 사항들에 대해 깊이 있게 논의하고자 한다. 내용@Transactional이 무엇인가? @Transactional은 스프링 프레임워크에서 제공하는 강력한 선언적 트랜잭션 관리 기능을 구현하기 위한 애노테이션이다. 이 애노테이션을 사용하면 코드의 비즈니스 로직과 트랜..
개요 이전 글에서 Hibernate의 AnnotationBinder에서 어떻게 연관 관게를 처리하는지 알아보았다. 그때 흥미로운 점이 바로 어노테이션 메타 데이터를 아래와 같은 형태로 검증한다는 것이었다. if (property.isAnnotationPresent(OneToOne.class)) 이 이 property는 어떤식으로 설계되어 있는지 궁금하여 분석해보았는데, 같은 글에 다루기에는 양이 방대할 것 같아서 별도의 내용으로 글을 작성하기로 하였다. (JPA) Hibernate는 내부적으로 어떻게 연관 관계 어노테이션을 처리할까? (feat: AnnotationBinder, Hibernate 5개요이전 글에서 Lazy와 Eager 중 Lazy를 사용해 성능을 튜닝해야 한다는 이야기를 했었다. 이번 포..
개요 이전 글에서 Lazy와 Eager 중 Lazy를 사용해 성능을 튜닝해야 한다는 이야기를 했었다. 이번 포스팅에서는 JPA가 내부적으로 Lazy와 Eager 로딩을 어떻게 구분하는지, 그리고 이를 판단하는 주체가 누구인지, 그 주체가 어떻게 동작하는지 더 깊이 있게 파고들어 보자. (hibernate 5.4.18.Final 기준) JPA 연관 관계 조회 성능 최적화 (feat: One To One, Many To One, 지연 로딩, 패치 조인)개요 JPA를 실무에서 사용하다 보면 대표적으로 거론되는 문제 중 하나가 바로 N+1 문제이다. 필자 또한 JPA를 이용해 직접 쿼리를 짜지 않고도 객체 지향적으로 매핑할 수 있다는 점에서 큰 생산wise-dev-seop.tistory.com JPA 연관 관계..