CI2部 技術2課の山﨑です。
先日ブログを書いたAWSリソースのタグ設計 - 基礎編- ではタグ設計に関する基礎知識を整理して考えてみましたが、今回はもう一歩踏み込んでアカウント設計のパターンごとにタグ設計について考えてみました。
- 検討したアカウント設計パターン
- ①スタンドアロンパターン
- ②AWS Organizations システム + 環境分割パターン
- ③AWS Organizations 部署 + システム分割パターン
- ④AWS Organizations 部署 + システム + 環境分割パターン
- ⑤AWS Organizations 企業 + 部署 + システム分割パターン
- ⑥AWS Organizations 企業 + 部署 + 環境分割パターン
- まとめ
検討したアカウント設計パターン
先日のブログでご紹介した、タグ設計における4つの観点およびタグキーの例を、以下に示すアカウント設計パターンごとに当てはめて考えてみました
アカウント設計パターン
- ①スタンドアロンパターン
- ②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アカウントを配置しています。
アカウント構成
タグ設計(リソース整理)
タグキー | 説明 | 要否 | 備考 |
---|---|---|---|
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アカウントを配置しています。
アカウント構成
タグ設計(リソース整理)
タグキー | 説明 | 要否 | 備考 |
---|---|---|---|
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アカウントを配置しています。
アカウント構成
タグ設計(リソース整理)
タグキー | 説明 | 要否 | 備考 |
---|---|---|---|
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アカウントを配置しています。
アカウント構成
タグ設計(リソース整理)
タグキー | 説明 | 要否 | 備考 |
---|---|---|---|
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アカウントを配置しています。
アカウント構成
タグ設計(リソース整理)
タグキー | 説明 | 要否 | 備考 |
---|---|---|---|
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リソースを分類・識別・検索する「目的」を定める |
タグ値 | タグキーで設計した「目的」に即した「値」を決める |
タグ設計における命名規則についても以下のブログに整理しましたので合わせてご覧ください
山﨑 翔平 (Shohei Yamasaki) 記事一覧はコチラ
2019/12〜2023/2までクラウドインテグレーション部でお客様のAWS導入支援を行っていました。現在はIE(インターナルエデュケーション)課にて採用周りのお手伝いや新卒/中途オンボーディングの業務をしています。2023 Japan AWS Top Engineers/2023 Japan AWS Ambassadors