NodeJS 및 AWS로 앱 서버를 개발 중입니다.ELB 및 S3가있는 EC2의 파일 업로드 API
ELB 및 EC2를 사용하여 서버 환경을 설정하고 있습니다.
ELB를로드 밸런서로 사용하고 여러 개의 앱 서버 EC2 인스턴스를 첨부했습니다.
MongoDB에는 하나의 EC2 인스턴스가 사용됩니다.
제 질문은 파일 업로드를 포함한 요청에 대한 것입니다.
업로드 된 파일이 앱 서버 (EC2 인스턴스)에 없어야하므로 S3에 업로드 된 파일을 저장하고 앱 서버 (EC2 인스턴스)가 액세스 할 수 있도록하려고합니다.
대략적인 해결책은 앱 서버가 클라이언트의 파일을 수락하면 S3으로 이동하고 앱 서버에서 파일을 삭제하는 것입니다.
하지만 성능이 약간 저하 될 수 있으며 깨끗한 느낌이 들지 않습니다.
가장 좋은 방법입니까? 또는 그것을 해결할 다른 방법이 있습니다.
S3에 파일을 업로드하는 가장 좋은 방법이라고 생각합니다.
그러나 다른 데이터와 함께 파일이 업로드됩니다. (예 : 프로필 업로드 - 이름 : 문자열, 나이 : 번호, profileImage : 파일)
앱 서버에서 다른 데이터를 처리해야하므로 클라이언트가 S3에 직접 업로드해서는 안됩니다.
더 좋은 아이디어가 있습니까?
저를 구해주세요.
추신 : 나는 네이티브가 아니기 때문에 내 표현을 이해할 수 없다면 알려 주시기 바랍니다. 그렇다면 최선을 다해 설명을 추가하겠습니다!
감사합니다. @chris. 나는 당신의 대답으로 문제를 해결하려고 노력하고 있지만 또 다른 문제가있다. 미리 서명 된 URL을 얻는 데 성공했으며 브라우저에서 이미지를 S3로 직접 업로드 할 수 있습니다 (post-man : google-chrome 확장자로 테스트 중입니다). 그러나 업로드 된 모든 이미지 파일이 손상되었습니다. 파일이 업로드되었고 바이트가 원본과 동일합니다 (엄격히 확인하지 않았습니다). 그러나 이미지 파일을 다운로드하고 실행 한 후 메시지 파일을 열 수 없습니다.깨 졌거나 인식 할 수없는 파일 형식입니다. (나는 파일 png와 jpeg를 업로드했다.) 나를위한 어떤 해결책? 나는 2 일 동안 이걸로 고투한다. –