반응형

전체 글 469

AWS Elastic Beanstalk 생성 시 The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist

EB 생성 시 예전과 동작이 달라져서 시간을 버린김에 공유 차 글을 작성해본다. EB 를 사용할 일이 있어서 AWS 계정 하나 생성해서 EB 생성을 해보려고 하니 아래 오류가 계속 발생하면서 생성이 되지 않았다. > The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist. 좀 찾아보니 아래와 같이 예전엔 자동으로 aws-elasticbeanstalk-ec2-role 에 관련 권한을 자동으로 포함시켜주었으나 언제부터인지는 모르겠으나 앞으론 EC2 role 을 생성해서 등록시켜줘야 한다. 링크 아래 사진이 EB 생성 시의 메뉴인데 [EC2 인스턴스 프로파일] 부분이 optional 로 선..

개발/Infra 2024.03.23

테크스펙 문서를 작성해보면서 느낀점

어쩌다보니 테크스펙 문서들을 작성해보게 되었다. 테크스펙 문서가 어떤 문서인지에 대해서는 다른 곳에서 너무 잘 이야기해주고 있어서 패스하겠다. https://blog.banksalad.com/tech/we-work-by-tech-spec/ https://infraeng.dev/tech-spec/ 처음엔 누군가 시켜서 작성을 하게 되었다가 장점을 맛본 뒤에는 누가 시키지 않더라도 테크 스펙 문서를 작성하게 되었다. 아래에 상황들에 놓여져 있다보니 자연스럽게 테크 스펙 문서를 작성하게 되었던 것 같다. 특정 서비스의 히스토리와 관련 도메인을 아는 사람들이 퇴사하면서 나 밖에 남지 않았고 서비스를 개선하려거나 기능 추가를 하려고 할 때, 관련 배경이나 도메인을 모르는 팀원들이 대부분이라 리뷰를 받기 어렵다. ..

[Kafka] retention.ms 가 지난 message 가 읽히는 이유

배경 kafka 에 특정 토픽에서 메세지를 찾는 중 retention 기간이 지난 메세지가 존재하는 것을 확인했다. 토픽 리텐션 기간을 확인 시 retention.ms=604800000 를 확인할 수 있었는데 해당 ms -> day 로 변환 시 7일이다. 그러나 09-11 에 조회 시 08-29 메세지가 조회되어서 관련해서 검색하게 되었다. 수행 명령어 ./kafka-topics --bootstrap-server ... --describe --topic .... 수행 결과 - segment.ms = 604800000 (7일) - delete.retention.ms = 86400000 (1일) - segment.bytes = 1073741824 (1GB) - retention.ms = 604800000 (..

개발 2023.09.13

maxLifeTime 무제한으로 발생한 이슈

요즘 대부분의 회사에서는 MSA 로 서비스가 구성되어 있다. 그렇다면 자신이 담당하고 있는 서비스에서 다른 서비스에 API 를 호출하게 되는 경우가 필연적으로 생기게 되는데 이 때 파악하지 못한 곳에서 문제가 생겨 훗날 기억하기 위해 글을 작성하게 되었다. WebClient 기반으로 A 서비스의 API 를 호출하고 있다고 가정해보자. 이 때 A 서비스는 AWS EB 기반의 blue-green 으로 구성되어 있으며, beanstalk 의 environment url (active.beanstalk.com) 은 route 53 에 test.com 에 연결되어 있다고 해보겠다. A 서비스가 배포할 시에 각 blue - green 환경의 url 을 스왑하는 형식으로 구성되어 있다. 좀 더 쉽게 표현하면 다음과 ..

개발/Spring 2023.05.16

kiensis, spark, ....

chatGPT 라는 놈을 요즘 아주 유용하게 사용하고 있다. 예전엔 질문들을 할 곳이 마땅치도 않아서 블라인드 it 엔지니어 게시판에 질문글 올리거나 했는데.. 나는 로그를 수집하고 프로세싱 과정을 거쳐 어딘가에 저장을 할텐데 어떤 식으로 처리를 하는지 일련의 과정들이 궁금해졌다. kinesis 와 spark 를 사용한다는 전제 하에 얘기를 해보겠다. kinesis 와 spark 는 어쨌든 실시간 데이터를 분석하고 처리하는 시스템인데.. 큰 차이점이 있다고 한다. kinesis 는 aws 에서 제공하는 서비스로 실시간 데이터를 수집하고 처리 및 분석을 하고 spark 는 오픈소스이며 대량의 데이터를 병렬로 처리할 수 있다고 한다. 그리고 데이터를 처리하기 위해 여러 라이브러리들을 제공하는 것으로 보인다...

private method 까지 테스트 코드를 짜야할까

먼저, 테스트 코드를 짜기 쉬운 코드가 있고 테스트 코드를 짜기 어려운 코드가 있을 것 같다. 내가 생각하는 테스트 코드를 짜기 쉬운 코드는 다음과 같다. 막상 생각하려니 잘 생각이 나질 않는다. SOLID 원칙을 적절히 지킨 코드 하나의 메소드가 여러 행위를 구현하지 않은 코드 (1의 연장선이겠지만) 길이가 짧은 메소드 (2의 연장선이겠지만) if, else 가 적은 메소드 만약 이런 코드가 존재한다면 어떻게 테스트 코드를 짜야할까? fun register(request: Request) { checkValidPhone(request.phone) checkValidEmail(request.email) checkAgreeMarketing(request.isAgreeMarketing) val user = ..

'적정 소프트웨어 아키텍처' 리뷰

한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. http://www.yes24.com/Product/Goods/109748333 적정 소프트웨어 아키텍처 - YES24 소프트웨어 개발자를 위한 실용 가이드이 책은 소프트웨어 개발을 시작할 때 필요한 실용 가이드북이다. 소프트웨어 아키텍처의 리스크는 무엇인지, 아키텍처 설계 원칙은 어떻게 적용하고 해 www.yes24.com 다 읽진 못했다. 우선 이 책을 고른 이유는 아키텍처를 설계를 할 때 어떤 부분을 조심해서 해야하는지와 어떻게 설계를 하는지 구체적으로 알고 싶어서 이 책을 골랐다. 아키텍처 설계할 때 그동안 이런 식으로 설계하면 이럴 때는 편하고 이럴 때는 불편할텐데 그래도 편한게 더 크고 먼 미래를 봤을 때도 괜찮으니 이렇게 설계를 해야..

etc/책 리뷰 2022.07.01
반응형