このドキュメントでは、組織に効果的なラベル戦略を設計する方法について説明します。ラベルの作成を開始する前に、ラベルを使用して Google Cloud リソースを整理する際に役立つ一般的な原則をいくつか紹介します。
ラベルの一般原則
常にラベルを使用する
ラベルは必須ではありませんが、Google Cloud リソースの整理と管理に役立ちます。ラベルは、費用の追跡とリソースの識別に使用できます。リソースにラベルを使用する場合は、厳格なラベル付けガイドラインに従ってください。組織の主要な関係者と一致する正式なラベル付けポリシーを作成することをおすすめします。サンプル表は、組織全体のラベル付けポリシーを示しています。
整合性を保つためにラベルをプログラムで適用する
可能な場合は、プログラムでラベルを適用します。Script や 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 リソースを定義することを検討してください。たとえば、ラベルキー environment は、組織の本番環境の各 Google Cloud リソースに設定する必要があります。 |
例外 | すべてのリソースに必須のラベルキーと、適用するオプションとしてのキーを定義することを検討してください。表の例には、ラベル key:value に対する environment:tools などのオプションのペアがあります。ラベル altostrat-environment のラベル値が tools に設定されている場合、ラベルキー altostrat-team は省略可能です。 |
次のラベルの例では、altostrat は企業の名前に対応しています。
ラベルキー | ラベルの値 | 関係者 | ターゲット リソース | 例外 |
---|---|---|---|---|
Altostrat の環境 | 製品、sb1、ステージング、開発、ツール | 財務 | Google Cloud のリソース | × |
altostrat のデータ分類 | 公開、社内専用、機密、制限あり、なし | セキュリティ | Compute Engine の Bucket、データベース、永続ディスク | × |
Altostrat のコストセンター | fin-us、mkt-eu、it-jp | 財務 | Google Cloud のリソース | sandbox-folder |
Altostrat チーム | ショッピング カート | チームリーダー | Google Cloud のリソース | 非本番環境、重要でないコンポーネント |
altostrat-component | フロントエンド、キャッシュ、アプリケーション、データベース | 財務 | Google Cloud のリソース | 省略可 |
altostrat-app | shopping-cart-payment | 財務 | Google Cloud のリソース | いいえ。アプリケーションとの 1 対 1 マッピングがないマルチテナント リソースには例外があります。 |
altostrat-compliance | PCI、HIPAA | セキュリティ | Google Cloud のリソース | 省略可 |