説明
GKE クラスターに resource_labels がないと、どのサービス、環境、チームに属するかを識別しにくくなります。ラベルは運用資産を管理する基本的な手段であり、アクセス権限を制限する制御ではありません。
クラスターが増えると、ラベルのない資産はコスト追跡や管理の自動化から漏れやすくなります。本番環境では、環境、サービス、所有者などのラベルを維持することが望まれます。
想定される影響
- クラスターの所有者と用途をすぐに識別しにくくなります。
- コスト配分や環境の分類が不正確になる場合があります。
- ラベルに基づく自動化やポリシー適用から漏れる場合があります。
対処方法
resource_labelsに環境、サービス、所有者の情報を設定してください。- GKE クラスターの作成時に必須ラベルを確認してください。
- 組織内でラベル構造を標準化し、例外を最小限にしてください。
例
クラスターのリソースラベルの例です。Kubernetes Pod のラベルや IAM 権限の設定ではありません。
変更前
hcl
resource "google_container_cluster" "example" {
name = "marcellus-wallace"
location = "us-central1-a"
initial_node_count = 3
}
変更後
hcl
resource "google_container_cluster" "example" {
name = "marcellus-wallace"
location = "us-central1-a"
initial_node_count = 3
resource_labels = {
environment = "prod"
service = "payments"
}
}
補足:
- 変更前: クラスターにラベルがなく、資産の分類や運用基準の適用が難しくなります。
- 変更後: ラベルを明示し、クラスターの所属と用途を追跡しやすくします。