AWS Device Farm リソースのタギング - AWS Device Farm

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Device Farm リソースのタギング

AWS Device Farm は AWS Resource Groups Tagging API と連携します。この API を使用すると、タグで AWS アカウントのリソースを管理できます。プロジェクトやテスト実行などのリソースにタグを追加できます。

タグを使用して以下のことができます:

  • 独自のコスト構造を反映するように AWS 請求情報を整理します。そのためには、AWS アカウントにサインアップして、タグキー値が含まれた AWS アカウント請求書を取得します。次に、結合したリソースのコストを見るには、同じタグキー値のリソースに従って請求書情報を整理します。例えば、複数のリソースにアプリケーション名のタグを付け、請求情報を整理することで、複数のサービスに渡るそのアプリケーションの合計コストを確認できます。詳細については、「AWS の請求情報とコスト管理」の「コスト配分とタギング」を参照してください。

  • IAM ポリシーを通じてアクセスをコントロールします。そのためには、タグ値条件を使用してリソースまたはリソースのセットへのアクセスを許可するポリシーを作成します。

  • タグとして特定プロパティ (テストに使用されたブランチなど) が設定された実行を識別および管理します。

リソースのタギングの詳細については、「タギングベストプラクティス」ホワイトペーパーを参照してください。

リソースのタギング

AWS Resource Group Tagging API を使用すると、リソースのタグを追加、削除、または変更できます。詳細については、「AWS Resource Group Tagging API リファレンス」を参照してください。

リソースにタグ付けするには、resourcegroupstaggingapi エンドポイントから TagResources オペレーションを使用します。このオペレーションでは、サポートされるサービスから ARN のリストとキー値ペアのリストを取得します。値はオプションです。空の文字列は、そのタグに値がないことを示します。例えば、以下の Python のサンプルタグでは、一連のプロジェクト ARN にタグ build-config を付けて、値 release を指定しています:

import boto3 client = boto3.client('resourcegroupstaggingapi') client.tag_resources(ResourceARNList=["arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655440000", "arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655441111", "arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655442222"] Tags={"build-config":"release", "git-commit":"8fe28cb"})

タグ値は必須ではありません。値のないタグを設定するには、値を指定するときに空の文字列 ("") を使用します。タグは 1 つの値のみ保持できます。タグがリソースに対して保持する以前の値は、新しい値で上書きされます。

タグによるリソースの検索

タグによりリソースを検索するには、resourcegrouptaggingapi エンドポイントから GetResources オペレーションを使用します。このオペレーションは一連のフィルターを受け取りますが、いずれも必須ではなく、指定された条件に一致するリソースを返します。フィルタがない場合、すべてのタグ付きリソースが返されます。GetResources オペレーションでは、以下の条件に基づいてリソースをフィルタリングできます。

  • タグ値

  • リソースタイプ (devicefarm:run など)

詳細については、「AWS Resource Group Tagging API リファレンス」を参照してください。

以下の例では、値が production であるタグ stack を使用して Device Farm デスクトップブラウザテストセッション (devicefarm:testgrid-session リソース) を検索します:

import boto3 client = boto3.client('resourcegroupstaggingapi') sessions = client.get_resources(ResourceTypeFilters=['devicefarm:testgrid-session'], TagFilters=[ {"Key":"stack","Values":["production"]} ])

リソースからのタグの削除

タグを削除するには、削除するリソースとタグのリストを指定し、UntagResources オペレーションを使用します:

import boto3 client = boto3.client('resourcegroupstaggingapi') client.UntagResources(ResourceARNList=["arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655440000"], TagKeys=["RunCI"])