전체 글 23

SSH 동작 원리

Docker 환경 Jenkins에서 Slave 노드 구성을 하는데 SSH 연결 수립에 아래와 같은 문제가 생겨 원인을 찾던 중에 SSH 동작에서 왜 이런 에러가 발생하는지 궁금해서 SSH 동작 원리에 대해 공부하게 됐고, 이 문제에 대해서 해결할 수 있었다. jenkins@a09ec2ec29aa:~/.ssh$ ssh jenkins@agent1 jenkins@agent1: Permission denied (publickey,keyboard-interactive). SSH란? 시큐어 셸(Secure Shell, SSH)은 OSI 계층에서 애플리케이션 계층에 속하며 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그..

서버 2021.09.06

[JPA] 영속성 관리

Entity 란? DB 테이블에 매핑되는 자바 클래스 영속성 컨텍스트 (Persistence Context) Entity를 영구히 저장하는 환경 Entity Manager → Persistence Context → Database 순으로 접근 1차 캐시 만약, find() 메소드를 호출했을 때, 영속성 컨텍스트의 1차 캐시에서 찾고 없으면 데이터베이스에서 조회한다. 캐시로 성능 상의 이점을 누릴 수 있음. 동일성 보장 영속성 컨텍스트에서 관리하는 엔티티 객체는 동일성을 보장해준다. 트랜잭션을 지원하는 쓰기 지연 변경 감지 지연 로딩 Entity Lifecycle 비영속 객체 생성한 직후, 영속성 컨텍스트와는 관계가 전혀 없음. 영속 persist()나 find() 메소드를 통해 엔티티를 저장하거나 조회하..

AWS Secrets Manager로 애플리케이션에서 RDS 자격증명 정보 보안하기

보통 AWS를 처음 시작하게 되면 EC2와 관련된 컴퓨팅 리소스를 많이 사용하게 되고, 그 다음으로는 RDS인 것 같다. 그리고 개발자들은 소스 코드의 설정 파일에 RDS 접속 정보를 넣어서 연결하게 된다. 이 때, 생길 수 있는 문제는 바로 RDS의 자격증명 정보(마스터 계정 아이디, 비밀번호)가 여과없이 소스 코드에 드러나게 되는 것이다. 이 부분을 해결하기 위해 AWS는 Secrets Manager라는 서비스를 출시했다. AWS Secrets Manager 란? AWS Secrets Manager는 애플리케이션, 서비스, IT 리소스에 액세스할 때 필요한 보안 정보를 보호하는 데 도움이 됩니다. 이 서비스를 사용하면 수명 주기에 걸쳐 데이터베이스 자격 증명, API 키 및 다른 보안 정보를 손쉽게 ..

DevOps 2021.08.06