Lambda 関数でのタグの使用
関数にタグを付けて、リソースを整理および管理できます。タグは、AWS サービス間でサポートされているリソースに関連付けられた自由形式のキーと値のペアです。タグのユースケースの詳細については、「タグ付け AWS リソースとタグエディタガイド」の「一般的なタグ付け戦略」を参照してください。
タグは、バージョンやエイリアスではなく、関数レベルで適用されます。タグは、(バージョンの公開時に AWS Lambda がスナップショットを作成する) バージョン固有の設定には含まれません。Lambda API を使用して、タグを表示および更新できます。Lambda コンソールで特定の関数を管理しながら、タグを表示および更新することもできます。
タグの操作に必要なアクセス許可
AWS Identity and Access Management (IAM) ID (ユーザー、グループ、ロール) がリソースのタグを読み取るまたは設定できるようにするには、以下の対応するアクセス許可を付与します。
-
lambda:ListTags – リソースがタグ付けされている場合は、そのリソースで
ListTags
を呼び出す必要があるすべてのユーザーに対し、このアクセス許可を付与します。タグ付き関数の場合、このアクセス許可はGetFunction
にも必要です。 -
lambda:TagResource – 作成時に
TagResource
を呼び出すかタグを実行する必要があるすべてのユーザーにこのアクセス許可を付与します。
詳細については、「Lambda のアイデンティティベースの IAM ポリシー」を参照してください。
Lambda コンソールでのタグの使用
Lambda コンソールを使用すると、タグ付けをしながら関数を作成したり、既存の関数にタグを追加したり、追加したタグで関数をフィルタリングしたりできます。
関数の作成時にタグを追加するには
Lambda コンソールの [関数ページ]
を開きます。 -
[Create function (関数の作成)] を選択します。
-
[Author from scratch] (一から作成) または [Container image] (コンテナイメージ) をクリックします。
-
[基本情報] で、関数を設定します。関数の設定の詳細については、「AWS Lambda 関数の設定」を参照してください。
-
[Advanced settings] (詳細設定) を展開した上で、[Enable tags] (タグの有効化) を選択します。
-
これを行うには、[Add new tag] (タグの追加) を選択してから、キーとオプションの値を入力します。さらにタグを追加するには、この手順を繰り返します。
-
[Create function (関数の作成)] を選択します。
既存の関数にタグを追加するには
Lambda コンソールの関数ページ
を開きます。 -
関数の名前を選択します。
-
[Configuration] (設定)、[Tags] (タグ) の順に選択します。
-
[タグ] の項目で、[タグの管理] を選択します。
-
これを行うには、[Add new tag] (タグの追加) を選択してから、キーとオプションの値を入力します。さらにタグを追加するには、この手順を繰り返します。
-
[Save] を選択します。
タグを使用して関数をフィルタするには
Lambda コンソールの [関数ページ]
を開きます。 -
検索ボックスを選択すると、関数のプロパティとタグキーのリストが表示されます。
-
タグキーを選択すると、現在の AWS リージョンで使用中の値のリストが表示されます。
-
[使用: "tag-name"] を選択して、このキーでタグ付けされたすべての関数を表示するか、[演算子] を選択して、値でさらにフィルタリングします。
-
タグキーと値の組み合わせでフィルタリングするタグ値を選択します。
検索バーは、タグキーの検索もサポートしています。タグキーのリストのみを表示するには tag
と入力します。また、キーの名前を入力すると、それをリスト内で検索することもできます。
AWS CLIでのタグの使用
Lambda API を使用して、関数を含む既存の Lambda リソースにタグを追加および削除できます。関数の作成時にタグを追加することもできます。これにより、ライフサイクル全体を通じてリソースにタグを付けることができます。
Lambda タグ API を使用したタグの更新
サポートされている Lambda リソースのタグを追加または削除するには、TagResource および UntagResource API オペレーションを使用します。
これらの操作は AWS CLI を使用して呼び出すことができます。既存のリソースにタグを追加するには、tag-resource
コマンドを使用します。この例では、2 つのタグを追加します。1 つはキー Department
を持つタグで、もう 1 つはキー CostCenter
を持つタグです。
aws lambda tag-resource \ --resource arn:aws:lambda:
us-east-2:123456789012:resource-type:my-resource
\ --tagsDepartment
=Marketing
,CostCenter
=1234ABCD
タグを削除するには、untag-resource
コマンドを使用します。この例では、キー Department
を持つタグを削除します。
aws lambda untag-resource --resource
arn:aws:lambda:us-east-1:123456789012:resource-type:resource-identifier
\ --tag-keysDepartment
関数の作成時にタグを追加する
タグを使用して新しい Lambda 関数を作成するには、CreateFunction API オペレーションを使用します。Tags
パラメータを指定します。このオペレーションは、create-function
CLI コマンドと --tags オプションを使用して呼び出すことができます。CreateFunction
でタグパラメータを使用する前に、このオペレーションに必要な通常のアクセス許可と、共にリソースにタグを付けるアクセス許可をロールが有していることを確認してください。タグ付けのアクセス許可の詳細については、「タグの操作に必要なアクセス許可」を参照してください。この例では、2 つのタグを追加します。1 つはキー Department
を持つタグで、もう 1 つはキー CostCenter
を持つタグです。
aws lambda create-function --function-name
my-function
--handler index.js --runtime nodejs20.x \ --role arn:aws:iam::123456789012
:role/lambda-role
\ --tags Department=Marketing,CostCenter=1234ABCD
関数のタグの表示
特定の Lambda リソースに適用されるタグを表示するには、ListTags
API オペレーションを使用します。詳細については、「ListTags」を参照してください。
このオペレーションは、ARN (Amazon リソースネーム) を指定することで list-tags
AWS CLI コマンドで呼び出すことができます。
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 コマンドリファレンス」の「get-resources