전체 글 789

EKS Auto Mode는 무엇이고 왜 출시되었을까?

1. EKS Auto ModeEKS Auto Mode는 AWS가 EKS 리소스의 일부를 직접 책임지고 관리해 주는 기능입니다. 이를 통해 사용자는 클러스터 관리에 필요한 오버헤드를 줄이고, 비즈니스에 더욱 집중할 수 있습니다. 2. EKS Auto Mode 기능이 왜 출시된 걸까?2024 re:Invent의 AWS re:Invent 2024 - The future of Kubernetes on AWS (KUB201)에서 왜 EKS auto mode를 출시했는지 의도를 볼 수 있습니다.영상 링크: https://youtu.be/_wwu0VKy3w4?feature=shared&t=3052  EKS는 학습 곡선이 높아 AWS도 고객들이 어려움을 겪고 있다는 점을 인지했습니다. 쿠버네티스와 AWS 서비스를 모두..

ElasticCache Scale-Up 후 SpringBoot 연결 오류

이 글은 ElasticCache redis 클러스터 scale up 이 후 springboot에서 발생했던 오류를 소개합니다. 그리고 오류 원인과 해결방법을 설명합니다.  1. 발생했던 오류A팀은 ElasticCache redis 클러스터 성능을 높이기 위해 scale up을 결정했습니다. 그러나 ElasticCache를 scale up한 지 약 10분 뒤, Spring Boot pod에서 에러 로그가 발생했습니다. 에러 로그에는 pod가 ElasticCache 인스턴스에 접속하지 못한다는 내용이 포함되어 있었습니다.Reconnecting. last destination was .... 2. 오류 해결저희는 Reconnecting오류를 보고 ElasticCache 인스턴스 IP가 변경되어서 접속 못한 것..

정보보안의 시작 - 자산 식별

어느 날, A팀에게 이메일로 요청을 받았습니다. 모든 AWS 계정의 EC2 인스턴스에 OOO 소프트웨어를 설치해 달라는 내용이었습니다. 소프트웨어 OOO은 자산 식별을 위한 도구였으며, 이 요청을 받고 자산 식별이 무엇인지 찾아보게 되었습니다. ISMS-P에서는 자산 식별을 다음과 같이 명시하고 있습니다."정보 자산의 분류 기준을 수립하고, 정보 보호 및 개인정보 보호 관리체계 범위 내의 모든 자산을 식별하여 목록으로 관리하여야 한다." 자산 식별의 정의를 보고 정보 보안에 대한 새로운 관점을 가지게 되었습니다. 이전까지는 정보 보안을 기술적인 측면에서만 생각해왔지만, 기술보다 더 중요한 것은 내 자산이 무엇인지 명확히 식별하는 것임을 깨달았습니다. 이번 경험은 정보 보안의 기본이 자산의 정의와 식별에 ..

회고모음 2024.11.02

쿠버네티스 관리자가 혼자 쿠버네티스 업그레이드 할 수 있을까?

24.10 3주차에 EKS를 업그레이드를 하고 느낀 것들을 이 글에 적습니다. 쿠버네티스 소개제 팀이 관리하는 쿠버네티스는 1개가 넘는데 이 글에서 언급하는 쿠버네티스는 여러 팀이 같이 사용하는 쿠버네티스 입니다.  선택한 업그레이드 전략올해 저는 1개 클러스터를 in-place로 업그레이드 한 적이 있습니다. 그리고 몇 개 클러스터는 blue/green방식으로 진행했습니다. 이 글에서 언급하는 쿠버네티스는 blue/green을 선택했습니다. 처음에는 in-place를 선택했지만 "롤백" 우선순위가 높다는 것을 생각하여 blue/green으로 선택했습니다. 그리고 실제로 쿠버네티스 업그레이드 후 롤백했습니다. 쿠버네티스 업그레이드는 잘 되었다. 하지만,쿠버네티스 업그레이드는 잘 되었지만 롤백을 했습니..

회고모음 2024.10.27

쿠버네티스 버전을 업그레이드 할 때 어떤 전략을 선택해야할까? (in-place, 복제)

쿠버네티스 운영의 가장 큰 부담스러운 점은 클러스터 버전 업그레이드 입니다. 클러스터 버전을 업그레이드 했을 때 서비스 장애가 발생할 확률이 있기 때문입니다. 쿠버네티스 업그레이드 전략쿠버네티스 버전 업그레이드는 크게 In-place와 클러스터 복제가 있습니다.  in-place는 서버 한개한개 차례대로 쿠버네티스 버전을 업그레이드 하는 방법입니다. control plane을 먼저 업그레이드 하고 worker node버전을 업그레이드 합니다. 클러스터 복제는 버전이 업그레이드 된 쿠버네티스 클러스터와 쿠버네티스 리소스를 복제한 후, 트래픽을 전환하는 방식입니다. 트래픽을 신규 클러스터에 한번에 전환하면 blue/green, 조금씩 전환하면 canary라고 부릅니다. 어떤 전략을 사용해야할까?개인적으로 ..

디버깅 과정에서 직관력이 방해되었던 경험

이번주 24년 10월 2주차 금요일, 약 18:00경에 디버깅을 했던 경험을 공유하고자 합니다.  A팀에서 운영배포를 하고 있었고 애플리케이션이 실행될 때 performance_shcema관련 에러가 발생했습니다. 다행히도 서비스에 영향은 없없지만 에러 메세지가 보였기 때문에 디버깅을 잠시 했었습니다. performance_shcema라는 키워드를 보자마자 저는 경험에 의존하여 datadog계정에 권한 부족이라고 바로 생각했습니다. 오류 메세지를 검색하지 않고 datadog라고 판단한거죠. 몇 분뒤 팀원이 오류 메세지를 검색한 후, 애플리케이션이 사용하는 라이브러리에서 문제가 있다는 것을 찾았습니다. 제 직관이 오히려 문제 해결을 방해했던 순간이었습니다. 몇 시간 뒤 퇴근을 하면서 저는 2년 차 때 스..

회고모음 2024.10.14

망분리 개선 주제로 팟캐스트 녹화를 마치며

2024년 8월에 금융위원회에서 망분리 개선 로드맵을 공개했습니다. 감사하게도 팀원 씬커님이 이 주제를 보고 팟캐스트를 진행하고 싶다고 하셔서 오프라인으로 팟캐스트를 진행했습니다.보도자료 링크: https://www.fsc.go.kr/no010101/82885?srchCtgry&curPage&srchKey&srchText&srchBeginDt&srchEndDt  쉬지 않고 약 2시간동안 녹음을 진행했습니다. 큰 주제만 정하고 대본 없이 진행을 했는데 정신차리고 보니 2시간이 지났습니다. 2시간을 녹음했지만 사실 진행은 매끄럽지 않았습니다. 이번 기회로 게스트가 답변을 잘 할 수 있도록 질문을 정리하는게 얼마나 중요한지 느끼게 되었습니다. 2시간 분량을 한번에 업로드하면 청취자가 듣기가 어렵다고 생각했습니..

회고모음 2024.10.13

hashicorp vault secret엔진을 v2로 업그레이드하는 방법

1. secret엔진 v2의 핵심 기능v2 핵심기능은 데이터 버전관리입니다. 그리고 데이터 버전관리가 되기 때문에 데이터 롤백기능도 지원합니다. v1에서는 버전관리 기능이 없어 데이터 롤백이 불가능합니다. 2. 버전 확인방법vault CLI또는 UI대시보드에서 secret엔진 버전을 확인할 수 있습닏. CLI에서는 secret list 명령어로 확인이 가능합니다. 명령어를 실행할 때 -detailed옵션을 설정해야 하며 options필드에 version이 표시됩니다.vault secrets list -detailed UI대시보드에서는 secret 엔진 정보에 버전이 표시됩니다.  3. 업그레이드 하는 방법3.1 데이터가 있는 경우데이터가 이미 있는 secret 엔진인 경우 버전 업그레이드 명령어인 ..

Hashicorp vault 소개

1. Hashicorp vault란?HashiCorp vault는 데이터를 안전하게 저장하는 도구입니다. vault단어의 의미는 금고라는 것을 알면 hashiCorp vault 이미지를 쉽게 연상할 수 있습니다.  vault는 스토리지에 데이터를 저장하는데, 모든 데이터는 암호화되어 있습니다. 따라서 데이터가 유출되더라도 무슨 데이터인지 확인이 불가능합니다. 암호화된 데이터는 vault만 확인할 수 있습니다. 2. vault는 언제 사용할까?vault는 데이터를 암호화해서 저장해야하고 다른 애플리케이션과 호환이 가능해야 하는 요구사항에 적합합니다. 인터넷을 쓸 수 있는 환경이라면 AWS Secrests Manager 등의 후보가 있지만, 인터넷이 되지 않는 환경이면 vault가 유력한 후보입니다. vau..

쿠버네티스 statefulset OnDelete 전략

OnDelete배포전략이란?spec.updateStrategy가 OnDelete로 설정되어 있으면 onDelete 배포전략을 사용한다고 말합니다.apiVersion: apps/v1kind: StatefulSetmetadata: name: ondeletespec: replicas: 3 updateStrategy: type: OnDelete onDelete 전략은 pod가 삭제될 때만 업데이트된 내용이 적용되는 방식입니다. 자동으로 pod가 업데이트되는 것을 방지하고, 사용자가 직접 pod를 하나씩 수동으로 업데이트할 때 사용합니다. 특히 pod 변경 사항이 큰 영향을 미칠 때 유용합니다. 언제 사용할까?onDelete 전략은 스토리지에 영향을 주는 애플리케이션에서 사용됩니다. StatefulSe..