効果的なラベル戦略により、組織全体で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-hipaa
機密情報の入力を避けてください
セキュリティには、個人を特定できる情報(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 バケット、プロジェクトなどの特定のリソースレベルで適用する必要があるラベル。
- 必要に応じてオプションのラベルを使用して、リソースに関する詳細情報を提供できる柔軟性。
ラベルのエンコードとサポートされている文字
キーと値のすべての文字は UTF-8 でエンコードする必要があります。国際文字も使用できます。キーは、小文字または国際文字で始める必要があります。キーと値には、小文字、数字、アンダースコア、ダッシュのみを使用できます。
ラベルの定義例
ラベルを定義する際に留意する必要がある属性をいくつか紹介します。
| フィールド | 説明 |
|---|---|
| ラベルキー | ラベルキーは、ラベルの固有識別子です。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 を使用したバケット、データベース、永続ディスク | × |
| 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 のコンプライアンス | PCI、HIPAA | セキュリティ | Google Cloud リソース | 省略可 |