AWS에서 node 패키지 배포 질문
처음 AWS를 사용하여 node.js를 사용한 API 서버를 배포하려고 합니다.
API를 처리하는 코드는 node.js기반으로 작성했고, DB는 PostgreSQL로 작성했습니다.
그럼 로컬환경에서 만든 패키지를 이제 AWS에 배포를 해야하는데 답답한 부분이 있어서 질문드립니다.
AWS에 node서버를 실행하는 방법은 그냥 EC2 인스턴스를 하나 만들어서
방화벽 80포트 풀고 npm start 해두면 되는 것으로 알고 있습니다.
그렇다면 DB와 스토리지는 어떻게 연결이 되는 건가요?
RDS를 pgsql에 연결하는거는 잘 나와있는거 같은데, RDS 인스턴스와 node서버 EC2인스턴스는 어떻게 연결하나요?
또, node서버 API를 통해 들어오는 데이터를 AWS 스토리지에 업로드하고 싶은데 이를 하려면 어떻게 해야하나요?
또, AWS에 있는 EC2, RDS, S3와 같은 제품들은 각각 인스턴스라는 객체 클라우드 컴퓨터를 제공해서
서로 연결해서 쓰는게 맞나요?
안녕하세요. 아하(a-ha) 프로그래밍 지식 답변자 입니다.
DB와 스토리지 연결 하는 방법은 그다지 어렵지 않습니다. DB의 경우 각 DB리소스 마다 고유한 주소가 있기 때문에 해당 주소로 커넥션 스트링을 작성해주시면 됩니다. 그리고 API를 통해 들어오는 데이터를 S3 버킷에 업로드 하고 싶다고 하셨는데요. SMB 프로토콜을 쓰지 않는다면 제공해주는 HTTP REST API를 사용하여 데이터를 업로드 하셔야 합니다.
답변이 도움이 됐으면 좋겠습니다. 좋은 하루 되세요!
네 말씀하신대로 AWS 는 주로 EC2 (서버), RDS (데이터베이스), S3 (저장공간) 을 사용하는 클라우드 환경인데요. 모두 인스턴스 개념이긴 하지만 주로 EC2 하나하나를 인스턴스라고 부릅니다.
AWS에서 node.js 를 구동할때 EC2에서만 되는건 아닙니다. AWS CloudFront lambda@edge 라는걸 공부해보시면 서버없이도 간단하게 말씀하신 모든 것을 구현할 수 있습니다.
실제로 당근마켓의 이미지 프로세싱 모듈이 그렇게 구성되어 있고 당근마켓 개발자가 아주 상세히 자신이 구현한 방법을 적어놓은 블로그가 있으니 참고해보시기 바랍니다.