Menu Close
Settings Close

Language and Page Formatting Options

タグ付けを使用したコストデータの管理

OpenShift Container Platform 4.6

リソースを整理し、タグでコストを割り当てる

概要

本書では、タグ付けをコスト管理で機能する方法を説明し、タグおよびラベルでコストデータを管理するストラテジーの概要を説明します。

第1章 タグ付けを使用したコストデータの管理

本書では、コスト管理でタグ付けがどのように機能するか、およびタグ付けを使用してリソースを最適に整理および表示してコストを管理する方法について詳しく説明します。

本書の改善が提案されている場合やエラーが見つかった場合は、Cost Management コンポーネントの Cloud Software Services (cloud.redhat.com) に対して、http://bugzilla.redhat.com から Bugzilla レポートを送信してください。

第2章 タグ付けストラテジーの計画

2.1. タグを使用する理由

タグを使用すると、環境のさまざまな部分間でコストを区別して割り当てることができ、コストデータをより正確に表示できます。

ビジネスサービスは、多くのプロジェクトや技術サービス (環境、リージョン、コストセンターなど) でサポートできるため、タグはビジネス概念をレポートにマッピングすることで明確になります。

タグ付けは、さまざまなビジネス機能を提供するために多数のサービスが使用する共有クラスターなどのリソースを分割するのに使用できます。たとえば、AWS アカウントは異なるプロジェクトについて異なるサービスを実行できます。

タグを使用すると、ソース間の関係を特定し、同じ環境、コストセンター、またはチームが同じ複数のクラスターにアプリケーションをグループ化できます。また、タグ付けは、RDS データベースと OpenShift プロジェクト間のリンクなどの依存関係の特定に役立ちます。

2.2. タグ付けストラテジーに関する考慮事項

タグ付けストラテジーを計画する際、この考慮事項はソースのコストを整理し、報告する方法を決定するのに役立ちます。

ビジネスをレポートにマッピング

レポートするビジネスパースペクティブを定義します。たとえば、コスト管理の分類法では、次のさまざまな観点を考慮することができます。

所有権と使用方法:

リソースの所有者およびユーザーの定義: たとえば、リソースを要求したユーザーの一意の ID、およびそのリソースを実際に消費しているユーザーの一意識別子。

テナンシー:

環境が共有されている場合は、どのグループまたはビジネスユニットがリソースを要求しているかを理解することが有益な場合があります。ユーザーが異なるグループの一部である場合は、1 つのグループを選択する必要があります。コストレポートについては、コストセンターを使用して、多くのケースでこれを実現できます。ただし、部署、プロジェクト、パートナーも優れた候補です。

場所:

グローバルにデプロイされた組織の場合、クラウドプロバイダーはリソースが実行しているリージョンを特定しますが、プライベートクラウドは異なる場合があります。

環境またはステージ:

リソースを作成または実行している環境に応じて異なるコスト決定を行うことができるように、開発と本番を区別することをお勧めします。開発パイプラインに、開発、テスト、ステージング、実稼働前、実稼働などのステージがすでに含まれる場合、これは適切な候補となります。

アプリケーション/プロジェクト/サービス/イベント:

おそらく、使用している環境は、イベントのための一時的なリソースのグループなどのサービスを提供しています (たとえば、年次の顧客中心の会議)。アプリケーションバージョンを含めることもできます。

ラベルの標準化

一貫性は、タグ付けストラテジーの中で最も重要な要素で、正確で比較可能なコストレポート結果を提供します。

タグ付けする必要のあるリソース、必須のタグ、任意のタグを定義する明確なタグ付けポリシーを作成し、解釈の余地がないことを確認します。

リストから値を選択する必要がある場合は、それらの値が定義され、一貫性があり、簡単にアクセスできること、またはリストがユーザーに表示されることを確認してください。たとえば、キー「Development」で開発を定義する場合は、「Dev」、「DEV」、「R&D」などのバリエーションを使用せず、「Development」としてリソースを特定します。

ソース上の全要素をタグ付け (手動または自動化により)

タグ付けされていないリソースは、できるだけ多くの要素で報告できないため、人間によるエラーを防ぐために自動化を使用していることが理想的です。ソースには、タグ付けに使用するさまざまな自動化機能があります。

  • Azure では、Azure ポリシーを使用して、タグ付けのルールおよび規則を適用し、期待に従わないリソースがデプロイされないようにすることができます。プロビジョニング時に必要なタグを自動的に適用するポリシー、日付に事前定義された形式を適用するポリシー、または一部のリソースタイプに一部のタグを必須にするポリシーを作成できます。
  • AWS では、同じものに IAM ポリシーを使用できます。さらに、Ansible などの自動化ツールを使用してプロビジョニング時に必要なタグを追加し、すべてのリソースが適切にタグ付けされるようにすることができます。
  • OpenShift Container Platform には、ラベルリングを自動化する方法がありません。
必要に応じてタグを頻繁に確認し、改良します。

タグを定義し、後でタグ付けスキームを調整する必要がある場合でも、コスト管理でできるだけ早くそれらを使用します。

結果のレポートをビジネスオーナーや利害関係者と早い段階で確認して、タグが目的のレポートの生成に役立っていることを確認し、タグ付けストラテジーを数週間ごとに確認して最適化します。

タグの用語の選択
  • メタデータにアクセスせずにリソースを識別できる名前をリソースに付けてから、メタデータを追加して続行します。クラウドの多くは、正しく行う方法についてのガイドがあります。リンクについては、5章関連情報 を参照してください。
  • リソースをキーと値にマップします。キーはパースペクティブにマップされますが、値は各キーで許可されるさまざまなオプションを定義します。場合によっては、値は Null になります。
注記

すべてのソースが同じ識別子を許可する訳ではなく、制限が異なります。ソースによる制限については、「ソースタイプ別のタグの指定」 を参照してください。

第3章 コスト管理でのタグおよびラベルの設定

コスト管理がタグを使用してコストデータを自動的に整理する前に、各ソースにタグを設定する必要があります。

コスト管理にソースを追加した後、以下を行います。

  1. 各ソースのリソースにタグを付けるか、ラベルを付けます。「ソースでのタグの設定」を参照してください。
  2. (オプション) OpenShift タグをグループ化して、各ソースのコストデータビューをさらに整理します。「OpenShift タググループの有効化」を参照してください。
  3. コストデータの表示を最適化するには、タグに絞り込み、追加します。「タグ付けストラテジーに関する考慮事項」を参照してください。
注記

ソースの設定手順は、『Getting started with cost management』を参照してください。

3.1. コスト管理がタグを関連付ける方法

AWS および Azure のタグおよび OpenShift のラベルは key:value ペアで構成されます。key:value ペアが一致すると、AWS/Azure および OpenShift コストはコスト管理によって自動的に関連付けられます。コスト管理でのタグ一致では、大文字と小文字が区別されません。たとえば、AWS リソースタグが付いた APP と OpenShift リソースタグが付けられた アプリ は一致とみなされます。

表3.1 例: 一致するタグ

ソースおよびリソースタイプキー

AWS リソース (RDS)

APP

Cost-Management

OpenShift Pod

app

cost-management

AWS リソースタグが複数の OpenShift プロジェクトに一致する場合、そのリソースのコストと使用状況は、一致したプロジェクト間で均等に分割されます。

これは、インスタンス ID ノードの関係で一致する AWS コンピュートリソースではないことに注意してください。この場合、OpenShift クラスター内でのプロジェクトのリソース消費に関する情報を使用し、コストと使用状況は破損します。

デフォルトでは、コスト管理は、Amazon EC2 インスタンス ID または Azure 仮想マシンインスタンス ID を、そのインスタンスで実行している OpenShift Container Platform ノードに関連付けることで、AWS コンピュートの使用量およびコストを追跡します。

3.1.1. コスト管理におけるタグのマッチング階層

AWS または Azure インスタンスで実行している OpenShift リソースを特定するために、コスト管理は以下の順序でソース間のタグを照合します。

  1. 直接リソース一致 (AWS EC2 インスタンス ID または Azure 仮想マシンインスタンス ID)
  2. 特殊な OpenShift タグ
  3. カスタムタグ

3.1.1.1. 直接リソースマッチング (インスタンス ID)

ソースはこれらの識別子を自動的に適用します。この形式のタグ付けにより、Azure または AWS インスタンスと OpenShift ノード間の直接リンクが提供されます。

AWS は、すべての EC2 インスタンスをリソース識別子 (i-01f44b3d90ef90055 など) に割り当てます。OpenShift ノードは、クラスターが AWS リソース識別子を使用して実行している AWS EC2 インスタンスに直接一致します。コスト管理の OpenShift レポート (Prometheus データから生成) には、ノードのこの識別子が含まれています。Azure と同様に、各仮想マシンインスタンス ID はコスト管理の OpenShift レポートに含まれます。

3.1.1.2. 特殊な OpenShift タグ

コストを OpenShift に関連付けるために使用できる 3 つの特別な場合の AWS タグがあります。

  • openshift_cluster
  • openshift_node
  • openshift_project

これらのタグにはカスタムタグのマッチングの優先順位があり、特に同じ AWS インスタンスで実行される異なる OpenShift クラスターのコストを区別するのに役立ちます。

このタグ付け方法を使用して OpenShift クラスターを識別し、AWS インスタンスにキー openshift_cluster をタグ付けし、OpenShift ソース名を値として指定します。以下の例では、コスト管理アプリケーションの OpenShift ソースの名前は dev-cluster です。

表3.2 例: OpenShift の特殊なタグ

ソースおよびリソースタイプキー

AWS リソース (RDS)

openshift_cluster

dev-cluster

OpenShift クラスター

タグは必要ありません。これは、コスト管理の OpenShift ソースの名前が dev-cluster の場合に一致します。

タグは必要ありません。

3.1.1.3. カスタムタグ

任意の key:value の組み合わせをタグとして使用し、コスト管理は同一のタグキーと値を一緒に関連付けます。次に、タグキー、アカウント、サービス、リージョンなどでコストをグループ化し、そのタグのコストと料金を表示することもできます。

表3.3 例: カスタムタグ

ソースおよびリソースタイプキー

AWS リソース (RDS)

team

engineering

OpenShift Pod

team

engineering

3.2. ソースでのタグの設定

コスト管理がインポートするタグを制御するには、ソースごとに表示するタグをアクティブまたは有効にします。

  • AWS タグは有効にしてから選択され、コストおよび使用方法のレポートでコスト管理にエクスポートされます。手順は、『Getting started with cost management』ガイドの「Activating AWS tags for cost management」を参照してください。
  • Azureタグは、『Getting started with cost management』の「Configuring a daily Azure data export schedule」で構成されたコストエクスポートレポートのコスト管理にエクスポートされます。
  • OpenShift Container Platform ラベルはメータリングによってエクスポートされ、コスト管理がインプットとして使用するメトリクスレポートに含まれます。cloud.redhat.com アプリケーション設定でタグキーグループを有効にし、コストデータをグループ化するタグを指定します。手順については 「OpenShift タググループの有効化」 を参照してください。

3.2.1. AWS リソースへのタグの追加

Amazonは、EC2 インスタンスリソース識別子 (i-123456789 などの番号) などの特定の識別子を自動的に作成します。これは、コスト管理がタグと同様に使用します。

個別のリソースレベルで独自のタグを追加することもできます。これらのタグをコスト管理アプリケーションにエクスポートするには、コストおよび使用方法のレポートに対してアクティベートする必要があります。

以下の手順で、コスト管理の AWS タグを設定します。

手順

  1. AWS リソースにタグを作成し、これを適用します。

    手順については、AWS ドキュメントの「User-Defined Cost Allocation Tags」を参照してください。

  2. コストおよび使用状況レポートを介して、コスト管理アプリケーションによって収集するタグをアクティブにします。AWS Billing コンソールで、Cost Allocation Tags 領域からアクティブ化するタグを選択します。

    手順は、AWS ドキュメントの「Activating the AWS-Generated Cost Allocation Tags」を参照してください。

3.2.2. Azure リソースへのタグの追加

Azure ソースを追加すると、仮想マシンインスタンスの ID が自動的に作成されます。これにより、コスト管理は Azure リソースを関連する OpenShift リソースに関連付けるタグと同様に使用します。

個別のリソースレベルで Azure に独自のタグを追加することもできます。

Azure ドキュメント (Use tags to organize your Azure resources and management hierarchy) の手順に従って、コスト管理に Azure タグを作成し、これを適用します。

3.2.3. OpenShift namespace でのラベルの表示

OpenShift で同等の AWS または Azure タグはラベルであり、これも key:value のペアで構成されます。コスト管理は、Prometheus メトリックと Operator Metering を使用して、ノード、Pod、および永続ボリューム (または永続ボリュームクレーム) から OpenShift タグデータを収集します。

利用可能なタグを表示するには、OpenShift Web コンソールでリソースに移動します。割り当てられたラベルは Labels 見出しに一覧表示されます (例: openshift.io/cluster-monitoring=true)。

3.2.3.1. OpenShift タググループの有効化

デフォルトでは、コスト管理は OpenShiftの詳細 ページでクラスター、ノード、およびプロジェクトごとに OpenShift コストデータをグループ化します。タグキーによるデータのグループ化は、ビューをさらにカスタマイズするのに役立ちます。

タグキーでコストデータをグループ化するには、cloud.redhat.com アプリケーション設定でタグキーを有効にする必要があります。

前提条件

  • コスト管理でこれらの設定を変更するには、組織管理者の権限が必要です。ユーザーロールおよびアクセスの詳細は、『コスト管理の使用開始』の「コスト管理へのアクセスの制限」を参照してください。

手順

OpenShift タグキーをグループ化するために有効にするには、以下を実行します。

  1. configuration gear (設定) をクリックして、Applications > Cost Management に移動します。
  2. Enable OpenShift labels をクリックします。
  3. コスト管理アプリケーションでグループ化するキーを Available Tags リストから選択し、矢印を使用してタグを Enabled Tags リストに移動します。
  4. 送信 をクリックして変更を保存します。

検証手順

有効なタグキーを使用して、コスト管理の OpenShift details 領域の View by リストからコストをグループ化できるようになります。たとえば、View by: Tag を選択する場合は、以下のようになります。

cost tag key

第4章 コストデータの表示およびエクスポート

4.1. コストデータビューのフィルタリング

タグを使用すると、コストデータの表示をカスタマイズできます。特定のリソースがコストの増加を示す理由、またはデータが異常に見える場合を調査するために、タイプ (プロジェクト、ノード、クラスターなど) またはタグまたはラベルでリソースを表示できます。

この例は、クラスター内の各 OpenShift プロジェクトのコストを確認する方法を示しています。

前提条件

  • コスト管理データソースとして追加されている OpenShift クラスター。手順については、『Getting started with cost management』の「Adding an OpenShift Container Platform source to cost management」を参照してください。
  • コスト管理データソースとして追加されたクラウドインフラストラクチャーアカウント。クラウドプロバイダーのタイプに関する説明は、『Getting started with cost management』の「Adding sources to cost management」を参照してください。
  • ソースにタグを設定します。ヒントおよび設定の手順は、「ソースでのタグの設定」 を参照してください。

手順

  1. OpenShift details メニューから、フィルターボタンをクリックして Tag を選択します。
  2. Choose key ドロップダウンリストで、フィルター処理に使用するキーを選択します。たとえば、environment タグでクラスターを表示する 環境 を選択します。tag キーを選択すると、フィルタリングする値を選択する別のドロップダウンが表示されます。
  3. Choose value ドロップダウンリストで、フィルタリングする 1 つ以上の値を選択します。たとえば、qe および dev を選択して、これらのタグを持つ OpenShift プロジェクトのコストデータを表示します。
  4. 各プロジェクトの詳細情報を表示するには、以下を実行します。

    • 各リソースの矢印アイコンをクリックすると、リソースが属するクラスター、CPU とメモリーの使用量、制限、リクエストなどの詳細情報が表示されます。
    • more options (他のオプション) をクリックして、さらに表示オプションを表示します。

      • View price list をクリックし、OpenShift メトリックに適用されるレートを表示し、コストを計算します。
      • View historical data をクリックして、毎日の使用量比較ビューを開きます。このビューでは、月ごとに、対象リソースの 1 日当たりの使用率、要求、制限を比較します。
      • View all projects または View all tags をクリックして、関連リソースおよびメタデータを表示します。
  5. Clear all filters をクリックして OpenShift の詳細ビューをリセットします。

4.2. タグカテゴリー別のコストデータのグループ化

タグカテゴリー別にリソースをグループ化して、コストデータをさらに調べることができます。

グループ化とフィルタリングは、コストや問題の根本原因を見つけたり、コストセンターや特定の環境など、他の環境とは独立して機能する環境の一部を調査したりするのに役立ちます。

これにより、環境の残りの部分に関する情報を非表示にして、コストデータの結果が不要に複雑になるのを防ぎ、他のデータの中に隠れてしまいがちな必要な情報を見つけることができます。

この例は、OpenShift Container Platform でラボ環境を実行している教育コースプロバイダーがタググループ化を使用して、学生とコースごとにコスト情報をフィルタリングする方法を示しています。

前提条件

手順

  1. Group cost by: フィールドの OpenShift details ページから、コストをグループ化するタグキーを選択します。この場合は、Tag Key:user を選択して、学生ユーザーでグループ化された結果を表示します。
  2. フィルターエリアで、Tag を選択します。
  3. Choose key 一覧で、タグキー user を選択します。
  4. Choose value ドロップダウンリストで、値 course_id および course_type をチェックして、コース X を受講した学生の数とそのコースの費用を特定します。
  5. 各リソースの詳細情報 (例: コース X のコスト) を表示するには、以下を実行します。

    • 各リソースの矢印アイコンをクリックすると、リソースが属するクラスター、CPU とメモリーの使用量、制限、リクエストなどの詳細情報が表示されます。
    • View Historical Data をクリックして、毎日の使用量比較ビューを開きます。このビューでは、月ごとに、対象リソースの 1 日当たりの使用率、要求、制限を比較します。
    • more options (他のオプション) をクリックして、さらに表示オプションを表示します。

      • View historical data をクリックして、毎日の使用量比較ビューを開きます。このビューでは、月ごとに、対象リソースの 1 日当たりの使用率、要求、制限を比較します。
      • Export data をクリックしてレポート用の .csv ファイルを作成します。日次または月額の集約を指定し、Generate and download をクリックします。
  6. Clear all filters をクリックして OpenShift の詳細ビューをリセットします。

4.3. レポートツールへのコストデータのエクスポート

タグを使用すると、コストデータの表示をカスタマイズできます。これは、特定のリソースがコストの増加を示している理由、またはデータが異常に見える理由をさらに調査する場合に役立ちます。

この例は、特定の OpenShift リソースのデータを表示し、データを必要なレポートツールにエクスポートする方法を示しています。

前提条件

  • コスト管理データソースとして追加されている OpenShift クラスター。手順については、『Getting started with cost management』の「Adding an OpenShift Container Platform source to cost management」を参照してください。
  • コスト管理データソースとして追加されたクラウドインフラストラクチャーアカウント。クラウドプロバイダーのタイプに関する説明は、『Getting started with cost management』の「Adding sources to cost management」を参照してください。
  • ソースにタグを設定します。ヒントおよび設定の手順は、「ソースでのタグの設定」 を参照してください。

手順

  1. OpenShift details メニューから、フィルターボタンをクリックして Tag を選択します。
  2. Choose key ドロップダウンリストで、フィルター処理に使用するキーを選択します。たとえば、version を選択します。tag キーを選択すると、フィルタリングする値を選択する別のドロップダウンが表示されます。
  3. Choose value ドロップダウンリストで、フィルタリングする 1 つ以上の値を選択します。たとえば、qe および dev を選択して、これらのタグを持つ OpenShift リソースのコストデータを表示します。
  4. リソースのデータをエクスポートするには、データをエクスポートする各リソースの横にあるチェックボックスを選択します。エクスポート をクリックして、エクスポートオプションダイアログを開きます。
  5. 日次または月額の集約を指定し、Generate and download をクリックします。

CSV ファイルはローカルシステムにダウンロードされ、必要なレポートツールでこれを使用できます。

注記

各リソースの more options (その他のオプション) > Export data メニューから、データを .csv ファイルとしてエクスポートすることもできます。

Clear all filters をクリックして OpenShift の詳細ビューをリセットします。

第5章 関連情報

5.1. ソースタイプ別のタグの指定

タグ付け標準はソースタイプによって異なります。ソース間で同じタグ/ラベルを使用するには、異なるプロバイダー間ですべての制限の中で最も一般的なものを使用する必要があります。

以下の表は、AWS、Azure、および OpenShift Container Platform 4 間での基準のタグ付けとラベル付けについてまとめています。

表5.1 ソースによる仕様のタグ付け

基準AWSAzureRed Hat OpenShift

名前

タグ

タグ

ラベル

形式

キー & 値

名前 & 値

キー & 値キー: [prefix/]name Prefix: は DNS サブドメインでなければなりません

空の値を許可する

はい

はい

はい

キーごとの一意のラベル

はい

はい

はい

大文字小文字が区別される

はい

No

はい

リソースごとの制限

50

50 (ストレージ用に 15)

該当なし

キーの長さ

128

512 (ストレージの場合は 128)

253(prefix) / 63(name)

値の長さ

256

256

63

使用可能な文字

UTF-8 で表示可能な文字、数字、およびスペース、ならびに記号 (+ - = . _ : / @)

タグ名には <、>、%、&、\、?、/ の記号を含めることはできません。

名前のセグメントは必須であり、63 文字以下で、語頭および語尾は英数字 ([a-z0-9A-Z]) を使用し、それ以外はダッシュ(-)、アンダースコア(_)、ピリオド(.)、および英数字を使用する必要があります。

制限

プレフィックス「aws:」は予約されています。EC2 に適用されるタグは任意の文字を使用できます。すべてのリソースタイプがタグをサポートしているわけではありません。

すべてのリソースタイプがタグをサポートしているわけではありません。汎用仮想マシンでは、タグはサポートされません。リソースグループに適用されるタグはリソースによって継承されません。

kubernetes.io/ と k8s.io/ のプレフィックスは予約されています。すべてのリソースタイプがタグをサポートしているわけではありません。

備考

コストと使用量のファイルと請求レポートに含まれるタグキーを選択する必要があります。

JSON 文字列を使用してキーの制限を引き継ぐことができます。

プレフィックスを省略すると、ラベルキーはユーザー専用であると想定されます。

5.2. 関連資料

以下のリンクは、各ソースタイプのタグ付けに関するガイダンスを提供します。

AWS:

OpenShift:

Microsoft Azure: