[AWS][트러블슈팅] EKS 환경에서 쿠버네티스 시크릿으로 비밀키 관리하기
·
AWS
1. 문제 상황현재 EKS로 배포하고자 하는 서비스가 API Gateway를 통해 공개키 인증이 필요하도록 구현하였다. ECR로 push하는 도커 이미지에는 비밀키에 대한 정보를 갖고있어야하는데,만약 이미지를 탈취당하거나 노출될 경우, 경우 비밀키가 공개될 수 있는 보안 취약점이 존재한다. 또한 이미지 레이어 캐싱 구조상, 한번 포함되면 완전히 제거하기 어렵기 때문에 한번이라도 비밀키값이 포함되지않도록 유의해야한다. 따라서 도커 이미지가 실행될 때 비밀키를 사용할 수 있어야하지만, 비밀키 내용이 직접 이미지에 포함되지 않는 방법을 찾아야만 했다.기존 spring boot로 실행할때는 key path를 인자로 넣어 key 값을 참조할 수 있도록 하였다. 2. 해결방법사용하는 키값으로 시크릿을 생성하여, 쿠..
[AWS][트러블슈팅] ECR 이미지 업데이트 문제 해결 (latest 태그, Rolling 업데이트)
·
AWS
1. 문제 상황현재 스프링부트 프로젝트를 Dockerfile로 빌드한 후, 이를 ECR에 업로드하고 쿠버네티스 매니페스트를 통해 pod로 구성하는 작업을 진행중이었다. auth-service는 Authorized된 토큰만 접근을 허용했기때문에, healthCheck하는 요청조차도 거부해서 pod가 Ready상태가 안되는 문제가 있었다. 근데 오류를 해결하고자 아무리 코드를 업데이트하고 ECR에 푸시 후 새로 pod를 구성해도 문제는 전혀 해결될 기미가 안보였다 ㅠㅠ 2. 문제 원인 분석 & 해결 방법오류를 무한히 수정했는데도 똑같은 오류가 발생했었기 때문에, JwtFiller로 들어오는 로그를 직접 확인하고자 아래와 같은 로그를 출력하는 코드를 포함시켰다.log.info("Request Path: {},..
[AWS][트러블슈팅] EKS kubectl 에러, Error from server (Forbidden): nodes is forbidden
·
AWS
현재 EKS로 마이그레이션을 진행하면서, 노드 클러스터를 프라이빗 서브넷에 엔드포인트를 두었다. 만약 노드 클러스터의 엔드포인트가 '퍼블릭'이었다면 맥 터미널 등 외부 CLI 환경을 통해 접근할 수 있었겠지만나는 보안성을 높이고자 엔드포인트를 '프라이빗'으로 두었기 때문에 동일 VPC 내의 인스턴스로 접근해야 했었다. EKS 클러스터에 접근하기 위한 인스턴스로 기존에 사용하던 EC2 인스턴스를 그대로 사용하였다.(각종 패키지 설치하고 설정하는게 귀찮아서...) EKS Cluster를 만들때는 AWS root 계정으로 로그인하여 생성했는데, 이 때문에 현재 EC2인스턴스에 연결된 IAM 사용자로는 권한 문제로 계속 kubectl get nodes가 안되고 오류가 발생했었다. 다음과 같은 순서로 문제를 해결..
[SpringBoot][트러블슈팅] com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed 보안 오류
·
AWS
1. 문제 상황 현재 스프링부트 프로젝트를 run 했을 때,com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed 보안 오류가 발생하는 상황이다. 사용중인 application.yml은 다음과 같다.spring: datasource: url: jdbc:mysql://localhost:3306/[database_name]?useSSL=false&serverTimezone=Asia/Seoul&characterEncoding=UTF-8 username: password: driver-class-name: com.mysql.cj.jdbc.Driver 2. 문제 원인이 에러는 MySQL ..
[AWS] 과금 폭탄 $1500 찍힌 썰 (ECS, CloudWatch Log)
·
AWS
1. 사건의 발단사건 발생은 바야흐로 8월 초...기존 EC2 서비스에서 ECS로 서버를 마이그레이션하는 작업을 수행중이었다. 일요일에 연구실에서 열심히 ECS로 마이그레이션을 진행을 마무리했고 그대로 노트북을 덮었다.그 주 화요일에 팀별 멘토링 시간에서, 멘토님의 AWS 비용 개선 .. 내용을 듣다가 불현듯 이번에 ECS로 바꿨는데... 뭐 많이 나온거 없겠지?라는 생각이 머리속을 스치고 지나갔다. 그대로 바로 결제 및 비용관리 탭에 들어가보니 CloudWatch로"$1500"가 찍혀있었다. 난 내가 잘못본줄 알았다ㅋㅋㅋ 진짜 머리속이 새하얘지고.. 눈비비고 다시봐도 그대로인게 공포 만약 ECS로 1500달러 나왔으면 조금이라도 이해를 하겠는데, CloudWatch로 1500달러인게 더 이해가 안..
[AWS][트러블슈팅] CloudFront Access Denied 에러 (This XML file does not appear to have any style information associated with it.)
·
AWS
문제 발생구현한 웹페이지에서 뒤로가기 버튼 클릭시, 다음과 같은 오류가 자주 발생한다. 페이지를 처음 열고나서는 이런 오류가 잘 안생기는데, 몇분 뒤에 다시 사이트에 들어와서 뒤로가기 버튼을 누르면 아래와 같은 오류가 발생하는 현상이 있었다.Access DeniedThis XML file does not appear to have any style information associated with it. The document tree is shown below.AccessDeniedAccess Denied... 오류의 내용을 살펴보니, S3 버킷쪽에서 Access Denied 오류가 발생하는것 같았다. 원인 분석현재 내가 구현한 서비스는 프론트를 React로 구현하여, S3 버킷에 담고 이를 Cloud..