このドキュメントでは、組織で効果的なラベル戦略を設計する方法について説明します。ラベルの作成を開始する前に、ラベルを使用して Google Cloud リソースを整理する際に使用できる、いくつかの一般原則について説明します。
ラベルの一般的な原則
常にラベルを使用する
ラベルは必須ではありませんが、Google Cloud リソースの整理や管理に役立ちます。ラベルを使用して、費用を追跡し、リソースを識別できます。リソースにラベルを使用する場合は、厳格なラベル付けガイドラインに従ってください。組織の主要な関係者と一致する正式なラベル付けポリシーを作成することをおすすめします。表の例は、組織全体のラベル付けポリシーを示しています。
一貫性を保つためにプログラムでラベルを適用する
可能であれば、プログラムでラベルを適用します。スクリプトや Terraform などのツールを使用すると、ラベルの作成プロセスを自動化し、ラベル付けポリシーを適用できます。これらのツールを使用すると、すべてのリソースに一貫してラベルが適用されます。ラベル付けには大文字と小文字を区別する形式を使用し、すべてのリソースに一貫して適用します。
ラベルを標準化する
すべてのリソースに一貫した標準ラベルを使用します。これにより、リソースの検索、フィルタリング、管理が容易になります。ラベル戦略を簡素化するため、使用するラベルは 10 個以下にしてください。費用のレポート方法に基づいてラベルを調整します。組織に最適な一連のラベルキーと値の使用を検討してください。ラベルには、環境、データ分類、コストセンター、チーム、コンポーネント、アプリケーション、コンプライアンスなどのビジネス ユースケースを含めることができます。
ラベル付けポリシーを標準化して遵守することは、集中管理されたラベルにとって非常に重要であることに注意してください。商品チームと部門は、リソースにカスタムラベルを追加して、チーム固有の情報を共有することもできます。詳しくは、標準以外のラベルを適用するをご覧ください。
以下は、各キーの標準値のセットを定義する方法の例です。
- 環境:
prod/dev/staging
- データ分類:
public/internal-only/confidential/restricted/na
- コストセンター:
c23543
- チーム:
shopping-cart
- コンポーネント:
frontend/cache/backend/database
- アプリケーション:
shopping-cart-payments
- コンプライアンス:
pci-hippa
機密情報を避ける
セキュリティには、個人を特定できる情報(PII)を保護することが不可欠です。ラベルに個人情報(PII)や機密情報を保存しないようにしてください。
標準以外のラベルを適用する
ラベル ポリシーの遵守は重要ですが、プロダクト チームや部門に固有の情報を共有するためにラベルを使用することもできます。このようなシナリオでは、個々のチームのリソース所有者に各リソースに標準以外のラベルを適用するオプションを提供することで、リソースに関するより多くのコンテキストを提供できます。これにより、これらのプロダクト チームや部門に固有の情報を簡単に検索、フィルタリング、共有することができます。たとえば、1 つのリソースには、environment:prod
、data-classification:restricted
、cost-center:c23543
、team:shopping-cart
、app:shopping-cart-payments
、component:database
、compliance: pci
といったラベルを指定できます。リソースのオーナーは、データベース クラスタのバージョンとノードのレプリケーション ステータスを示す標準ラベル(version:5.0.1
や replica:primary
など)を追加できます。
変更による影響を考慮する
ラベル付け戦略は、ビジネス要件の変化によって変化する可能性があります。これらの変更による影響に注意してください。たとえば、新しいコストセンター、マイクロサービス、新しいツールの追加がラベル付け戦略に影響を与える可能性があります。
ラベルの命名規則とパターン
組織ごとに独自のリソース整理方法があります。ラベルを使用して、階層内のリソースをさまざまな方法で分類し、ユーザーが必要とするリソースをフィルタリングできます。ラベルの命名規則を定義するときは、次の点を考慮してください。
- リソースに関連する環境、コストセンター、チーム、コンポーネント、アプリケーション、コンプライアンス、所有権。
- システムに保存されているデータのデータ分類。これはステートフル システムにのみ適用されます。
- Compute Engine、Cloud Storage バケット、プロジェクトなど、特定のリソースレベルで適用する必要があるラベル。
- 必要に応じてオプションのラベルを使用して、リソースに関する詳細情報を提供できる柔軟性。
ラベルの定義例
ラベルを定義するときは、次の点に注意してください。
フィールド | 説明 |
---|---|
ラベルキー | ラベルキーはラベルの一意の識別子です。1 文字以上、63 文字以下の文字列にする必要があります。キーは空にできません。environment 、data-classification 、cost-center 、team 、component 、application 、compliance などのビジネス ユース ケースをカバーする、組織に最適なラベル キーの標準セットを使用できます。 |
ラベルの値 | ラベルの値はキーに関連付けられたデータです。文字列、数値、ブール値を指定できます。ベスト プラクティスとして、ラベルキーごとに一連の値を定義することを検討してください。これにより、各キーに適切な値を選択して割り当てることが可能です。たとえば、environment キーには prod 、staging 、dev 、tools などの値を指定できます。 |
関係者 | リソースのフィルタリングやレポートの作成のためにラベルキーが必要な部門を特定します。たとえば、組織の財務部門は、prod 環境の運用コストを知りたいとします。この場合、ラベル key:value のペア environment:prod を使用します。 |
ターゲット リソース | ラベルごとに、ラベル key:value のペアを適用する対象の Google Cloud リソースを定義することを検討してください。たとえば、組織の本番環境内の各 Google Cloud リソースにラベルキー environment が存在する必要があります。 |
例外 | すべてのリソースに必須のラベルキーと、適用するオプションとしてのキーを定義することを検討してください。表の例には、ラベル key:value に対する environment:tools などのオプションのペアがあります。ラベル altostrat-environment のラベル値が tools に設定されている場合、ラベルキー altostrat-team はオプションと見なされます。 |
次のラベルの例では、altostrat は企業の名前に対応しています。
ラベルキー | ラベルの値 | 関係者 | ターゲット リソース | 例外 |
---|---|---|---|---|
Altostrat の環境 | 製品、sb1、ステージング、開発、ツール | 財務 | Google Cloud のリソース | × |
altostrat のデータ分類 | 一般公開、内部専用、機密、制限あり、なし | セキュリティ | Compute Engine を使用したバケット、データベース、永続ディスク | × |
Altostrat のコストセンター | fin-us、mkt-eu、it-jp | 財務 | Google Cloud のリソース | sandbox フォルダ |
Altostrat チーム | ショッピング カート | チームリーダー | Google Cloud のリソース | 非本番環境、クリティカルでないコンポーネント |
Altostrat コンポーネント | フロントエンド、キャッシュ、アプリケーション、データベース | 財務 | Google Cloud のリソース | 省略可 |
Altostrat-app | ショッピング カートの支払い | 財務 | Google Cloud のリソース | いいえ。アプリケーションと 1 対 1 のマッピングがないマルチテナント リソースには例外があります。 |
Altostrat コンプライアンス | PCI、HIPAA | セキュリティ | Google Cloud のリソース | 省略可 |