Lambda 関数でのタグの使用 - AWS Lambda

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 コンソールを使用すると、タグ付けをしながら関数を作成したり、既存の関数にタグを追加したり、追加したタグで関数をフィルタリングしたりできます。

関数の作成時にタグを追加するには
  1. Lambda コンソールの [関数ページ] を開きます。

  2. [Create function (関数の作成)] を選択します。

  3. [Author from scratch] (一から作成) または [Container image] (コンテナイメージ) をクリックします。

  4. [基本情報] で、関数を設定します。関数の設定の詳細については、「AWS Lambda 関数の設定」を参照してください。

  5. [Advanced settings] (詳細設定) を展開した上で、[Enable tags] (タグの有効化) を選択します。

  6. これを行うには、[Add new tag] (タグの追加) を選択してから、キーとオプションのを入力します。さらにタグを追加するには、この手順を繰り返します。

  7. [Create function (関数の作成)] を選択します。

既存の関数にタグを追加するには
  1. Lambda コンソールの関数ページを開きます。

  2. 関数の名前を選択します。

  3. [Configuration] (設定)、[Tags] (タグ) の順に選択します。

  4. [タグ] の項目で、[タグの管理] を選択します。

  5. これを行うには、[Add new tag] (タグの追加) を選択してから、キーとオプションのを入力します。さらにタグを追加するには、この手順を繰り返します。

  6. [Save] を選択します。

タグを使用して関数をフィルタするには
  1. Lambda コンソールの [関数ページ] を開きます。

  2. 検索ボックスを選択すると、関数のプロパティとタグキーのリストが表示されます。

  3. タグキーを選択すると、現在の AWS リージョンで使用中の値のリストが表示されます。

  4. [使用: "tag-name"] を選択して、このキーでタグ付けされたすべての関数を表示するか、[演算子] を選択して、値でさらにフィルタリングします。

  5. タグキーと値の組み合わせでフィルタリングするタグ値を選択します。

検索バーは、タグキーの検索もサポートしています。タグキーのリストのみを表示するには 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 \ --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 でタグパラメータを使用する前に、このオペレーションに必要な通常のアクセス許可と、共にリソースにタグを付けるアクセス許可をロールが有していることを確認してください。タグ付けのアクセス許可の詳細については、「タグの操作に必要なアクセス許可」を参照してください。この例では、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 個まで受け取ります。特定のリソースタイプでフィルタリングするには、GetResourcesResourceType を指定します。

このオペレーションは、get-resources AWS CLI コマンドを使用して呼び出すことができます。get-resources の使用例については、「AWS CLI コマンドリファレンス」の「get-resources」を参照してください。