no image
AWS의 SecretsManager, Key Management Service(KMS)를 활용한 Secrets 관리
Key Management Service(KMS)암호화 키 생성 및 관리대칭키와 비대칭키 모두 생성 가능키의 생성, 교체, 비활성화, 삭제 등 전체 수명 주기 관리데이터 암호화/복호화AWS 서비스(S3, RDS)와 통합되어 데이터 암호화 지원애플리케이션에서 직접 KMS API를 호출하여 데이터 암호화/복호화 가능보안 기능IAM과 통합된 세밀한 접근 제어CloudTrail과 연동하여 키 사용 감사(audit) 로그 제공중앙 집중식 키 관리여러 AWS 리전과 계정에 걸쳐 키를 중앙에서 관리키 정책을 통한 세부적인 권한 제어| 요약 : 직접 암호화 키를 관리하지 않고 안전하게 데이터를 보호할 수 있게 해주는 서비스 (암호화/복호화 기능)SecretsManager민감정보(Secrets)를 저장하고 관리DB 자격..
2025.01.03
자바의 테스트 간단 개념 정리
테스트에 대해 공부한 내용을 핵심만 정리해 놓은 포스트입니다. 예시 코드의 환경은 Java, Spring Boot이며, 스프링을 사용하는 테스트(@SpringBootTest)는 다루지 않았습니다. 테스트란? 테스트는 작성한 코드에 문제가 없는지 확인하고, 코드 변경이나 리팩토링 시에도 안정적인 동작을 보장하기 위해 수행합니다. 이는 코드의 신뢰성을 높이고 유지보수성을 강화하기 위한 목적으로 볼 수 있습니다. 또한, CI 과정에서 빌드 후 작성된 테스트를 실행시키고, 테스트를 통과해야만 서버에 배포할 수 있도록 자동화할 수 있습니다. CI/CD의 설명과 구축에 대한 설명은 여기에서 확인할 수 있습니다. 테스트 작성 패턴 각 테스트 메서드마다 @Test 어노테이션을 적어 테스트임을 명시합니다. 테스트 작성은..
2023.12.04
no image
GitHub-Actions를 활용한 Spring Boot AWS CI/CD 프로세스 구현
개발 환경 Spring Boot, Docker, Gradle, Java 11, Github-Actions, AWS EC2 먼저 CI/CD에 대해서 간단하게 알아보겠습니다. CI/CD란? CI (Continuous Integration) CI는 지속적 통합의 약자로, 개발자들이 코드를 중앙 저장소에 통합하는 작업을 지속적으로 자동화하는 프로세스입니다. 이는 여러 개발자가 동시에 작업하고 있는 경우 코드 충돌이나 호환성 문제를 최소화하고, 소프트웨어를 더 빠르게 테스트 및 통합함으로써 품질을 유지하도록 돕습니다. 주요 특징 자동화된 빌드 및 테스트 프로세스 코드 변경 사항의 지속적인 통합 초기 오류 및 호환성 문제 식별 CD (Continuous Delivery / Continuous Deployment) ..
2023.12.01