Lambda 함수에 태그 사용하기
Lambda 함수에 태그 사용하기 (Using tags on Lambda functions)
함수에 태그를 지정하면 리소스를 구성하고 관리할 수 있어요. 태그는 리소스와 연결되는 자유 형식의 키-값 쌍으로, AWS 서비스 전반에서 지원돼요. 태그 사용 사례에 대한 자세한 내용은 Tagging AWS Resources and Tag Editor Guide의 Common tagging strategies를 참고하세요.
태그는 함수 수준에 적용되며 버전이나 별칭(alias)에는 적용되지 않아요. 태그는 AWS Lambda가 버전을 게시할 때 스냅샷을 만드는 버전별 구성의 일부가 아니에요. Lambda API로 태그를 보고 업데이트할 수 있어요. Lambda 콘솔에서 특정 함수를 관리하면서 태그를 보고 업데이트할 수도 있어요.
태그를 사용해 속성 기반 액세스 제어(ABAC)로 함수에 대한 접근을 제어할 수도 있어요. 자세한 내용은 Lambda에서 속성 기반 액세스 제어 사용하기를 참고하세요.
섹션
- 태그 작업에 필요한 권한
- Lambda 콘솔에서 태그 사용하기
- AWS CLI에서 태그 사용하기
본문
태그 작업에 필요한 권한
AWS Identity and Access Management(IAM) 자격(사용자, 그룹, 역할)이 리소스의 태그를 읽거나 설정하게 하려면 해당 권한을 부여해요.
- lambda:ListTags — 리소스에 태그가 있을 때
ListTags를 호출해야 하는 누구에게나 이 권한을 부여해요. 태그된 함수에서는GetFunction에도 이 권한이 필요해요. - lambda:TagResource —
TagResource를 호출하거나 생성 시 태그 지정을 수행해야 하는 누구에게나 이 권한을 부여해요.
선택적으로 lambda:UntagResource 권한도 부여해서 리소스에 UntagResource 호출을 허용하는 것을 고려해요.
자세한 내용은 Lambda용 자격 기반 IAM 정책을 참고하세요.
Lambda 콘솔에서 태그 사용하기
Lambda 콘솔로 태그가 있는 함수를 만들고, 기존 함수에 태그를 추가하고, 추가한 태그로 함수를 필터링할 수 있어요.
함수를 만들 때 태그 추가하기
- Lambda 콘솔의 Functions 페이지를 열어요.
- Create function을 선택해요.
- Author from scratch 또는 Container image를 선택해요.
- Basic information에서 함수를 설정해요. 함수 구성에 대한 자세한 내용은 AWS Lambda 함수 구성하기를 참고하세요.
- Advanced settings를 펼치고 Enable tags를 선택해요.
- Add new tag를 선택한 다음 Key와 선택 사항인 Value를 입력해요. 태그를 더 추가하려면 이 단계를 반복해요.
- Create function을 선택해요.
기존 함수에 태그 추가하기
- Lambda 콘솔의 Functions 페이지를 열어요.
- 함수 이름을 선택해요.
- Configuration을 선택한 다음 Tags를 선택해요.
- Tags에서 Manage tags를 선택해요.
- Add new tag를 선택한 다음 Key와 선택 사항인 Value를 입력해요. 태그를 더 추가하려면 이 단계를 반복해요.
- Save를 선택해요.
태그로 함수 필터링하기
- Lambda 콘솔의 Functions 페이지를 열어요.
- 검색 상자를 선택해 함수 속성과 태그 키 목록을 봐요.
- 태그 키를 선택해 현재 AWS 리전에서 사용 중인 값 목록을 봐요.
- **Use: "tag-name"**을 선택해 이 키로 태그된 모든 함수를 보거나, Operator를 선택해 값으로 더 필터링해요.
- 태그 값을 선택해 태그 키와 값의 조합으로 필터링해요.
검색 창은 태그 키 검색도 지원해요. tag를 입력하면 태그 키 목록만 보거나, 키 이름을 입력해 목록에서 찾을 수 있어요.
AWS CLI에서 태그 사용하기
Lambda API로 함수를 포함한 기존 Lambda 리소스에 태그를 추가하고 제거할 수 있어요. 함수를 만들 때 태그를 추가해서 리소스가 전체 수명주기 동안 태그된 상태를 유지할 수도 있어요.
Lambda 태그 API로 태그 업데이트하기
지원되는 Lambda 리소스에는 TagResource와 UntagResource API 연산으로 태그를 추가하고 제거할 수 있어요.
이 연산들을 AWS CLI로 호출할 수 있어요. 기존 리소스에 태그를 추가하려면 tag-resource 명령을 사용해요. 이 예시는 키가 Department인 태그와 키가 CostCenter인 태그 두 개를 추가해요.
aws lambda tag-resource \
--resource arn:aws:lambda:us-east-2:123456789012:resource-type:my-resource \
--tags Department=Marketing,CostCenter=1234ABCD
태그를 제거하려면 untag-resource 명령을 사용해요. 이 예시는 키가 Department인 태그를 제거해요.
aws lambda untag-resource --resource arn:aws:lambda:us-east-1:123456789012:resource-type:resource-identifier \
--tag-keys Department
함수를 만들 때 태그 추가하기
태그가 있는 새 Lambda 함수를 만들려면 CreateFunction API 연산을 사용해요. Tags 파라미터를 지정해요. create-function CLI 명령과 --tags 옵션으로 이 연산을 호출할 수 있어요.
CreateFunction에서 tags 파라미터를 사용하기 전에 역할이 이 연산에 필요한 일반 권한과 함께 리소스에 태그를 지정할 권한이 있는지 확인하세요. 태그 지정 권한에 대한 자세한 내용은 '태그 작업에 필요한 권한'을 참고하세요. 이 예시는 키가 Department인 태그와 키가 CostCenter인 태그 두 개를 추가해요.
aws lambda create-function --function-name my-function \
--handler index.js --runtime nodejs24.x \
--role arn:aws:iam::123456789012:role/lambda-role \
--tags Department=Marketing,CostCenter=1234ABCD
함수의 태그 보기
특정 Lambda 리소스에 적용된 태그를 보려면 ListTags API 연산을 사용해요. 자세한 내용은 ListTags를 참고하세요.
list-tags AWS CLI 명령에 ARN(Amazon Resource Name)을 제공해 이 연산을 호출할 수 있어요.
aws lambda list-tags --resource arn:aws:lambda:us-east-1:123456789012:resource-type:resource-identifier
GetFunction API 연산으로 특정 리소스에 적용된 태그를 볼 수 있어요. 다른 리소스 유형에는 이에 상응하는 기능이 없어요.
get-function CLI 명령으로 이 연산을 호출할 수 있어요.
aws lambda get-function --function-name my-function
태그로 리소스 필터링하기
AWS Resource Groups Tagging API의 GetResources API 연산으로 태그별로 리소스를 필터링할 수 있어요. GetResources 연산은 필터를 최대 10개 받으며, 각 필터는 태그 키와 최대 10개의 태그 값을 포함해요. 특정 리소스 유형으로 필터링하려면 GetResources에 ResourceType을 제공해요.
get-resources AWS CLI 명령으로 이 연산을 호출할 수 있어요. get-resources 사용 예시는 AWS CLI Command Reference의 get-resources를 참고하세요.