

# CloudFront 함수에 대한 제한
<a name="cloudfront-function-restrictions"></a>

다음 제한은 CloudFront 함수에만 적용됩니다.

**Contents**
+ [로그](#cloudfront-function-restrictions-logs)
+ [요청 본문](#cloudfront-function-restrictions-request-body)
+ [CloudFront KeyValueStore API에 임시 자격 증명 사용](#regional-endpoint-for-key-value-store)
+ [런타임](#cloudfront-function-runtime-restrictions)
+ [컴퓨팅 사용률](#cloudfront-function-restrictions-compute-utilization)

할당량(한도라고도 함)에 대한 자세한 내용은 [CloudFront 함수의 할당량](cloudfront-limits.md#limits-functions) 섹션을 참조하세요.

## 로그
<a name="cloudfront-function-restrictions-logs"></a>

CloudFront 함수의 함수 로그는 10KB로 잘립니다.

## 요청 본문
<a name="cloudfront-function-restrictions-request-body"></a>

CloudFront Functions가 HTTP 요청의 본문에 액세스할 수 없습니다.

## CloudFront KeyValueStore API에 임시 자격 증명 사용
<a name="regional-endpoint-for-key-value-store"></a>

AWS Security Token Service(AWS STS)를 사용하여 임시 보안 자격 증명(**세션 토큰이라고도 함)을 생성할 수 있습니다. 세션 토큰을 사용하면 일시적으로 AWS Identity and Access Management(IAM) 역할을 맡아 AWS 서비스에 액세스할 수 있습니다.

[CloudFront KeyValueStore API](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_Operations_Amazon_CloudFront_KeyValueStore.html)를 직접 호출하려면 AWS STS에서 **리전 엔드포인트를 사용하여 버전 2** 세션 토큰을 반환하세요. AWS STS(`sts.amazonaws.com`)에 **글로벌 엔드포인트를 사용하면 AWS STS는 서명 버전 4A(SigV4A)에서 지원하지 않는 **버전 1 세션 토큰을 생성합니다. 따라서 인증 오류가 발생할 수 있습니다.

CloudFront KeyValueStore API를 직접 호출하려면 다음 옵션을 사용할 수 있습니다.

**AWS CLI 및 AWS SDK**  
리전 AWS STS 엔드포인트를 사용하도록 AWS CLI 또는 AWS SDK를 구성할 수 있습니다. 자세한 내용은 **AWS SDK 및 도구 참조 가이드의 [AWS STS Regionalized endpoints](https://docs.aws.amazon.com/sdkref/latest/guide/feature-sts-regionalized-endpoints.html)를 참조하세요.  
사용 가능한 AWS STS 엔드포인트에 대한 자세한 내용은 **IAM 사용 설명서의 [Regions and endpoints](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html#id_credentials_region-endpoints)를 참조하세요.

**SAML**  
리전 AWS STS 엔드포인트를 사용하도록 SAML을 구성할 수 있습니다. 자세한 내용은 [How to use regional SAML endpoints for failover](https://aws.amazon.com/blogs/security/how-to-use-regional-saml-endpoints-for-failover/) 블로그 게시물을 참조하세요.

**`SetSecurityTokenServicePreferences` API**  
리전 AWS STS 엔드포인트를 사용하는 대신 버전 2 세션 토큰을 반환하도록 AWS STS에 대한 글로벌 엔드포인트를 구성할 수 있습니다. 이렇게 하려면 [SetSecurityTokenServicePreferences](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SetSecurityTokenServicePreferences.html) API 작업을 사용하여 AWS 계정을 구성하세요.  

**Example 예: IAM CLI 명령**  

```
aws iam set-security-token-service-preferences --global-endpoint-token-version v2Token
```
이 옵션 대신 AWS STS 리전 엔드포인트를 사용하는 것이 좋습니다. 리전 엔드포인트는 더 높은 가용성 및 장애 조치 시나리오를 제공합니다.

**사용자 지정 ID 제공업체**  
페더레이션을 수행하고 역할을 맡는 사용자 지정 ID 제공업체를 사용하는 경우 세션 토큰 생성을 담당하는 상위 ID 제공업체 시스템에 대한 이전 옵션 중 하나를 사용하세요.

## 런타임
<a name="cloudfront-function-runtime-restrictions"></a>

CloudFront Functions 런타임 환경은 동적 코드 평가를 지원하지 않으며 네트워크, 파일 시스템, 환경 변수, 타이머에 대한 액세스를 제한합니다. 자세한 내용은 [제한된 기능](functions-javascript-runtime-10.md#writing-functions-javascript-features-restricted-features) 섹션을 참조하세요.

**참고**  
[CloudFront KeyValueStore를 사용하려면 CloudFront 함수가 JavaScript 런타임 2.0](functions-javascript-runtime-20.md)을 사용해야 합니다.

## 컴퓨팅 사용률
<a name="cloudfront-function-restrictions-compute-utilization"></a>

CloudFront 함수는 *컴퓨팅 사용률*로 측정되는 실행 시간에 제한이 있습니다. 컴퓨팅 사용률은 함수가 최대 허용 시간의 백분율로 실행되는 데 걸린 시간을 나타내는 0에서 100 사이의 숫자입니다. 예를 들어 컴퓨팅 사용률이 35이면 함수가 최대 허용 시간의 35%에서 완료되었음을 의미합니다.

[함수를 테스트](test-function.md)하면 테스트 이벤트의 출력에서 컴퓨팅 사용률 값을 볼 수 있습니다. 프로덕션 함수의 경우, [CloudFront 콘솔의 모니터링 페이지](https://console.aws.amazon.com/cloudfront/v4/home?#/monitoring) 또는 CloudWatch에서 [컴퓨팅 사용률 지표](viewing-cloudfront-metrics.md#monitoring-console.cloudfront-functions)를 볼 수 있습니다.