AWS Service Catalog で実現する IT ガバナンス - 承認済み製品の標準化とセルフサービス
Service Catalog による承認済み AWS リソースのカタログ化、ポートフォリオ管理、エンドユーザーへのセルフサービス提供を解説します。
Service Catalog の役割
Service Catalog は IT 部門が承認した AWS リソースの構成をカタログとして管理し、エンドユーザーにセルフサービスでプロビジョニングさせるサービスです。エンドユーザーが自由に AWS リソースを作成すると、セキュリティ設定の不備、コスト管理の困難、アーキテクチャの不統一が発生します。Service Catalog では、IT 部門が CloudFormation テンプレートを製品として登録し、承認済みの構成のみをエンドユーザーに提供します。エンドユーザーはカタログから製品を選択してパラメータを入力するだけで、標準化されたリソースがプロビジョニングされます。
この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
ポートフォリオと制約の設計
ポートフォリオは製品のコレクションで、IAM プリンシパル (ユーザー、グループ、ロール) にアクセス権を付与します。開発チーム用ポートフォリオには開発環境の EC2 と RDS を、データチーム用ポートフォリオには Redshift と Glue を含めるといった設計が可能です。起動制約は製品のプロビジョニング時に使用する IAM ロールを指定し、エンドユーザー自身の IAM 権限ではなく、制約で指定されたロールの権限でリソースが作成されます。これにより、エンドユーザーに CloudFormation の直接実行権限を与えずに、カタログ経由でのみリソース作成を許可できます。テンプレート制約で CloudFormation パラメータの許容値を制限し、インスタンスタイプを t3.micro と t3.small のみに制限するといった制御も可能です。
マルチアカウント環境での活用
Organizations との統合で、管理アカウントで作成したポートフォリオを組織内の全アカウントまたは特定の OU に共有できます。共有されたポートフォリオの製品は各アカウントのエンドユーザーが利用でき、組織全体で統一されたアーキテクチャパターンを適用できます。製品のバージョン管理により、テンプレートの更新を段階的にロールアウトできます。新バージョンを公開しても、既存のプロビジョニング済み製品は自動更新されず、エンドユーザーが明示的にバージョンアップを実行します。これにより、更新による予期しない影響を防止できます。
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。
まとめ
Service Catalog は IT ガバナンスとエンドユーザーのセルフサービスを両立するサービスです。承認済みのアーキテクチャパターンをカタログ化し、起動制約とテンプレート制約で安全なプロビジョニングを強制します。Organizations との統合でマルチアカウント環境の標準化を実現できます。
AWS の優位点
- CloudFormation テンプレートを製品として登録し、承認済みのアーキテクチャパターンのみをエンドユーザーに提供できる
- ポートフォリオで製品をグループ化し、IAM グループやロールに基づくアクセス制御で部門ごとに利用可能な製品を制限できる
- 起動制約で製品のプロビジョニングに使用する IAM ロールを指定し、エンドユーザーに最小権限の原則を適用できる
- タグオプションで必須タグを強制し、コスト配分やリソース管理のためのタグ付けポリシーを自動適用できる
- Organizations との統合で組織内の全アカウントにポートフォリオを共有し、マルチアカウント環境での標準化を実現できる