KNOWLEDGE - COLUMN ナレッジ - コラム

AWS 新ソリューション “Tag Tamer” 楽楽タグ管理!?(構築編)

先端技術部
エバンジェリスト 松岡 政之 matsuoka2_274x380

こんにちは。先端技術部エバンジェリストの松岡です。

前置きとして久しぶりにパソコンのCPU(x86-x64)のお話をしようと思いましたが、本編並みに熱が入りすぎて長くなってしまいそうなので割愛します。ARMでは一般的なbig.LITTLEはx86-x64でも成功するのか的な内容でした。

Tag Tamer概要

では早速本題に入ります。
2021年6月30日にAWSでTag Tamerというソリューションが公開されました。(※外部サイト:新しい AWS ソリューション実装: Tag Tamer
詳細については上記URLのリリースノートをご確認いただくとして、ざっとまとめるとAWS上のリソースのタグを一元管理できるソリューションのようです。

現在AWSをお使いの方でタグに関するお悩みを持つ方は多いかと思います。例えば、同じアカウント内で別々にコストを集計する場合、手動でのタグ付けまたはCloudTrailのイベントをトリガーにLambda関数でタグ付けできるよう自身で作りこみをする必要があります。そのような中でタグの付与漏れやタイプミスによる間違ったタグ付け等によりうまくコスト集計できない、あるいは手動での修正対応が必要になるといった場面に直面している組織も多いかと思います。

このような悩みをTag Tamerを使用することで解決できないか検証してみたいと思います。
なかなか構築手順が複雑で内容が長くなってしまうので、今回は構築の流れの確認のみで実際の使い勝手については次回にしたいと思います。

セットアップ

Tag TamerはAWSのサービスとして提供されているわけではなく、ソリューションライブラリでCloudFormationテンプレートの形で提供されています。そのため、最初にこのソリューションを使えるようにセットアップする必要があります。まだ公式のドキュメントも日本語化されていないため私の備忘録がてらセットアップの手順も含めて記載したいと思います。セットアップ前に注意が必要な点として、現在対応しているリージョンがeu-west-1, us-east-1, us-west-2のみでap-northeast-1(東京リージョン)には2021年8月5日時点ではまだ対応していないことにご注意ください。今回はus-east-1(バージニア北部リージョン)で構築していきます。

まず、本ソリューションの展開方法として、既存のプライベートVPC内にデプロイする方法と新規のパブリックVPCを作成しそのVPC内にデプロイする方法があります。今回はVPNやDirect Connect等でつながっていない環境で構築するので新規のパブリックVPC内にデプロイする方法を採用します。
パブリックVPCを使用する場合、ソリューションをデプロイする前にAmazon Simple Email Service (SES)へのEメールアドレスの登録とSSLを使用するための証明書を用意しAWS Certificate Manager (ACM)に登録する必要があります。

Amazon SESにEメールを登録

まずSESにメールアドレス登録し、登録したメールアドレス宛に届く検証確認メールで検証します。

また、登録したメールアドレスに対してCognitoからの利用を許可するポリシーを設定します。

証明書のACMへの登録

今回は検証のためオレオレ証明書を利用します。証明書の発行のためにわざわざLinuxインスタンスを作成するのは作成時間もインスタンスの料金ももったいないので、以前の記事(【エバンジェリスト・ボイス】AWS CloudShellでAWS CLIを手軽に!)で紹介したAWS CloudShellでOpen SSLをインストールして証明書の発行からACMへの登録までやってしまいましょう。証明書の発行およびACMへの登録の手順については以下にURLを示す公式ドキュメントをご参照ください。
※外部サイト:Create a self-signed certificate

CloudFormationテンプレートの実行

今回はパブリックVPCにデプロイするので下記URLに示すドキュメントのOption2のテンプレートを使用します。
※外部サイト:AWS CloudFormation template
「Certificate」に前手順でACMに登録した証明書のARNを、「CIDRIPRange」にアクセスを許可する接続元IPアドレスレンジを、「Email」に前手順でSESに登録したメールアドレスを入力してスタックを作成します。

Cognito IDプール設定

スタックの作成が完了したら下記ドキュメントのStep 2にあるとおり、Cognito IDプールの管理からtag_tamer_identity_poolを選択し、認証プロバイダーの認証されたロールの選択を「トークンからロールを選択する」、ロールの解決を「拒否」に設定して保存します。
※外部サイト:Automated deployment

Cognitoユーザープール設定

続いてCognitoユーザープールからtag_tamer_user_poolの管理画面に入ります。そしてTag Tamerの管理ユーザーを所属させるグループを作成します。グループに割り当てるIAMロールのポリシーについては下記URLの「Tag Tamer Administrator all access IAM Role permissions policy」を、ロールの信頼ポリシーについては「Tag Tamer Administrator all access IAM Role trust policy」をご参照ください。
※外部サイト:AWS IAM permissions

Tag Tamerユーザー作成

CloudFormationの画面に戻り、作成したスタックの出力の「TagTamerURL」でTag TamerのWebコンソールを開くことができます。

コンソール画面が開いたら「Sign up」からユーザー登録画面に遷移します。


ユーザー登録画面では作成するユーザー名、メールアドレス、パスワードを設定します。

ユーザー登録画面で上記を入力してSign upをクリックすると検証コードの入力画面になるので、入力したメールアドレス宛に届く確認メールに記載されている検証コードを入力して「Confirm Account」をポチっとしましょう。 

このままログインしたくなりますが、その気持ちをぐっとおさえてCognitoのユーザープール画面に戻ってtag_tamer_user_poolを再び開きます。すると先ほど登録したユーザーが表示されているので選択し、事前に作成したグループに追加します。

Tag Tamerコンソールログイン

再びユーザー登録時にアクセスしたURLにアクセスし、先ほど登録したユーザーでサインインします。すると以下のコンソールが開きます。これで構築は完了です。


最後に

この度、多くの方が悩んでいると思われるタグの扱いについて一括して管理できるコンソールがソリューションライブラリでの提供という形でリリースされました。しかし、なかなか使えるようになるまでが複雑で、またAWS公式ドキュメントもまだ日本語化されていないということでまずはセットアップ手順について私自身の備忘録がてら記事にしてみました。では、どうすればローコード開発で、「やりたいことを実現」して、「データもきちんと管理」できるのでしょうか。

ですが、一番重要なのはこのソリューションで何ができるのか、だと思います。セットアップ手順だけで結構なボリュームとなってしまいましたので今回はいったんここまでとし、Tag Tamer自体の機能の検証については次回にしたいと思います。
次回が待てないという方はぜひ自身で構築して検証してみてはいかがでしょうか!

それではよいクラウドライフを!

 

当サイトの内容、テキスト、画像等の転載・転記・使用する場合は問い合わせよりご連絡下さい。

エバンジェリストによるコラムやIDグループからのお知らせなどを
メルマガでお届けしています。

メルマガ登録ボタン

松岡 政之

株式会社インフォメーション・ディベロプメント 先端技術部 エバンジェリスト

この執筆者の記事一覧

関連するナレッジ・コラム

地味に見えて優秀!マネージドプレフィックスリストでアドレス管理を効率化

DockerでJupyterLabの環境を作ろう

残された攻撃の痕跡を追え! ~Post-Exploitationで起きていること~