Programming/Back-end

공부한 내용을 정리합니다
Programming/Back-end

AWS Lambda 배포 시 CORS 문제 해결 : has been blocked by CORS

CORS(Cross-Origin Resource Sharing) 오류 메시지 Access to XMLHttpRequest at 'URL' from origin 'origin' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. CORS 오류는 웹 애플리케이션이 다른 출처(origin)의 리소스에 접근하려 할 때 발생하는 오류입니다. 보안상의 이유로 브라우저는 다른 출처의 리소스에 대한 요청을 차단하는데, 이때 서버 측에서 CORS 정책을 설정해야 합니다. 1. AWS Lambda 콘솔에서 CORS 설정 CORS 오류를 해결하기 위해서는 우선 서버 측에서 Acc..

Programming/Back-end

AWS API Gateway설정 시 Stage이름과 invoke URL에 대해

API Gateway 설정 시 궁금했던 부분에 대해 알아본 내용을 정리합니다. Stage의 이름 API Gateway에서 Stage의 이름은 여러 환경 또는 버전을 식별하는 데 사용됩니다. 일반적으로 다음과 같은 Stage 이름을 사용합니다: dev (개발 환경): 개발자들이 API를 테스트하고 디버그하는 데 사용되는 환경입니다. 여기서는 잦은 변경 + 실험적인 기능이 포함될 수 있습니다. staging (스테이징 환경): 개발이 완료된 후 QA 또는 프리-프로덕션 테스트를 위해 배포되는 환경입니다. 실제 운영 환경과 매우 유사한 환경입니다. prod (프로덕션 환경): 이 환경은 실제 사용자에게 서비스를 제공하는 운영 환경입니다. 안정성과 성능이 매우 중요하며, 실제 데이터와 연결됩니다. 이는 절대적인..

Programming/Back-end

AWS Lambda Function URL 설정 시 AWS_IAM 옵션에 대해

Lambda Function URL 설정 옵션 중 하나인 AWS_IAM 옵션은 보안과 액세스 제어에 중요한 역할을 한다고 합니다. AWS_IAM과 NONE 중 어떤 옵션으로 진행해야 하는지 정하기 위해 찾아본 정보를 정리했습니다. AWS_IAM 옵션이란? AWS_IAM 옵션을 선택하면 AWS Identity and Access Management (IAM)을 통해 권한을 부여하지 않은 사용자나 역할은 AWS Lambda 함수에 액세스할 수 없습니다. AWS_IAM을 사용하려면 다음과 같은 과정이 필요합니다. 1. IAM 사용자 및 역할 설정 AWS IAM을 사용하여 액세스 권한을 가진 사용자 또는 역할을 생성하고 구성합니다. 이 엔터티들은 Lambda 함수를 호출할 수 있는 권한을 가져야 합니다. 2. ..

Programming/Back-end

AWS lambda / VScode에서 CLI로 업로드하기

Windows에서 아마존 CLI 설치 및 설정하기 아마존 CLI를 Windows 환경에서 이용하려면 msi 파일을 다운로드할 필요가 있습니다. 제 경우에는 주로 VScode에서 bash 터미널을 이용하기에 해당 환경에 맞게 설정했습니다. 명령 프롬프트를 이용하는 경우에는 별도의 설정이 필요하지 않을 것 같습니다. 1. MSI 다운로드 및 설치 아마존 CLI의 최신 버전을 아마존 CLI 다운로드 페이지에서 다운로드한 후, MSI 설치 파일을 실행하여 설치를 진행합니다. 기본 설정을 그대로 사용해도 무방합니다. 2. CLI 버전 확인 Windows 명령 프롬프트를 열고 아마존 CLI 버전을 확인합니다. aws --version 명령 프롬프트를 사용하는 경우에는 이 과정까지만으로도 충분하지만, VScode b..

Programming/Back-end

AWS Lambda로 배포하는 과정에서 궁금했던 것들

이전 자료들을 보면 heroku를 사용하여 프로젝트를 배포하는 것이 정석으로 여겨질 정도였으나, heroku 유료화 후 다들 배포 서비스 유목민이 된 것 같아 다른 배포처를 알아보았습니다. fly.io, 렌더, 레일웨이 등 여러 옵션을 고려하던 와중, 디스코드 봇 서버를 AWS Lambda로 배포한 후기글들을 읽고 Lambda로 결정하게 되었습니다. AWS Lambda란? AWS Lambda는 클라우드 컴퓨팅 서비스 중 하나로, 서버리스 컴퓨팅 환경에서 코드를 실행하고 관리하는 데 사용됩니다. 서버를 구축할 필요 없이 단순히 코드를 작성하고, Lambda에 업로드하고, 코드가 실행될 트리거를 설정하기만 하면 됩니다. Lambda는 이 코드를 자동으로 실행하고 필요할 때 스케일링하여 더 많은 요청을 처리합..

Programming/Back-end

Node.js / 웹 서버를 만들어보자

노드 JS란? 모든 컴퓨터에 설치할 수 있는 자바스크립트 런타임. 자바스크립트와 노드JS를 사용해서 브라우저 외부에서 파일 시스템 또는 데이터베이스에 접근하는 자바스크립트 코드를 실행할 수 있다. 어떤 기능이 지원되는가? nodejs.org의 공식 문서를 참고하자. 브라우저에서 DOM과 상호 작용할 수 있는 것처럼 노드JS로 코드를 실행할 때 파일 시스템과 상호 작용할 수 있다. 패키지 노드JS에는 노드JS 코드에서 사용할 수 있는 다양한 기능을 제공하는 많은 패키지가 포함되어 있다. 웹 서버를 만들어보자 모듈 불러오기 require const http = require('http'); require('') 형식으로 사용하며, 따옴표 안에는 사용하려는 노드JS 패키지 이름을 넣어주면 된다. [Node.j..

Programming/Back-end

Node.js / 자체 로컬 서버에서 서버를 시작하는 방법

Node.js를 사용하여 로컬 환경에서 웹 서버를 시작하고, 프로젝트를 빌드하는 방법. 1. Node.js 설치 Node.js가 설치되어있어야 한다. lts 추천. 2. 프로젝트 폴더 생성 후 진입 프로젝트 폴더에 들어가서 터미널 또는 명령 프롬프트를 연다. 3. 패키지 초기화 프로젝트 폴더에서 다음 명령어를 실행하여 package.json 파일을 생성한다. npm init 이후 package.json 설정을 완료한다 4. Express.js와 기타 패키지 설치 Express.js를 비롯한 필요한 패키지를 설치한다. npm install express 5. 서버와 프로젝트 빌드 스크립트 추가 프로젝트 폴더에 server.js 파일을 생성하고, 다음과 같이 코드를 작성한다. const express = r..

Programming/Back-end

Yarn

동시에 여러 개의 패키지들을 다운로드. 처음에 한 번 세팅을 해두면 시간적인 측면에서 편리하게 사용 가능. install & setting npm을 통해 설치. npm install -g yarn -g = global yarn이 설치된 컴퓨터 어디에서든 yarn을 사용 가능하다는 뜻. 설치 여부 확인방법은 yarn --version. 따로 yarn 폴더를 생성하여 필요한 최신 라이브러리를 다운로드하여 프로젝트 폴더로 이동하는 방법 추천. yarn을 Install 할 때 여러 개의 파일이 생성되는데, 웹퍼블리싱에는 필요하지 않은 파일이기 때문. 따라서 따로 yarn 폴더를 생성하여 아래와 같은 과정을 마쳐두었다. yarn 실행할 곳으로 이동 cd 경로 -> 생성 yarn 빈 폴더에 node-modules폴..