AWS Lambda
개발자 가이드

Lambda 함수 태그 지정

Lambda 함수는 여러 리전의 여러 애플리케이션으로 확장될 수 있습니다. 각 함수 호출의 빈도와 비용을 추적하는 프로세스를 단순화하기 위해 태그를 사용할 수 있습니다. 태그는 보다 효과적인 정리를 위해 AWS 리소스에 연결되는 키-값 페어입니다. 특히 의 경우에 동일한 유형의 리소스로 함수가 많은 경우에 유용합니다. 수백 개의 함수를 가진 고객은 태그를 사용하여 동일한 태그가 포함된 태그를 필터링함으로써 특정 세트에 쉽게 액세스하고 분석할 수 있습니다. 함수의 태그 지정에 대한 두 가지 주요 장점은 다음과 같습니다.

  • 그룹화 및 필터링: 태그를 적용하면 Lambda 콘솔 또는 CLI를 사용하여 특정 애플리케이션 또는 결제 부서에 포함된 Lambda 함수 목록을 분리할 수 있습니다. 자세한 내용은 태그 지정된 Lambda 함수 필터링 단원을 참조하십시오.

  • 비용 할당: 태그 지정에 대한 Lambda의 지원이 AWS Billing과 통합되어 있기 때문에 결제를 동적 카테고리로 분류하고 함수를 특정 비용 센터에 매핑할 수 있습니다. 예를 들어 모든 Lambda 함수에 "Department"(부서) 키를 태그 지정하면 부서별로 모든 AWS Lambda 비용을 세분화할 수 있습니다. 그런 다음 "Department 1"또는 "Department 2"와 같은 개별 부서 값을 제공하여 함수 호출 비용을 해당 비용 센터로 지정할 수 있습니다. 비용 할당은 세부 결제 보고서를 통해 진행되므로 AWS 비용을 쉽게 분류하고 추적할 수 있습니다.

결제용 Lambda 함수 태그 지정

태그를 사용하여 비용 구조를 반영하도록 AWS 청구서를 구성할 수 있습니다. 이렇게 하려면 값이 비용 할당 보고서에 포함될 태그 키를 추가할 수 있습니다. 보고서에서 항목으로 포함되도록 선택한 태그 키가 포함된 비용 할당 보고서 설정에 대한 자세한 내용은 AWS 계정 결제 정보월별 비용 할당 보고서 설정을 참조하십시오.

결합된 리소스의 비용을 확인하려면 동일한 태그 키 값을 가진 함수에 따라 결제 정보를 구성할 수 있습니다. 예를 들어, 특정 애플리케이션 이름으로 여러 Lambda 함수에 태그를 지정한 다음 결제 정보를 구성하여 여러 서비스에 걸친 해당 애플리케이션의 총 비용을 볼 수 있습니다. 자세한 내용은 AWS Billing and Cost Management 사용 설명서비용 할당 태그 사용을 참조하십시오.

AWS Lambda에서 태그 지정할 수 있는 유일한 리소스는 함수입니다. 별칭 또는 특정 함수 버전은 태그 지정할 수 없습니다. 함수의 별칭 또는 버전 호출은 원래 함수 호출로 청구됩니다.

콘솔을 사용하여 Lambda 함수에 태그 적용

[configuration] 탭의 [Tags] 섹션에서 태그를 함수에 추가할 수 있습니다.

기존 함수에서 태그를 제거하려면 함수를 열고 [Tags] 섹션을 선택한 다음 키-값 페어 옆의 [Remove] 버튼을 선택합니다.

CLI를 사용하여 Lambda 함수에 태그 적용

Lambda 함수를 새로 생성할 때 --tags 옵션을 사용하여 태그를 포함시킬 수 있습니다.

$ aws lambda create-function --function-name my-function --handler index.js --runtime nodejs12.x \ --role arn:aws:iam::123456789012:role/lambda-role \ --tags "DEPARTMENT=Department A"

기존 함수에 태그를 추가하려면 tag-resource 명령을 사용하십시오.

$ aws lambda tag-resource \ --resource function arn \ --tags "DEPARTMENT=Department A"

태그를 제거하려면 untag-resource 명령을 사용합니다.

$ aws lambda untag-resource --resource function arn \ --tagkeys DEPARTMENT

태그 지정된 Lambda 함수 필터링

태그를 사용하여 Lambda 함수를 그룹화하면 Lambda 콘솔 또는 AWS CLI에서 제공하는 필터링 기능을 활용하여 특정 요구 사항을 바탕으로 보기 기능을 사용할 수 있습니다.

콘솔을 이용하여 Lambda 함수 필터링

Lambda 콘솔에는 태그를 비롯하여 지정된 함수 속성 집합을 기반으로 함수 목록을 필터링할 수 있는 검색 필드가 있습니다. [Department]라는 [Tags] 키를 가진 [MyFunction] 및 [MyFunction2]라는 이름의 두 가지 함수가 있다고 가정해 보겠습니다. 이러한 함수를 보려면 검색 필드를 선택하고 [Tags] 키 목록을 포함하는 자동 필터링을 확인합니다.

Department(부서) 키를 선택합니다. 그러면 Lambda에서는 해당 키가 포함된 함수를 반환합니다.

이제 [MyFunction] 태그의 키 값이 "Department A"이고 MyFunction2의 키 값이 "Department B"라고 가정합니다. 아래 그림과 같이 [Department] 키(이 경우 [Department A])의 값을 선택하여 검색 범위를 좁힐 수 있습니다.

이는 [MyFunction]만 반환합니다.

[Description], [Function name] 또는 [Runtime] 등 수락된 다른 함수 속성을 포함하여 검색 범위를 더욱 좁힐 수 있습니다.

참고

Lambda 함수당 최대 50개의 태그로 제한됩니다. 함수를 삭제하면 연결된 태그 역시 삭제됩니다.

CLI를 이용하여 Lambda 함수 필터링

특정 Lambda 함수에 적용된 태그를 보려면 다음 Lambda API 명령 중 하나를 사용할 수 있습니다.

  • ListTags – Lambda 함수 ARN(Amazon 리소스 이름)을 제공하여 이 함수와 연결된 태그 목록을 봅니다.

    $ aws lambda list-tags --resource function arn
  • GetFunction – Lambda 함수 이름을 제공하여 이 함수와 연결된 태그 목록을 봅니다.

    $ aws lambda get-function --function-name my-function

또한 AWS 태그 지정 서비스의 GetResources API를 태그별로 리소스를 필터링할 수도 있습니다. GetResources API는 최대 10개의 필터를 수신하며 각 필터는 태그 키와 최대 10개의 태그 값을 포함합니다. GetResources에 'ResourceType'을 지정하면 특정 리소스 유형별로 필터링할 수 있습니다. AWS 태그 지정 서비스에 대한 자세한 내용은 리소스 그룹 작업 단원을 참조하십시오.

태그 제한

태그에 적용되는 제한은 다음과 같습니다.

  • 리소스당 최대 태그 수 - 50개

  • 최대 키 길이 - UTF-8의 유니코드 문자 128자

  • 최대 값 길이 - 유니코드 문자 256자(UTF-8)

  • 태그 키와 값은 대/소문자를 구분합니다.

  • 태그 이름이나 값에서 aws: 접두사는 사용하지 마십시오. 이 단어는 AWS용으로 예약되어 있습니다. 이 접두사가 지정된 태그 이름이나 값은 편집하거나 삭제할 수 없습니다. 이 접두사가 지정된 태그는 리소스당 태그 수 제한에 포함되지 않습니다.

  • 태깅 스키마를 여러 서비스와 리소스에서 사용하게 될 경우 다른 서비스 또한 허용되는 문자에 대한 제한이 있을 수 있음을 유의하십시오. 일반적으로 허용되는 문자는 UTF-8로 표현할 수 있는 문자, 공백 및 숫자와 특수 문자+ - = . _ : / @