테넌트 격리를 사용하여 Lambda 함수 간접 호출
테넌트 격리가 활성화된 함수를 간접 호출할 때는 tenant-id 파라미터를 제공해야 합니다. 이 파라미터를 통해 함수 간접 호출이 해당 특정 테넌트 전용 실행 환경에서 처리됩니다.
테넌트 격리를 사용하여 함수 간접 호출(AWS CLI)
동기식 간접 호출
동기식 간접 호출의 경우 Invoke 명령에 --tenant-id 파라미터를 추가합니다.
aws lambda invoke \ --function-nameimage-analysis\ --tenant-idblue\ response.json
비동기식 간접 호출
비동기식 간접 호출의 경우 --tenant-id 및 --invocation-type Event 파라미터를 모두 포함합니다.
aws lambda invoke \ --function-nameimage-analysis\ --tenant-idblue\ --invocation-type Event \ response.json
테넌트 격리를 사용하여 함수 간접 호출(API)
Invoke API 작업을 직접 사용하는 경우 요청에 X-Amzn-Tenant-Id 파라미터를 사용하여 테넌트 식별자를 포함합니다.
API 요청 예제:
POST /2015-03-31/functions/image-analysis/invocations HTTP/1.1 Host: lambda.us-east-1.amazonaws.com Content-Type: application/json Authorization: AWS4-HMAC-SHA256 Credential=...X-Amz-Tenant-Id:blue{ "key1": "value1", "key2": "value2" }
테넌트 격리를 사용하여 함수 간접 호출(API Gateway)
API Gateway REST API를 사용하여 테넌트 격리 Lambda 함수를 트리거할 때 클라이언트 요청 속성을 Lambda가 예상하는 X-Amz-Tenant-Id 헤더에 매핑하도록 API Gateway를 구성해야 합니다. API Gateway는 Lambda의 Invoke API 작업을 사용하고, 이를 위해 X-Amz-Tenant-Id HTTP 헤더를 사용하여 테넌트 ID가 전달되어야 합니다. HTTP 헤더, 쿼리 파라미터 또는 경로 파라미터와 같은 클라이언트 요청 속성에서 얻은 값을 사용하여 이 HTTP 헤더를 Lambda 간접 호출 요청에 주입하도록 API Gateway를 구성할 수 있습니다. X-Amz-Tenant-Id 헤더를 재정의하려면 먼저 클라이언트 요청 속성을 매핑해야 합니다.
참고
X-Amz-Tenant-Id 헤더를 재정의할 수 없으므로 HTTP API를 사용하여 테넌트 격리 Lambda 함수를 간접 호출할 수 없습니다.
요청 헤더 사용
클라이언트 요청의 사용자 지정 헤더를 X-Amz-Tenant-Id 헤더에 매핑하도록 API Gateway 통합을 구성합니다. 다음 예제에서는 x-tenant-id 헤더가 포함된 클라이언트 요청을 보여줍니다.
POST /api/process HTTP/1.1 Host:your-api-id.execute-api.us-east-1.amazonaws.com Content-Type: application/jsonx-tenant-id:blue{ "data": "sample payload" }
API Gateway 메서드 구성에서 다음을 수행해야 합니다.
클라이언트 요청 헤더 파라미터(예:
method.request.header.x-tenant-id) 활성화integration.request.header.X-Amz-Tenant-Id를 사용하여 클라이언트 헤더를 Lambda 통합 헤더에 매핑
쿼리 파라미터 사용
마찬가지로 쿼리 파라미터를 X-Amz-Tenant-Id 헤더에 매핑할 수 있습니다.
GET /api/process?tenant-id=blue&data=sampleHTTP/1.1 Host:your-api-id.execute-api.us-east-1.amazonaws.com
메서드를 구성하여 쿼리 파라미터를 활성화하고 통합 헤더에 매핑합니다.
테넌트 격리를 사용하여 함수 간접 호출(SDK)
AWS SDK를 사용하여 테넌트 격리 함수를 간접 호출하는 경우 간접 호출 요청에 테넌트 식별자를 포함합니다.