AWSリソースのタグ設計について考えてみる - アカウント設計パターン編-

記事タイトルとURLをコピーする

CI2部 技術2課の山﨑です。

先日ブログを書いたAWSリソースのタグ設計 - 基礎編- ではタグ設計に関する基礎知識を整理して考えてみましたが、今回はもう一歩踏み込んでアカウント設計のパターンごとにタグ設計について考えてみました。

検討したアカウント設計パターン

先日のブログでご紹介した、タグ設計における4つの観点およびタグキーの例を、以下に示すアカウント設計パターンごとに当てはめて考えてみました

blog.serverworks.co.jp

アカウント設計パターン

  • ①スタンドアロンパターン
  • ②AWS Organizations システム + 環境分割パターン
  • ③AWS Organizations 部署 + システム分割パターン
  • ④AWS Organizations 部署 + システム + 環境分割パターン
  • ⑤AWS Organizations 企業 + 部署 + システム分割パターン
  • ⑥AWS Organizations 企業 + 部署 + 環境分割パターン

タグ設計における4つの観点

観点 内容
リソース整理 AWSリソースを一意に識別したり、グルーピングしたりするためにタグを付与する。
コスト管理 AWS利用料金が発生するAWSリソースをグルーピングして表示するためにタグを付与する。(コスト配分タグ)
自動化対象リソースの識別 AWSリソースに対するオペレーションを自動化する際、自動化対象のリソースを識別するためにタグを付与する。
アクセス制御 AWSリソースに対して条件付きのアクセス制御を実施するためにタグを付与する。

アクセス制御に関しては、タグ設計だけでなく権限設計の話も多く含むため本ブログでは取り扱いません。

①スタンドアロンパターン

このパターンは最もベーシックなアカウント設計パターンです。1つのAWSアカウント上に、複数のシステムおよび環境が混在している構成です。

アカウント構成

スタンドアロンパターン

タグ設計(リソース整理)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 必須
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)を整理し、グルーピング可能な状態にする 推奨
Project AWSリソースがどのようなプロジェクトにおいて構築されたのかを整理し、グルーピング可能な状態にする 任意 複数プロジェクトが同一AWSアカウントを利用している場合は付与することを検討
Service AWSリソースが利用されているアプリケーションやシステムを識別し、グルーピング可能な状態にする 推奨
Vendor AWSリソースを構築した外部ベンダーを識別し、グルーピング可能な状態にする 任意 複数のベンダーが同一AWSアカウントを利用している場合は付与することを検討
DivisionCode AWSリソースを所有・管理している部署を識別し、グルーピング可能な状態にする 推奨
Company AWSリソースを所有・管理している企業を識別し、グルーピング可能な状態にする 任意 複数の企業間で同一AWSアカウントを利用している場合は付与することを検討
Confidential 機密性が高いデータを処理・保管しているAWSリソースを識別し、グルーピング可能な状態にする 任意

タグ設計(コスト配分タグ)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 推奨 AWSリソースごとにコストを把握したい場合に有効化を検討
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)ごとにグルーピングして、AWS利用料を確認できるようにする 推奨 環境別にコストを把握したい場合に有効化を検討
Service AWSリソースが利用されているアプリケーションやシステムでグルーピングして、AWS利用料を確認できるようにする 推奨 アプリケーション・システム別にコストを把握したい場合に有効化を検討
DivisionCode AWSリソースを所有・管理している部署ごとにグルーピングして、AWS利用料を確認できるようにする 推奨 AWSリソースを所有・管理する部署別でコストを把握したい場合に有効化を検討
Company AWSリソースを所有・管理している企業ごとにグルーピングして、AWS利用料を確認できるようにする 任意 AWSリソースを所有・管理する企業別でコストを把握したい場合に有効化を検討

タグ設計(自動化対象リソースの識別)

タグキー 説明 要否 備考
SSM-Patch SSM Patch Managerでパッチ適用を自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
SSM-Params SSM Parameter Storeで保存している設定ファイルを適用するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
Backup AWS Backupでバックアップを自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 AWS Backupを利用する場合は付与を検討
Monitor サードパーティー製品を使って運用をするAWSリソースを識別し、グルーピング可能な状態にする 任意 サードパーティ製品を利用する場合は付与を検討
CA_daily_ami_copy 弊社が提供している運用自動化ツール「CloudAutomator 」を利用して日次でAMIを取得するAWSリソースを識別し、グルーピング可能な状態にする
※ここでは「CloudAutomator 」について言及したが、その他のサードパーティ製品を利用する場合も考え方は同様です。
任意

②AWS Organizations システム + 環境分割パターン

このパターンでは単一企業によるAWS利用を想定しています。AWS Organizations のOU機能を利用して、AWSアカウントを階層構造に分けてグループ管理しています。実際に稼働させるワークロードを配置するWorkload OU配下にさらにシステムごと、環境ごとのOUを作成して、AWSアカウントを配置しています。

アカウント構成

②AWS Organizations システム + 環境分割パターン

タグ設計(リソース整理)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 必須
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)を整理し、グルーピング可能な状態にする 任意 ▼環境ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で環境を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に環境を識別したい場合は付与することを検討
Project AWSリソースがどのようなプロジェクトにおいて構築されたのかを整理し、グルーピング可能な状態にする 任意 複数プロジェクトが同一AWSアカウントを利用している場合は付与することを検討
Service AWSリソースが利用されているアプリケーションやシステムを識別し、グルーピング可能な状態にする 任意 ▼システムごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位でシステムを識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的にシステムを識別したい場合は付与することを検討
Vendor AWSリソースを構築した外部ベンダーを識別し、グルーピング可能な状態にする 任意 複数のベンダーが同一AWSアカウントを利用している場合は付与することを検討
DivisionCode AWSリソースを所有・管理している部署を識別し、グルーピング可能な状態にする 推奨
Company AWSリソースを所有・管理している企業を識別し、グルーピング可能な状態にする 任意 単一企業を想定したアカウント設計パターンであるため任意
Confidential 機密性が高いデータを処理・保管しているAWSリソースを識別し、グルーピング可能な状態にする 任意

タグ設計(コスト配分タグ)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 推奨 AWSリソースごとにコストを把握したい場合に有効化を検討
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼環境ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位でシステムおよび環境別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで環境を識別したい場合に有効化を検討
Service AWSリソースが利用されているアプリケーションやシステムでグルーピングして、AWS利用料を確認できるようにする 任意 ▼システムごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位でシステム別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグでシステムを識別したい場合に有効化を検討
DivisionCode AWSリソースを所有・管理している部署ごとにグルーピングして、AWS利用料を確認できるようにする 推奨 AWSリソースを所有・管理する部署別でコストを把握したい場合に有効化を検討
Company AWSリソースを所有・管理している企業ごとにグルーピングして、AWS利用料を確認できるようにする 任意 単一企業を想定したアカウント設計パターンであるため任意

タグ設計(自動化対象リソースの識別)

タグキー 説明 要否 備考
SSM-Patch SSM Patch Managerでパッチ適用を自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
SSM-Params SSM Parameter Storeで保存している設定ファイルを適用するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
Backup AWS Backupでバックアップを自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 AWS Backupを利用する場合は付与を検討
Monitor サードパーティー製品を使って運用をするAWSリソースを識別し、グルーピング可能な状態にする 任意 サードパーティ製品を利用する場合は付与を検討
CA_daily_ami_copy 弊社が提供している運用自動化ツール「CloudAutomator 」を利用して日次でAMIを取得するAWSリソースを識別し、グルーピング可能な状態にする
※ここでは「CloudAutomator 」について言及したが、その他のサードパーティ製品を利用する場合も考え方は同様です。
任意

③AWS Organizations 部署 + システム分割パターン

このパターンでは単一企業によるAWS利用を想定しています。AWS Organizations のOU機能を利用して、AWSアカウントを階層構造に分けてグループ管理しています。実際に稼働させるワークロードを配置するWorkload OU配下にさらにシステムごと、環境ごとにOUを作成して、AWSアカウントを配置しています。

アカウント構成

③AWS Organizations 部署 + システム分割パターン

タグ設計(リソース整理)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 必須
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)を整理し、グルーピング可能な状態にする 推奨
Project AWSリソースがどのようなプロジェクトにおいて構築されたのかを整理し、グルーピング可能な状態にする 任意 複数プロジェクトが同一AWSアカウントを利用している場合は付与することを検討
Service AWSリソースが利用されているアプリケーションやシステムを識別し、グルーピング可能な状態にする 任意 ▼システムごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位でシステムを識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的にシステムを識別したい場合は付与することを検討
Vendor AWSリソースを構築した外部ベンダーを識別し、グルーピング可能な状態にする 任意 複数のベンダーが同一AWSアカウントを利用している場合は付与することを検討
DivisionCode AWSリソースを所有・管理している部署を識別し、グルーピング可能な状態にする 任意 ▼部署ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で管轄部署を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に管轄部署を識別したい場合は付与することを検討
Company AWSリソースを所有・管理している企業を識別し、グルーピング可能な状態にする 任意 単一企業を想定しており且つDivisonCodeを付与しているため、タグで識別する必要はない。
Confidential 機密性が高いデータを処理・保管しているAWSリソースを識別し、グルーピング可能な状態にする 任意

タグ設計(コスト配分タグ)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 推奨 AWSリソースごとにコストを把握したい場合に有効化を検討
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)ごとにグルーピングして、AWS利用料を確認できるようにする 推奨 AWSリソースを環境別でコストを把握したい場合に有効化を検討
Service AWSリソースが利用されているアプリケーションやシステムでグルーピングして、AWS利用料を確認できるようにする 任意 ▼システムごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位でシステム別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグでシステムを識別したい場合に有効化を検討
DivisionCode AWSリソースを所有・管理している部署ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼部署ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位で部署別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで部署を識別したい場合に有効化を検討
Company AWSリソースを所有・管理している企業ごとにグルーピングして、AWS利用料を確認できるようにする 任意 単一企業を想定したアカウント設計パターンであるため任意

タグ設計(自動化対象リソースの識別)

タグキー 説明 要否 備考
SSM-Patch SSM Patch Managerでパッチ適用を自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
SSM-Params SSM Parameter Storeで保存している設定ファイルを適用するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
Backup AWS Backupでバックアップを自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 AWS Backupを利用する場合は付与を検討
Monitor サードパーティー製品を使って運用をするAWSリソースを識別し、グルーピング可能な状態にする 任意 サードパーティ製品を利用する場合は付与を検討
CA_daily_ami_copy 弊社が提供している運用自動化ツール「CloudAutomator 」を利用して日次でAMIを取得するAWSリソースを識別し、グルーピング可能な状態にする
※ここでは「CloudAutomator 」について言及したが、その他のサードパーティ製品を利用する場合も考え方は同様です。
任意

④AWS Organizations 部署 + システム + 環境分割パターン

このパターンでは単一企業によるAWS利用を想定しています。AWS Organizations のOU機能を利用して、AWSアカウントを階層構造に分けてグループ管理しています。実際に稼働させるワークロードを配置するWorkload OU配下にさらに部署ごと、システムごと、環境ごとにOUを作成して、AWSアカウントを配置しています。

アカウント構成

④AWS Organizations 部署 + システム + 環境分割パターン

タグ設計(リソース整理)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 必須
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)を整理し、グルーピング可能な状態にする 任意 ▼環境ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で環境を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に環境を識別したい場合は付与することを検討
Project AWSリソースがどのようなプロジェクトにおいて構築されたのかを整理し、グルーピング可能な状態にする 任意 複数プロジェクトが同一AWSアカウントを利用している場合は付与することを検討
Service AWSリソースが利用されているアプリケーションやシステムを識別し、グルーピング可能な状態にする 任意 ▼システムごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位でシステムを識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的にシステムを識別したい場合は付与することを検討
Vendor AWSリソースを構築した外部ベンダーを識別し、グルーピング可能な状態にする 任意 複数のベンダーが同一AWSアカウントを利用している場合は付与することを検討
DivisionCode AWSリソースを所有・管理している部署を識別し、グルーピング可能な状態にする 任意 ▼部署ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で部署を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に部署を識別したい場合は付与することを検討
Company AWSリソースを所有・管理している企業を識別し、グルーピング可能な状態にする 任意 単一企業を想定したアカウント設計パターンであるため任意
Confidential 機密性が高いデータを処理・保管しているAWSリソースを識別し、グルーピング可能な状態にする 任意

タグ設計(コスト配分タグ)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 推奨 AWSリソースごとにコストを把握したい場合に有効化を検討
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼環境ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位でシステムおよび環境別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで環境を識別したい場合に有効化を検討
Service AWSリソースが利用されているアプリケーションやシステムでグルーピングして、AWS利用料を確認できるようにする 任意 ▼システムごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位でシステム別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグでシステムを識別したい場合に有効化を検討
DivisionCode AWSリソースを所有・管理している部署ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼部署ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位で部署別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで部署を識別したい場合に有効化を検討
Company AWSリソースを所有・管理している企業ごとにグルーピングして、AWS利用料を確認できるようにする 任意 単一企業を想定したアカウント設計パターンであるため任意

タグ設計(自動化対象リソースの識別)

タグキー 説明 要否 備考
SSM-Patch SSM Patch Managerでパッチ適用を自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
SSM-Params SSM Parameter Storeで保存している設定ファイルを適用するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
Backup AWS Backupでバックアップを自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 AWS Backupを利用する場合は付与を検討
Monitor サードパーティー製品を使って運用をするAWSリソースを識別し、グルーピング可能な状態にする 任意 サードパーティ製品を利用する場合は付与を検討
CA_daily_ami_copy 弊社が提供している運用自動化ツール「CloudAutomator 」を利用して日次でAMIを取得するAWSリソースを識別し、グルーピング可能な状態にする
※ここでは「CloudAutomator 」について言及したが、その他のサードパーティ製品を利用する場合も考え方は同様です。
任意

⑤AWS Organizations 企業 + 部署 + システム分割パターン

このパターンはグループ企業によるAWSアカウント利用を想定しています。AWS Organizations のOU機能を利用して、AWSアカウントを階層構造に分けてグループ管理しています。実際に稼働させるワークロードを配置するWorkload OU配下にさらに企業ごと、部署ごと、システムごとにOUを作成して、AWSアカウントを配置しています。

アカウント構成

⑤AWS Organizations 企業 + 部署 + システム分割パターン

タグ設計(リソース整理)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 必須
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)を整理し、グルーピング可能な状態にする 推奨
Project AWSリソースがどのようなプロジェクトにおいて構築されたのかを整理し、グルーピング可能な状態にする 任意 複数プロジェクトが同一AWSアカウントを利用している場合は付与することを検討
Service AWSリソースが利用されているアプリケーションやシステムを識別し、グルーピング可能な状態にする 任意 ▼システムごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位でシステムを識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的にシステムを識別したい場合は付与することを検討
Vendor AWSリソースを構築した外部ベンダーを識別し、グルーピング可能な状態にする 任意 複数のベンダーが同一AWSアカウントを利用している場合は付与することを検討
DivisionCode AWSリソースを所有・管理している部署を識別し、グルーピング可能な状態にする 任意 ▼部署ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で部署を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に部署を識別したい場合は付与することを検討
Company AWSリソースを所有・管理している企業を識別し、グルーピング可能な状態にする 任意 ▼企業ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で企業を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に企業を識別したい場合は付与することを検討
Confidential 機密性が高いデータを処理・保管しているAWSリソースを識別し、グルーピング可能な状態にする 任意

タグ設計(コスト配分タグ)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 推奨 AWSリソースごとにコストを把握したい場合に有効化を検討
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)ごとにグルーピングして、AWS利用料を確認できるようにする 推奨 AWSリソースを環境別でコストを把握したい場合に有効化を検討
Service AWSリソースが利用されているアプリケーションやシステムでグルーピングして、AWS利用料を確認できるようにする 任意 ▼システムごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位でシステム別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグでシステムを識別したい場合に有効化を検討
DivisionCode AWSリソースを所有・管理している部署ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼部署ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位で部署別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで部署を識別したい場合に有効化を検討
Company AWSリソースを所有・管理している企業ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼企業ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位で企業別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで企業を識別したい場合に有効化を検討

タグ設計(自動化対象リソースの識別)

タグキー 説明 要否 備考
SSM-Patch SSM Patch Managerでパッチ適用を自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
SSM-Params SSM Parameter Storeで保存している設定ファイルを適用するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
Backup AWS Backupでバックアップを自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 AWS Backupを利用する場合は付与を検討
Monitor サードパーティー製品を使って運用をするAWSリソースを識別し、グルーピング可能な状態にする 任意 サードパーティ製品を利用する場合は付与を検討
CA_daily_ami_copy 弊社が提供している運用自動化ツール「CloudAutomator 」を利用して日次でAMIを取得するAWSリソースを識別し、グルーピング可能な状態にする
※ここでは「CloudAutomator 」について言及したが、その他のサードパーティ製品を利用する場合も考え方は同様です。
任意

⑥AWS Organizations 企業 + 部署 + 環境分割パターン

このパターンはグループ企業によるAWSアカウント利用を想定しています。AWS Organizations のOU機能を利用して、AWSアカウントを階層構造に分けてグループ管理しています。実際に稼働させるワークロードを配置するWorkload OU配下にさらに企業ごと、部署ごと、環境ごとにOUを作成して、AWSアカウントを配置しています。

アカウント構成

⑥AWS Organizations 企業 + 部署 + 環境分割パターン

タグ設計(リソース整理)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 必須
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)を整理し、グルーピング可能な状態にする 任意 ▼環境ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で環境を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に環境を識別したい場合は付与することを検討
Project AWSリソースがどのようなプロジェクトにおいて構築されたのかを整理し、グルーピング可能な状態にする 任意 複数プロジェクトが同一AWSアカウントを利用している場合は付与することを検討
Service AWSリソースが利用されているアプリケーションやシステムを識別し、グルーピング可能な状態にする 推奨
Vendor AWSリソースを構築した外部ベンダーを識別し、グルーピング可能な状態にする 任意 複数のベンダーが同一AWSアカウントを利用している場合は付与することを検討
DivisionCode AWSリソースを所有・管理している部署を識別し、グルーピング可能な状態にする 任意 ▼部署ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で部署を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に部署を識別したい場合は付与することを検討
Company AWSリソースを所有・管理している企業を識別し、グルーピング可能な状態にする 任意 ▼企業ごとにOUならびにAWSアカウントを分離しているため、タグではなくAWSアカウント単位で企業を識別可能。
▼コスト配分タグで利用したい場合、AWSアカウント単位ではなくAWSリソースに付与されているタグで明示的に企業を識別したい場合は付与することを検討
Confidential 機密性が高いデータを処理・保管しているAWSリソースを識別し、グルーピング可能な状態にする 任意

タグ設計(コスト配分タグ)

タグキー 説明 要否 備考
Name AWSリソース名を一意に識別する 推奨 AWSリソースごとにコストを把握したい場合に有効化を検討
Environment AWSリソースが構築されている環境(本番/検証/開発/DR等)ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼環境ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位でシステムおよび環境別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで環境を識別したい場合に有効化を検討
Service AWSリソースが利用されているアプリケーションやシステムでグルーピングして、AWS利用料を確認できるようにする 推奨 アプリケーション・システム別にコストを把握したい場合に有効化を検討
DivisionCode AWSリソースを所有・管理している部署ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼部署ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位で部署別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで部署を識別したい場合に有効化を検討
Company AWSリソースを所有・管理している企業ごとにグルーピングして、AWS利用料を確認できるようにする 任意 ▼企業ごとにOUならびにAWSアカウントを分離しているため、AWS Cost Explorerの「グループ化の条件」を利用すればAWSアカウント単位で企業別のコスト表示が可能。
▼AWS Cost Explorerの「フィルター」でタグによるフィルタリングを実施したい場合は有効化を検討
▼AWS利用明細の確認時に、タグで企業を識別したい場合に有効化を検討

タグ設計(自動化対象リソースの識別)

タグキー 説明 要否 備考
SSM-Patch SSM Patch Managerでパッチ適用を自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
SSM-Params SSM Parameter Storeで保存している設定ファイルを適用するAWSリソースを識別し、グルーピング可能な状態にする 任意 SSMを利用する場合は付与を検討
Backup AWS Backupでバックアップを自動化するAWSリソースを識別し、グルーピング可能な状態にする 任意 AWS Backupを利用する場合は付与を検討
Monitor サードパーティー製品を使って運用をするAWSリソースを識別し、グルーピング可能な状態にする 任意 サードパーティ製品を利用する場合は付与を検討
CA_daily_ami_copy 弊社が提供している運用自動化ツール「CloudAutomator 」を利用して日次でAMIを取得するAWSリソースを識別し、グルーピング可能な状態にする
※ここでは「CloudAutomator 」について言及したが、その他のサードパーティ製品を利用する場合も考え方は同様です。
任意

まとめ

長文でしたがご一読いただき有難うございます。今回はアカウント設計パターン別にタグ設計を考えてみました。色々考えてみましたが、最終的に大切なのはタグを付ける目的を定めることだと思いますので、目的を満たしうるタグ設計をしましょう

タグ設計における検討観点

要素 設計内容
タグキー AWSリソースを分類・識別・検索する「目的」を定める
タグ値 タグキーで設計した「目的」に即した「値」を決める

タグ設計における命名規則についても以下のブログに整理しましたので合わせてご覧ください

blog.serverworks.co.jp

山﨑 翔平 (Shohei Yamasaki) 記事一覧はコチラ

2019/12〜2023/2までクラウドインテグレーション部でお客様のAWS導入支援を行っていました。現在はIE(インターナルエデュケーション)課にて採用周りのお手伝いや新卒/中途オンボーディングの業務をしています。2023 Japan AWS Top Engineers/2023 Japan AWS Ambassadors