SOA

AWS Service Catalog TagOption Libraryを使用して、プロビジョニングされた製品に自動的にタグを設定する

スポンサーリンク
AWS Service Catalog TagOption Libraryを使用して、プロビジョニングされた製品に、自動的にタグを設定する SOA
スポンサーリンク
スポンサーリンク

AWS Service Catalog TagOption Libraryを使用して、プロビジョニングされた製品に自動的にタグを設定する

AWS SOAの出題範囲の1つである、デプロイ、プロビジョニング、およびオートメーションに関する内容です。

Service Catalog TagOption Libraryを使用すると、Service Catalogでプロビジョニングされた製品のタグを管理できます。

管理者がプロビジョニングされた製品のタグを簡単に管理できるように、Service Catalog TagOption はライブラリを提供しています。A TagOption は、Service Catalog で管理されるキーと値のペアです。これはAWSのタグではありませんが、に基づいてAWSのタグを作成するためのテンプレートとして機能します TagOption。

AWS Service Catalog TagOption 図書館

本ページでは、Service Catalog TagOption Libraryを使用して、Service Catalogでプロビジョニングされた製品に、自動的にタグを設定することを目指します。

構築する環境

Diagram of automatically tag provisioned products using AWS Service Catalog TagOption Library.

構築する環境は以下のページの内容とほとんど同様です。

変更点はTagOptionに関する設定です。
ポートフォリオおよび製品にそれぞれTagOptionを設定します。

CloudFormationテンプレートファイル

上記の構成をCloudFormationで構築します。
以下のURLにCloudFormationテンプレートを配置しています。

awstut-soa/03/006 at main · awstut-an-r/awstut-soa
Contribute to awstut-an-r/awstut-soa development by creating an account on GitHub.

テンプレートファイルのポイント解説

今回はService Catalog TagOption Libraryに関する内容を中心に取り上げます。
Service Catalogに関する基本的な事項については、以下のページをご確認ください。

TagOption

Resources:
  TagOption1:
    Type: AWS::ServiceCatalog::TagOption
    Properties: 
      Active: true
      Key: tag1
      Value: true
      
  TagOption2:
    Type: AWS::ServiceCatalog::TagOption
    Properties: 
      Active: true
      Key: tag2
      Value: true
Code language: YAML (yaml)

2つのTagOptionを作成します。
それぞれポートフォリオと製品用です。

ポートフォリオ用のTagOptionは以下の通りに設定します。

  • タグ名:tag1
  • タグの値:true

製品用のTagOptionは以下の通りに設定します。

  • タグ名:tag2
  • タグの値:true

以下の2リソースを定義して、TagOptionをポートフォリオ・製品に関連付けます。

Resources:
  TagOptionAssociation1:
    Type: AWS::ServiceCatalog::TagOptionAssociation
    Properties: 
      ResourceId: !Ref Portfolio
      TagOptionId: !Ref TagOption1
      
  TagOptionAssociation2:
    Type: AWS::ServiceCatalog::TagOptionAssociation
    Properties: 
      ResourceId: !Ref CloudFormationProduct
      TagOptionId: !Ref TagOption2
Code language: YAML (yaml)

環境構築

CloudFormationを使用して、本環境を構築し、実際の挙動を確認します。

CloudFormationスタックを作成し、スタック内のリソースを確認する

CloudFormationスタックを作成します。
スタックの作成および各スタックの確認方法については、以下のページをご確認ください。

なお今回のCloudFormationスタックを作成する際のコマンドのパラメータは以下となります。

$ aws cloudformation create-stack \
--stack-name soa-03-006 \
--template-url [s3-bucket-url]/soa-03-006.yaml \
--capabilities CAPABILITY_NAMED_IAM CAPABILITY_AUTO_EXPAND
Code language: Bash (bash)

各スタックのリソースを確認した結果、今回作成された主要リソースの情報は以下の通りです。

  • IAMユーザ:soa-03-006-User
  • IAMグループ:soa-03-006-Endusers
  • ポートフォリオ:Engineering Tools
  • 製品:Linux Desktop
  • Service Catalog用IAMロール:soa-03-006-IAMStack-1WYETO3-LinuxDesktopLaunchRole-1RA1FLM5ZIOV6

AWSマネージメントコンソールから各種リソースを確認します。

ポートフォリオのTagOptionsを確認します。

Detail of Service Catalog 1.

確かに2つのタグ情報が確認できます。
ポートフォリオ用と、製品用のタグ情報です。

製品のTagOptionsも確認します。

Detail of Service Catalog 2.

こちらでも2つのタグ情報が確認できます。

動作確認

準備が整いましたので、IAMユーザ(soa-03-006-User)でAWSマネージメントコンソールにサインイン後、製品を起動します。

Detail of Service Catalog 3.

Manage tagの項目を見ると、2つのタグが必須として指定されていることがわかります。
つまりポートフォリオや製品にTagOptionを設定することによって、プロビジョニングされた製品に、自動的にタグを付与することができるということです。

最後にプロビジョニングされた製品である2つのリソース(EC2, セキュリティグループ)を確認します。

Detail of EC2 1.
Detail of EC2 2.

確かに2リソースに対して、2つのタグが設定されていることがわかります。

まとめ

Service Catalog TagOption Libraryを使用して、Service Catalogでプロビジョニングされた製品に、自動的にタグを設定する方法を確認しました。

タイトルとURLをコピーしました