Develop/서버 5

인프런 <AWS 입문자를 위한 강의> 강의메모

AWS(Amazon Web Service) 입문자를 위한 강의 - 인프런 | 강의 요즈음 회사 및 다양한 프로젝트에서 종종 사용되는 AWS 서비스들의 핵심 이론을 배우며 뿐만 아니라 함께 따라하는 실습을 통하여 AWS를 온전히 내것으로 만들자!, [사진] AWS 핵심 기술, 기본기부 www.inflearn.com ✅섹션 0: AWS Introduction - ✅섹션 1: AWS IAM - ✅섹션 2: EC2 EBS: Elastic Block Storage - 저장 공간이 생성되며, EC2 인스턴스에 부착된다. - 디스크 볼륨 위에 File System이 생성된다. - EBS는 특정 Availability Zone에 생성된다. EBS 볼륨 타입 1) General Purpose SSD (GP2) 2) Pr..

Develop/서버 2023.07.29

인프런 <스타트업과 함께하는 AWS 클라우드> 강의기록

✅섹션 0: 클라우드를 사용해야 하는 이유 Security Group - 서버를 만들 땐 방화벽이 있어야 한다. - SSH - HTTP - HTTPS 웹이니까. 인스턴스 내부로 접근하려면? - connect - 그러나 쉘로도 접근해보기. ✅섹션 1: 로드밸런서 사용해보기 - 가용영역(Availabilty Zone): 데이터센터. - 리전(Region): 3개 이상의 가용역역을 논리적으로 묶음. - 인스턴스를 여러개 사용하게 될텐데, 주소가 여러개인데 사용자의 트래픽을 받아 분산시켜줄거야. - 로드밸런서는 가용영역을 최소 2개 이상 선택해야하는 이유: 한 가용영역이 문제가 생겨도, 다른 한쪽으로 버틸 수 있기 때문. 1. 우선 HTTP, HTTPS rule 포함한 SecurityGroup 만들기 2. 로드..

Develop/서버 2023.07.27

메세지 큐 시스템: SQS,Worker,Cron,Queue API Server

메세지 큐 시스템: SQS,Worker,Cron,Queue API Server 목표 - 대량의 푸시를 Main Server 영향 가지 않도록 [정해진 시간에, 따로, 안전하게] 보내기 : 유저 경험 최적화🔥 : DB 부하 줄여 비용 절감🔥 현재 문제 상황 : Main Server에서 [DB에게 무리한 데이터를 요청]하고 [무거운 로직을 메인서버에서 돌려] 사용자에게 푸시를 보내는 과정에서 부하가 발생하여, [비용이 들고] [유저 경험을 안좋게] 만든다. 문제점: [DB에게 무리한 데이터를 요청] 해결법: DB에게는 최대한 심플하게 데이터 요청 where절에 많은 요청 금지. 최대한 select만 해서 데이터 가져오고, 나머지 데이터 필터링은 (DB보다 값싼) 인스턴스 안에서 하자. 문제점: [무거운 로직..

Develop/서버 2023.03.12

Github Action 오류 해결 : InvalidParameterValue

첫번째 InvalidParameterValue 오류 An error occurred (InvalidParameterValue) when calling the UpdateEnvironment operation: Environment named xxx is in an invalid state for this operation. Must be Ready. 환경 상태가 ok가 아닌 다른 상태면 github action 도중 오류가 나는 것 같다. 사진처럼 ok 상태일 때 배포를 다시 진행해보자! 두번째 InvalidParameterValue 오류 An error occurred (InvalidParameterValue) when calling the UpdateEnvironment operation: No Ap..

Develop/서버 2023.02.08

에러해결: PayloadTooLargeError: request entity too large

AWS 로그를 뜯어보던 중... 다음 에러를 발견했다. PayloadTooLargeError: request entity too large 그대로 구글링하니 해결법은 쉬웠다. 파싱하려는 데이터의 크기가 너무 크기 때문에 생기는 에러이며, 파싱할 수 있는 최대치를 늘려주면 해결된다. 기본은 100kb인데, 50mb까지 늘려주었다. import { urlencoded, json } from 'body-parser'; app.use(json({ limit: '50mb' })); app.use(urlencoded({ limit: '50mb', extended: true })); body-parser란? - 요청의 본문을 해석해주는 미들웨어다. - post, put 요청 메소드의 request.body를 읽어올 ..

Develop/서버 2023.02.06