본문 바로가기

ComputerScience/기타

node - 16. 서버리스 노드 개발

728x90

16.1 서버리스 이해하기

- 서버리스 아키텍쳐와 노드를 함께 사용하는 방법을 알아본다.

- 서버를 클라우드 서비스가 대신 관리해주어 개발자, 운영자가 서버를 관리할 필요가 없다.

- 코드를 업로드하고 사용량에 따라 요금을 지불하면 된다.

- aws는 lambda, api gateway, s3 등의 서비스가 GCP는 app engine, firebase, cloud functions가 있다.

- lambda, cloud functions는 특정 동작을 하는 로직을 저장하고, 요청이 들어올때 클라우드 서비스의 컴퓨팅 자원을 가지고 로직을 실행한다. 함수처럼 호출되어 실행되기 때문에 Faas(function as a service)라고 한다.

16.2 AWS S3 사용

- Amazon Simple Storage Service, 아마존 웹 서비스에서 제공하는 온라인 스토리지 웹 서비스

1. 버킷 만들기

- 차단시 웹에서 데이터를 불러올 수 없기 때문에 해제한다. 실무에서는 해제하지 않는 것이 좋다.

- 퍼블릭으로 하면 모든 인터넷 사용자가 엑세스할 수 있다.

2. 허용된 사용자만 버킷에 데이터를 가져갈 수 있기 때문에 사용자에게 권한을 부여해야 한다.

- GetObject는 s3로부터 데이터를 가져오는 권한, PutObject는 s3에 데이터를 넣는 권한을 의미한다.

3. 웹에서 s3에 파일을 업로드할 수 있도록 AWS 엑세스 키를 발급받아야 한다.

- 엑세스 키는 다시 볼 수 없기 때문에 키파일 다운로드 버튼으로 저장해 둔다.

- 데이터를 저장하고 불러올때 과금되므로 실습 후 데이터를 반드시 지운다.

- 보안 엑세스키도 반드시 환경변수에 저장하여 .env로 사용하고 깃허브에 올리지 말고 서버에서 직접 생성하여 사용한다.

 

728x90
반응형