ソリューションライブラリにリリースされた Tag Tamer で何が出来るのか

2021.07.05

いわさです。

前回、Tag Tamer ソリューションのセットアップ方法と記事にしました。

今回は実際に Tag Tamer を触っていった上での、使い勝手や機能などを少し紹介します。

大きく、機能は6つ

Tag TamerはCloudFormationテンプレートでデプロイされるソリューションで、EC2上でTag TamerのWebポータルが実行されており、Webポータルから各種操作を行います。
前回の記事でお伝えしましたが、ログイン周りの処理はCognitoを使っています。

以下はログイン後の画面です。

機能は6つあります。

  • See your existing AWS resources & their tags
  • Manage your Tag Groups
  • Tag your existing AWS resources using your Tag Groups
  • Assign your Tag Groups to AWS Config rules
  • Activate role-based tagging
  • Assign your Tag Groups to AWS Service Catalog producsts

ひとつづつ見ていきたいと思います。

タグによるリソースの検索とダウンロード機能

タグのキーと値を設定しリソースの検索を行うことが可能です。
タグ条件は複数混在させることが可能です。

検索対象のリソースは全リージョンが対象です。
また、セットアップ時に対象アカウントの選択と権限設定を行うことで、マルチアカウントでのリソースタグの管理が可能です。

抽出した結果はダウンロードが可能です。
形式はCSVで、取得フィールドは以下です。

  • AWS Account Number
  • AWS Region
  • Resource ID
  • タグ情報

注意点として、Tag Tamer Ver1.0時点ではリソースのリージョンが us-east-1 固定で出力されてしまうようです。

タググループの作成

Tag Tamerでは標準には無い、"タググループ"という概念が導入されています。
タググループとは、タグのキーと値をペアにしたセットです。

タググループは再利用が可能で、Tag Tamerソリューション内では、このタググループを使って、様々な設定を行います。
このタググループはTag Tamer独自の概念で、DynamoDBで管理されており、タググループの作成自体は既存リソースへの影響を与えません。

タググループを使って、複数リソースに一括タグ付け

先程のタググループを使って、選択したリソースへ一括でタグ設定を行うことが可能です。
Tag Editorではキーと値の入力を行いますが、Tag Tamerでは定義済みのタググループを選択するのみで済みます。

ただし、現時点で対象のリソースタイプは以下のみとなっています。

  • Amazon Aurora DB Clusters
  • Amazon DynamoDB Tables
  • Amazon EBS Volumes
  • Amazon EC2 Instances
  • Amazon ECR Repositories
  • Amazon EKS Clusters
  • Amazon RDS Instances
  • Amazon Redshift Clusters
  • Amazon S3 Buckets
  • AWS CodeCommit Repositories
  • AWS CodePipelines
  • AWS Lambda Functions

AWS Configルールの required-tags ルールにタググループの設定を追加する

Tag Tamer上で、対象のタググループとルールを選択することで、Tag Tamer上でまとめてタググループをルールへ追加することが出来ます。

事前に、AWSマネージド型ルールの required-tags ルールを追加が必要です。

ロールベースでタグの自動付与を行う

EC2に対して自動でのタグ付けが可能です。
条件としては作成者ロールとタググループの紐付けを事前に行います。
このロールベースでのタグ紐付け情報は、タググループと同様にDynamoDBで独自に管理されます。

LambdaでEC2へのタグの自動付与が行われます。

AWS Service Catalog Tag Options としてタググループを設定する

AWS Service Catalog に TagOption機能というものがあります。
TagOptionは、タググループと非常に似た概念です。

Tag Tamer上では、タググループとService Catalog Productを紐付けすることでタググループを TagOption のように使うことが可能です。
実体としては、紐付けられたタググループは TagOption として追加されます。

まとめ

Tag Tamerを使うと、一元化された管理ポータルで様々なタグの管理が可能になります。
またタググループで再利用可能なタグの組み合わせを管理することが可能です。
標準サービでは、各種サービス・Config・Tag Editor・Service Catalogなどタグに関する機能が散らばっていますがそれらを一箇所で管理することが出来ます。

現状は、バージョン1.0ということでUIや機能のブラッシュアップが必要なように見えます。
このテンプレートはGitHubリポジトリで管理されていますので、みなさん是非フィードバックをしてみてください。