전체 글
-
aws sqs를 이용한 lambda로 fcm push 전송하기Backend/NestJS 2024. 1. 4. 18:37
현재 Cron으로 특정 시간대에 push 알림이 동작한다. 봇서버 하나에서 모든 처리를 다 해서, Message Queue를 이용해 lambda에서 푸시를 전송하기로 했다. 목차 1. AWS SQS 생성 2. NestJS SQS 처리 코드 작성(producer / customer) 3. AWS Lambda 코드 작성 4. AWS Lambda 생성 및 설정 1. AWS SQS 생성 푸시 알림의 경우 FIFO일 필요가 없어서, 스탠다드를 선택했다. 그리고 이름을 지정해준다. 따로 더 설정할게 없으면 스크롤을 내려서 생성 버튼을 누른다. 생성이 되었다면, Name, URL, Region을 복사해두자. 2. NestJS SQS 처리 코드 작성(producer / customer) 코드 작성에 앞서 아래 2개의 ..
-
[nestjs/react] nestia로 sdk package 생성 해서 리엑트에서 사용하기(feat. github npm registry)Backend/NestJS 2023. 12. 21. 19:45
기전 nestjs 프로젝트를 nestia 환경으로 마이그레이션 중이다. nestia는 참 편리한게 많은데. 그 중 대박적인게 명령어 하나로 sdk를 생성 할 수 있는 것이다. 그래서 기존 프로젝트에 nestia를 설치한 후 그 구조에 맞게 변경을 시켰다. 그런 뒤, 리엑트에서 sdk를 다운 받아서, 백엔드에 요청하는 것을 하고자 한다. 일단 nestia 코드를 작성하는 것은 생략한다. 아래 링크로 대체하겠다. 참고로 samchon 이분이 개발했다. https://github.com/samchon/nestia-template GitHub - samchon/nestia-template: Nestia template project installed by "npx nestia start" Nestia templ..
-
AWS lambda를 이용해 RDS DB cloudwatch 알림 잔디(JANDI) 웹훅(webhook)으로 받기.Infra/AWS 2023. 12. 14. 16:21
오늘 아침 일찍, AWS로 운영중인 개발용 DB가 다운이 됐었다. 모니터링을 살펴본 결과, 사용자가 없는데, 갑자기 이럴수가 있네? 그래서 이슈 발생시 JANDI 메신저로 webhook을 날리도록 만들기로 했다. JANDI 또는 SLACK을 써도 된다. [목차] 1. SNS(Simple Notification Service) topic 생성 2. RDS DB CloudWatch 설정 3. JANDI webhook URL발급 4. Lambda 함수 생성 및 SNS trigger 5. 테스트 & 실행 1. SNS(Simple Notification Service) topic 생성 적당한 이름으로 지정하면 된다. 2. RDS DB CloudWatch 설정 하고 싶은 설정을 맘껏 추가해주자! 3. JANDI w..
-
hls를 위한 cloudfront + signed cookie + lambda@edgeInfra 2023. 11. 13. 17:39
이 글을 쓰는 목적? hls를 처음 접하고 구현하는데 삽질을 많이 해서, 다른 이들은 그 과정을 거치지 않게 하고 함이다. 해당글을 참고해서 진행을 했는데,,, 빠진 부분이 있어서, 고생을 좀 했다. 초보자들도 그냥 설정을 따라서 그대로 세팅하면 되도록 작성하겠다. 영상 컨텐츠 서비스를 hls로 운영하기 위한 작업을 했다. hls란? Http Live Streaming 기존 서비스는 영상을 재생 하려면 .mp4 파일을 통으로 다운로드해서 재생을 했다면, hls를 적용시키면 영상 파일을 1~2분 단위로 .ts 확장자로 쪼개어 저장하고, .m3u8에 메타데이터를 기록해서, 순차적으로 다운로드 받으면서 재생된다. 실시간 서비스에 주로 이용된다. 지금 당장 실시간 서비스를 하려는게 목적은 아니다. 보안 차원에서..
-
주도성(Proactive)Thinking 2023. 9. 13. 20:38
회사를 다니고 있다. 2번째 회사다. 첫 번째 회사에서 주도성이 없었다. 즉, 권한이 없었다. 떨어지는 일을 해야만 했다. 의지와 상관없이, 전문 분야가 아니라도 닥치는 대로 했다. 그래서 퇴사했다. 공장의 부속품이 된 나. 나보다 꿈이 작은 대표. 그래서 퇴사했다. 두 번째 회사를 왔다. 처음엔 주도성이 있었다, 하지만 얼마 안가 계급이 생겼다. 떨어지는 일을 해야만 했다. 의지와 상관없이, 되는 대로 해서 시장에 내놓게 됐다. (나의 권한이 낮아졌다.) 첫 번째 회사보다 괜찮다. 아주 괜찮다. 그런데 본질적인 것은 같다고 생각이 들어 글로 남긴다. 나에 대한 문제다. 외줄 타고 있는 기분이다. 프레질하다. 구성원 한 명이라도 나가면 타격이 크다. 시장에 조금만 변수가 생겨도 타격이 크다. 하지만, 터..
-
첫 자전거 출근길에 든 생각Thinking 2023. 9. 5. 14:03
한번씩 자전거로 출근하면 괜찮겠다? 라는 생각을 하곤 했었다. 한번 검색도 해봤다. 네이버 지도 기준으로 20분이 걸린다고 나왔다. 오늘 집을 나가기 직전, 오늘이 그날이구나 생각하고 마음을 먹었다. 어제 지하철역에 자전거를 세워뒀는데, 일단 거기까지 가면서 결정을 고려했고, 결정했다. 처음엔 순조로웠다. 교차로가 많아 신호를 기다릴때 살짝 답답한 느낌이 들었지만, 괜찮았다. 그러다 큰 교차로에 진입했고, 넘어가려면 엄청 돌아서 가야했다. 그리고 오르막이 많아서, 혼란스러웠다. '여기 자전거를 세우고 더 늦기 전 지금이라도 지하철을 타고 가?' '아 어쩌지?' 근처를 왔다갔다하며 고민하다보니, 지하철 엘리베이터가 보였다. 자전거를 끌고 계단으로 가기엔 힘들정도로 깊었고, 자전거 라인도 없어서 안되겠다 싶..
-
aws cloudfront를 이용해서 s3에 있는 나의 컨텐츠 보호하기(feat. signed url)Infra/AWS 2023. 8. 23. 18:26
aws에서 동영상 서비스를 구축중에 있다. 그런 와중에 영상 유출 방지를 위한 대책이 필요했다. 기본적으로 public에서 url 접근을 허용해 서비스를 개발하였고, 이제 컨텐츠 보호를 위해 인프라 내부 환경에서만 접근 가능하도록 한다. 첫 번째 방법 vpc를 기준으로 외부에서 접근 못하도록 한다. 그렇게 되면 서버에서는 접근이 되지만, 외부에서 url을 통해 접근을 못하게 된다. 우선 vpc endpoint를 생성해 s3 policy 정책을 수정 했다. 기존 정책에서 vpce를 확인하는 정책을 추가했다. { "Version": "2012-10-17", "Id": "Access-to-bucket-using-specific-endpoint", "Statement": [ { "Effect": "Allow",..
-
[terraform] Error: creating Amazon S3 (Simple Storage) Bucket BucketAlreadyOwnedByYou: Your previous request to create the named bucket succeeded and you already own it.Infra/AWS 2023. 8. 4. 18:19
terraform destroy를 하고 난 후, s3에 버킷이 여전히 존재 한다면? 다시 apply를 할때 중복 에러가 발생된다. 나는 destroy 하더라도 s3 bucket은 그대로 유지하면서 활요하고 싶다. 이유는 테스트 하면서 빈번히 생성/삭제을 하게 되고 terraform.tfstate를 s3에서 관리하기 때문에, 버킷이 지워지는걸 원치 않는다. 이미 버킷이 존재하는 경우, terraform apply를 하게되면 에러가 발생된다. original code : # main.tf ... resource "aws_s3_bucket" "new_bucket" { bucket = "new_bucket" tags = { Name = "new_bucket" } } resource "aws_s3_bucket_a..