1

이상한 질문처럼 들릴 수도 있지만 여기에 나와 함께 있습니다.Lightsail 대 Lambda + S3

작은 웹 프로젝트를 만들어야합니다. 무료로 만들기 위해 S3에서 정적 사이트로 프런트 엔드 부분을 호스팅하고 람다 함수로 호스팅되는 REST API에 AJAX 호출을 만들어 서버 측 함수를 호출하도록했습니다. 이전에 webapp에서 직접 해본 적이 있지만 교차 요청이 이루어지면서 JSONP를 사용하여 결국 합병증이 발생한다는 것을 기억합니다. 이 설정에 문제가 있습니까? JSONP이 보안 문제가 될 수 있다고 들었습니다.이 새로운 사이트는 일반인을 대상으로합니다.

대체 설치는 사이트를 호스팅하고 백엔드 서버를 구축하는 것입니다. 분명히 이것은 아마도 올바른 일을하는 올바른 방법 일 것이지만 약간 더 많은 돈입니다.

어느 것이 더 나은 옵션일까요?

추가 질문 : 교차 원점 요청에 JSONP를 사용할 필요가 없도록 CORS를 설정할 수 있습니까? CORS에 익숙하지 않습니다.

답변

5

어느 것이 더 나은 옵션일까요?

"올바른"답변이 없기 때문에 질문하지 않은 것처럼 보입니다. 주관적이며 의견이 많은 요소가 많습니다.

그러나 두 가지 해결책 모두 실행 가능합니다.

API 게이트웨이는 CORBA 지원 기능이 있으므로 인터넷에 람다 기능을 노출하기 위해 프런트 엔드로 사용할 API 게이트웨이가 있으므로 걱정할 필요가 없습니다.

또 다른 옵션은 S3 및 람다 (API 게이트웨이 사용)를 사용하지만 두 자원을 CloudFront 배포본의 기원으로 구성합니다. 버킷에서 기본 캐시 동작을 가리킨 다음 /api/*과 같은 경로 패턴을 사용하여 API 요청을 API 게이트웨이로 라우팅합니다. 이것은 적절한 출처로 모든 요청을 프록시하지만 DNS의 사이트 호스트 이름은 CloudFront를 가리키며 여기서 모두 리소스에 액세스합니다. 즉, 어떤 요청도 교차 출처가 아니며 모든 것이 단일 호스트 이름에서 액세스됩니다. CloudFront의 CDN/캐싱 기능은 정적 컨텐트를 가져올 때 최적의 성능을위한 보너스이며 API에 대해 비활성화 할 수 있습니다.

+0

더 정확하게, 나는 어느 것이 더 좋았는지에 관해 묻지 않고 있었다. 그러나 어느 쪽인가에 노골적으로 잘못된 것이 있으면. 전에는 cors를 사용 해본 적이 없지만 설치가 매우 간단합니다. 클라우드 프론트 아이디어도 정말 좋았습니다. 감사! – master565