

# Lambda 関数でのタグの使用
<a name="configuration-tags"></a>

関数にタグを付けて、リソースを整理および管理できます。タグは、AWS のサービス間でサポートされているリソースに関連付けられた自由形式のキーと値のペアです。タグのユースケースの詳細については、「*タグ付け AWS リソースとタグエディタガイド*」の「[一般的なタグ付け戦略](https://docs.aws.amazon.com//tag-editor/latest/userguide/best-practices-and-strats.html#tag-strategies)」を参照してください。

タグは、バージョンやエイリアスではなく、関数レベルで適用されます。タグは、(バージョンの公開時に AWS Lambda がスナップショットを作成する) バージョン固有の設定には含まれません。Lambda API を使用して、タグを表示および更新できます。Lambda コンソールで特定の関数を管理しながら、タグを表示および更新することもできます。

**Topics**
+ [タグの操作に必要なアクセス許可](#fxn-tags-required-permissions)
+ [Lambda コンソールでのタグの使用](#using-tags-with-the-console)
+ [AWS CLIでのタグの使用](#configuration-tags-cli)

## タグの操作に必要なアクセス許可
<a name="fxn-tags-required-permissions"></a>

AWS Identity and Access Management (IAM) ID (ユーザー、グループ、ロール) がリソースのタグを読み取るまたは設定できるようにするには、以下の対応するアクセス許可を付与します。
+ **lambda:ListTags** – リソースがタグ付けされている場合は、そのリソースで `ListTags` を呼び出す必要があるすべてのユーザーに対し、このアクセス許可を付与します。タグ付き関数の場合、このアクセス許可は `GetFunction` にも必要です。
+ **lambda:TagResource** – 作成時に `TagResource` を呼び出すかタグを実行する必要があるすべてのユーザーにこのアクセス許可を付与します。

必要に応じて、**Lambda:UntagResource** アクセス許可も付与して、リソースへの `UntagResource` 呼び出しを許可することを検討してください。

詳細については、「[Lambda のアイデンティティベースの IAM ポリシー](access-control-identity-based.md)」を参照してください。

## Lambda コンソールでのタグの使用
<a name="using-tags-with-the-console"></a>

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

**関数の作成時にタグを追加するには**

1. Lambda コンソールの [[関数]](https://console.aws.amazon.com/lambda/home#/functions) ページを開きます。

1. [**関数の作成**] を選択してください。

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

1. **[基本情報]** で、関数を設定します。関数の設定の詳細については、「[AWS Lambda 関数の設定](lambda-functions.md)」を参照してください。

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

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

1. **[関数を作成]** を選択します。

**既存の関数にタグを追加するには**

1. Lambda コンソールの[関数ページ](https://console.aws.amazon.com/lambda/home#/functions)を開きます。

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

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

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

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

1. **[保存]** を選択します。

**タグを使用して関数をフィルタするには**

1. Lambda コンソールの [[関数]](https://console.aws.amazon.com/lambda/home#/functions) ページを開きます。

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

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

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

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

検索バーは、タグキーの検索もサポートしています。タグキーのリストのみを表示するには `tag` と入力します。また、キーの名前を入力すると、それをリスト内で検索することもできます。

## AWS CLIでのタグの使用
<a name="configuration-tags-cli"></a>

Lambda API を使用して、関数を含む既存の Lambda リソースにタグを追加および削除できます。関数の作成時にタグを追加することもできます。これにより、ライフサイクル全体を通じてリソースにタグを付けることができます。

### Lambda タグ API を使用したタグの更新
<a name="tags-fxn-api-config"></a>

サポートされている Lambda リソースのタグを追加または削除するには、[TagResource](https://docs.aws.amazon.com/lambda/latest/api/API_TagResource.html) および [UntagResource](https://docs.aws.amazon.com/lambda/latest/api/API_UntagResource.html) 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
```

### 関数の作成時にタグを追加する
<a name="creating-tags-when-you-create-a-function-cli"></a>

タグを使用して新しい Lambda 関数を作成するには、[CreateFunction](https://docs.aws.amazon.com//lambda/latest/api/API_CreateFunction.html) API オペレーションを使用します。`Tags` パラメータを指定します。このオペレーションは、`create-function` CLI コマンドと --tags オプションを使用して呼び出すことができます。`CreateFunction` でタグパラメータを使用する前に、このオペレーションに必要な通常のアクセス許可と、共にリソースにタグを付けるアクセス許可をロールが有していることを確認してください。タグ付けのアクセス許可の詳細については、「[タグの操作に必要なアクセス許可](#fxn-tags-required-permissions)」を参照してください。この例では、2 つのタグを追加します。1 つはキー *Department* を持つタグで、もう 1 つはキー *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
```

### 関数のタグの表示
<a name="viewing-tags-on-a-function-cli"></a>

特定の Lambda リソースに適用されるタグを表示するには、`ListTags` API オペレーションを使用します。詳細については、「[ListTags](https://docs.aws.amazon.com/lambda/latest/api/API_ListTags.html)」を参照してください。

このオペレーションは、ARN (Amazon リソースネーム) を指定することで `list-tags` AWS CLI コマンドで呼び出すことができます。

```
aws lambda list-tags --resource arn:aws:lambda:us-east-1:123456789012:resource-type:resource-identifier
```

[GetFunction](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunction.html) API オペレーションを使用して、特定のリソースに適用されるタグを表示できます。同等の機能は、他のリソースタイプでは使用できません。

このオペレーションは、`get-function` CLI コマンドを使用して呼び出すことができます。

```
aws lambda get-function --function-name my-function
```

### タグによるリソースのフィルタリング
<a name="tags-fxn-filtering"></a>

AWS Resource Groups Tagging API [GetResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) API オペレーションを使用すると、リソースをタグでフィルタリングできます。この `GetResources` オペレーションは、それぞれにタグキーと最大 10 個のタグ値が含まれているフィルタを、最大 10 個まで受け取ります。特定のリソースタイプでフィルタリングするには、`GetResources` で `ResourceType` を指定します。

このオペレーションは、`get-resources` AWS CLI コマンドを使用して呼び出すことができます。`get-resources` の使用例については、「*AWS CLI コマンドリファレンス*」の「[get-resources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-resources.html#examples)」を参照してください。