[번역]AWS Lambda Function URL vs API Gateway - 언제 무엇을 사용해야 할까?

유종훈·2022년 5월 27일
2

AWS Lambda 함수 URL 및 API Gateway는 Lambda 함수를 AWS 외부에 노출하는 두 가지 방법입니다. 그러면 언제 Lambda 함수 URL를 사용하고, 언제 API Gateway를 사용해야합니까? 이 글에서 알아봅시다.

최근에 저는 AWS에서 Lambda 함수 URL의 초기 유출에 대해 게시했습니다. AWS Lambda 함수 URL은 마침내 Alex Casalboni의 블로그 게시물에서 공식적으로 발표되었습니다. 이것은 AWS 커뮤니티에서 오랫동안 기다려온 기능입니다.

그러나 HTTP API 호스팅 측면에서 Lambda 함수 URL은 API Gateway와 어떻게 비교됩니까? 이 글에서는 Lambda 함수 URL이 제공하는 것은 무엇인지와 람다 함수 URL을 API Gateway를 통해 사용할 때의 장단점을 살펴보겠습니다.

Lambda 함수 URL이란 무엇입니까?

Lambda 함수 URL을 사용하면 HTTPS 엔드포인트에서 Lambda 함수를 호출할 수 있습니다. 이를 통해 HTTP 클라이언트를 사용하여 AWS 외부의 애플리케이션에 함수를 노출할 수 있습니다.

전에는 HTTP 엔드포인트를 통해 Lambda 함수를 노출하려는 사용자가 먼저 API Gateway 엔드포인트를 만든 다음 Lambda 함수를 연결해야 했습니다. 올바르게 설정하려면 API Gateway 서비스에 대한 몇 가지 추가 단계와 지식이 필요했습니다.

without lambda function URLs API Gateway를 사용자와 함수 사이의 중개자로 사용하는 것은 API Gateway의 고급 기능을 활용하려는 사용자에게 좋은 선택입니다. 여기에는 쓰로틀링, 요청 유효성 검사, 사용자 지정 권한 부여, 리소스 정책 등이 포함됩니다.

Lambda 함수 URL은 이 프로세스를 훨씬 쉽게 만듭니다. 이제 콘솔의 고급 설정 섹션에서 람다 함수를 구성하여 HTTPS 엔트포인트를 빠르게 추가할 수 있습니다. 이 기능은 이미 AWS 클라우드 포메이션 및 CDK를 통해 대안으로 사용할 수 있습니다.

with lambda function URLsLambda 함수 URL은 API Gateway 엔드포인트의 간소화된 버전입니다.

이 기능은 복잡한 API Gateway 엔드포인트 설정에 대해 걱정할 필요 없이 빠르게 HTTP URL을 설정하려는 사용자에게 유용합니다.

Lambda 함수 URL은 어떻게 작동합니까?

Lambda 함수에서 함수를 처음 생성할 때 또는 나중에 업데이트하여 함수 URL을 활성화할 수 있습니다. 함수를 처음 생성할 때 고급 설정 드롭다운을 클릭하여 콘솔에서 액세스할 수 있습니다. 이미 존재하는 함수에 함수 URL을 추가하려면 함수의 구성 탭으로 이동하여 함수 URL 활성화 탭을 클릭합니다.

capture image from AWS console함수 url 공개 액세스(NONE) 또는 IAM 기반 액세스 중에서 선택할 수 있습니다.

함수에 대해 두 가지 인증 유형 중 하나를 정의할 수 있습니다.

NONE을 설정하면 인터넷 어디에서나 URL에 공개적으로 액세스할 수 있습니다. 이것은 일부 테스트 사례에서 유용할 수 있지만 대부분의 프로덕션 사용 사례에서는 피해야 합니다.

IAM을 설정하면 리소스 기반 정책을 정의하여 Lambda 함수 URL에 대한 액세스를 정의할 수 있습니다. 리소스 기반 정책을 사용하면 특정 계정, 조직, 사용자, 역할 또는 기타 AWS 보안 주체를 정의하여 기능에 액세스할 수 있습니다. IAM 인증에 대한 자세한 정보는 여기에서 찾을 수 있습니다.

IAM 옵션은 다른 AWS 사용자로부터 호출될 것으로 예상되는 함수에 이상적입니다.

언제 Lambda 함수 URL 대신에 API Gateway를 사용하나

API Gateway 및 Lambda 함수 URL은 언뜻 보기에 유사한 기능을 제공합니다. 엔드포인트를 호스팅하기 위해서 API Gateway를 선택할지 아니면 Lambda 함수 URL을 선택할지의 여부는 API Gateway가 제공하는 추가 기능에 액세스해야 하는지 여부에 따라 다릅니다.

예를 들어 API Gateway는 엔드포인트에서 쓰로틀링과 같은 기능을 제공합니다. 이렇게 하면 클라이언트가 특정 개수를 초과하여 API를 호출하는 것을 방지할 수 있습니다.

기타 API Gateway 기능에는 IP 화이트리스트/블랙리스트 작성, Amazon Cognito와의 통합을 통한 권한 부여, 요청 검증 등 많은 기능이 있습니다.

Lambda 함수를 공개 인터넷에 노출하는 빠른 방법이 필요하다면 람다 함수 URL이 확실히 좋은 선택입니다. 또한 일반적인 Lambda 호출 비용 외에 함수 URL을 사용하는 데 추가 비용이 들지 않는다는 점도 흥미롭습니다. 그러나 API Gateway와의 통합에는 추가 비용이 듭니다.

그러나 전체 추가 기능이 포함된 좀 더 견고한 제품을 찾고 있다면 Lambda가 포함된 API Gateway가 더 나은 선택일 수 있습니다.

원문링크
https://beabetterdev.com/2022/04/06/aws-lambda-function-url-vs-api-gateway-when-to-use-what/

profile
뼈속까지 개발자

0개의 댓글