본문 바로가기

분류 전체보기

(107)
AWS Elastic Beanstalk에서 로깅하고 AWS ElasticSearch Service + Kibana로 로그 시각화하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 AWS의 Elastic Beanstalk에서 로깅을 어떻게 할 수 있는지 알아보고, 추가적으로 Elastic Search와 Kibana로 로그를 모니터링하는 방법에 대해 소개해드리겠습니다! 공식 문서를 보고 따라한 방법이 아닌 많은 시행착오와 삽질과 멘토님의 도움으로 완성한 방법입니다. 따라서 이 방법이 정답은 아니라는 것을 알려드리고 시작하려고 합니다. 저는 위 사진과 같은 구조로 구현을 할 예정입니다! 서울리전을 기준으로 링크를 걸어두었으니, 다른 리전이신 분들은 하이퍼링크 걸린 링크에 들어간 후에 리전을 바꿔주세요! 🙏 🔌 로그 포맷 JSON으로 변경하기 가장 먼저 로그 포맷은 JSON으로 관리하는게 가장 편하고 트래킹하기도 편했기 때문에 로그 포맷을 JS..
[AWS] Elastic Beanstalk Timezone KST로 변경하기 🥺 문제 발생 일요일 11시마다 실행하는 스케줄러가 있어서 아래와 같이 스케줄러를 설정했다. @RequiredArgsConstructor @Service public class TestSubscribeScheduler { private final EmailTesterService emailTesterService; @Scheduled(cron = "0 0 23 * * SUN") public void sendEmailToTester() { emailTesterService.sendToTesters(); } } 로컬에서는 잘 되어서 아무 생각 없이 서버에 올렸는데, 스케줄러가 동작하지 않았다 … 그러다 로그를 확인했는데, 로그가 찍히는 timestamp와 애플리케이션 내부에서 찍히는 timestamp의 시간..
AWS SES(Simple Email Service) 사용법과 Spring Boot에서 SES 사용하기 🔐 들어가며 안녕하세요! 이번 포스팅에서 AWS에서 제공해주는 이메일 발송 서비스인 Simple Email Service(SES)의 사용법과 Spring Boot에서는 어떻게 사용하는지 소개해드리려고 합니다. 📚 AWS SES 사용하기 서울 리전(ap-northeast-2) 기준으로 작성된 포스팅입니다. 1. SandBox 상태 해제하기 처음에 AWS에서 이메일을 등록한다고 바로 사용할 수 있는게 아닙니다. 초기 상태는 'SandBox'라는 상태인데, 이 상태일 때에는 AWS SES를 사용할 수 없습니다. Sending Statistics에 들어가면, 현재 상태가 Sandbox 상태인 것을 확인할 수 있습니다. Sandbox상태를 해제하기 위해서는 Edit your account details를 눌러 웹..
커뮤니케이션과 질문 (질문의 두려움 극복하기) 🤼‍♂️ 팀 프로젝트에서 가장 중요한 것 팀 프로젝트를 할 때 가장 중요한 것은 무엇일까요? 저는 칭찬, 존중, 배려도 물론 좋지만 보통 팀 프로젝트에서 커뮤니케이션을 하게 되는 이유는 하나의 목적을 바라보며 함께 으쌰으쌰 하며 나아가는 것이기 때문에 신속하고 투명한 커뮤니케이션이 가장 기본적이고, 중요한 요소라고 생각합니다. 그렇다면 과연 신속하고 투명한 커뮤니케이션이란 무엇을 의미하는 것일까요? 신속하고 1. 빠른 답장 해주기 🐱 : 🐶님! 작성하신 문서를 봤는데 이런 문제점이 있는 것 같아요! 어떻게 생각하세요? (24시간 뒤) 🐱 : @🐶님ㅠㅠ 답장 부탁드려요! 🐶 : 아이쿠 죄송해요 ㅠ 알람이 안 울려서 이제 봤네요 가장 기본적이고 어쩌면 당연하다고 생각할 수 있지만, 생각 외로 잘 지켜지지 않..
Spring Boot에서 JWT 사용하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 JWT에 대한 간단한 설명과, Spring Boot에서는 JWT를 어떻게 사용하는지 소개해드리려고 합니다. 전체 코드는 Github에서 확인이 가능합니다. 📚 사전준비 1. 서버 기반 인증 vs 토큰 기반 인증 특정 사용자가 서버에 접근을 했을 때, 이 사용자가 인증된 사용자인지 구분하기 위해서는 여러 방법을 사용할 수 있는데요. 대표적인 방법으로는 서버 기반 인증 토큰 기반 인증 위 2가지 방법으로 나눌 수 있습니다. 위 방법들은 각각의 장, 단점이 존재하기 때문에 상황에 맞게 적절한 방법을 선택해야합니다. 그 중 JWT는 '토큰 기반 인증'에 해당하는 방법입니다. 토큰을 사용한다는 것은 요청과 응답에 토큰을 함께 보내 이 사용자가 유효한 사용자인지를 검색하는..
[AWS] Beanstalk 상태 경고(Warning) 해결 방법 문제 발생 Elastic Beanstalk 환경을 만들었는데, 자꾸 상태가 경고로 떠서 Github Action으로 CI/CD를 돌리면 배포는 되는데, 깃허브 액션이 상태때문에 자꾸 실패하는 현상이 발생했다. Environment health has transitioned from Pending to Warning. Access denied while accessing Auto Scaling and Elastic Load Balancing using role "arn:aws:iam::~:role/aws-elasticbeanstalk-service-role". Verify the role policy. 로그를 천천히 읽어보니 aws-elasticbeanstalk-service-role에 권한이 없어서 오류..
똑똑한 스타트업처럼 토이 프로젝트하는 비결 (Velog에서 작성한 글을 똑같이 옮겨온 글입니다!) 안녕하세요! 이번에 루비콘 멘토링 프로젝트에 합류해서 팀 프로젝트를 하게 되었는데, 그 경험이 너무 좋아서 여러분께 공유하고자 포스팅을 작성하게 되었습니다! 😄 🤔 원래 진행했던 프로젝트 방법 저는 원래 토이 프로젝트를 진행하면, 브레인 스토밍으로 아이디어 내기 팀원끼리 괜찮다고 생각하면 바로 기능 분석하기 개발하기 릴리즈하기 이런 방식으로 토이 프로젝트를 진행했습니다. 대부분이 이렇게 진행하셨을텐데요, 이렇게 진행하는 프로젝트에는 문제가 있습니다. 🤨 정말로 니즈가 있는지 모름 원하는만큼의 반응을 얻기 힘듦 MVP가 명확하지 않으므로 쓸데 없는 기능이 계속 붙다가 영원히 안 끝날 수 있음 프로젝트 중간에 많은 변수가 생길 수 있음 그런데 루비콘에서..
웹과 네트워크의 기초 1. 웹은 HTTP로 나타낸다 주소창에 URL을 입력하면 내가 원하는 웹 페이지를 얻을 수 있습니다. 그런데 URL을 입력하는 과정부터 웹 페이지가 뜨기까지 무슨 과정을 거치는걸까요? 🚀 간단하게 설명하면 클라이언트가 웹 브라우저에 띄워줘야 하는 정보를 서버에 요청하면, 서버에서는 우리가 필요한 정보들을 응답해줍니다. 이렇게 인터넷 상에서 클라이언트부터 서버까지 데이터를 주고 받을 수 있는 프로토콜을 바로 HTTP(Hyper Text Transfer Protocol)라고 합니다. HTTP의 탄생 배경 HTTP는 멀리 떨어져 있는 동료와 지식을 공유하기 위해 처음으로 등장했습니다. 최초로 고안된 것은 여러 문서를 상호간에 관련 짓는 하이퍼 텍스트와 상호간 참조할 수 있는 WWW(World Wide Web)..