Google Cloud データの Cost Management への統合

Cost Management Service 1-latest

Google Cloud インテグレーションを追加して設定する方法について

Red Hat Customer Content Services

概要

Google Cloud のインテグレーションを Cost Management に追加する方法について説明します。Cost Management は、Red Hat Insights ポートフォリオサービスの一部になります。高度な分析ツールである Red Hat Insights スイートは、運用、セキュリティー、およびビジネスへの影響を特定して優先順位を付けるのに役立ちます。

第1章 Google Cloud データの Cost Management への統合

Google Cloud アカウントを Cost Management に追加するには、メトリクスを提供するように Google Cloud を設定し、Red Hat Hybrid Cloud Console ユーザーインターフェイスからインテグレーションとして Google Cloud アカウントを追加する必要があります。

注記

Cost Management にインテグレーションを追加するには、Sources Administrator のエンタイトルメントを持つ Red Hat アカウントユーザーが必要です。

Google Cloud アカウントをデータインテグレーションとして Cost Management に追加する前に、Google Cloud アカウントで以下のサービスを設定し、Cost Management がメトリクスにアクセスできるようにする必要があります。

  • Cost Management Google Cloud プロジェクト。
  • Red Hat Hybrid Cloud Console にデータをエクスポートするための適切なロールを持つ課金サービスアカウントメンバー。
  • コストデータを格納する BigQuery データセット。
  • コストデータを BigQuery のデータセットに送信する課金エクスポート。

Google Cloud コンソールで以下の手順の一部と、Cost Management ユーザーインターフェイスの手順の一部を完了するため、両方のアプリケーションを Web ブラウザーで開いた状態にしてください。

Integrations ページから、Google Cloud インテグレーションをCost Management に追加します。

注記

Red Hat 以外の製品およびドキュメントは予告なく変更される可能性があるため、このガイドに記載されているサードパーティーインテグレーションの設定手順は一般的なものであり、公開時点で正しいものです。最新かつ正確な情報については、Google Cloud Platform のドキュメント を参照してください。

1.1. Google Cloud プロジェクトの作成

Google Cloud プロジェクトを作成し、コストレポートを収集して Cost Management に送信します。

前提条件

  • resourcemanager.projects.create 権限で Google Cloud Console にアクセスする。

手順

  1. Google Cloud ConsoleIAM & AdminCreate a Project をクリックします。
  2. 表示される新しいページで Project Name を入力し、課金アカウントを選択します。
  3. Organization を選択します。
  4. Location ボックスに親組織を入力します。
  5. Create をクリックします。

検証手順

  1. Google Cloud Console Dashboard に移動します。
  2. プロジェクトがメニューバーにあることを確認します。

関連情報

1.2. Google Cloud Identity and Access Management のロール作成

Cost Management 用のカスタム Identity and Access Management (IAM) ロールは、Google Cloud Platform インテグレーションを有効にするために必要な特定のコスト関連リソースへのアクセスを許可し、他のリソースへのアクセスを禁止します。

前提条件

  • 以下の権限で Google Cloud Console にアクセスする。

    • resourcemanager.projects.get
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Google Cloud プロジェクト

手順

  1. Google Cloud Console で、IAM & AdminRoles をクリックします。
  2. メニューバーのドロップダウンから Cost Management プロジェクトを選択します。
  3. + Create role をクリックします。
  4. ロールの TitleDescriptionID を入力します。この例では、customer-data-role を使用します。
  5. + ADD PERMISSIONS をクリックします。
  6. Enter property name or value フィールドを使用して、カスタムロールのこれら 4 つの権限を検索して選択します。

    • bigquery.jobs.create
    • bigquery.tables.getData
    • bigquery.tables.get
    • bigquery.tables.list
  7. Add をクリックします。
  8. CREATE をクリックします。

関連情報

1.3. Google Cloud プロジェクトへの課金サービスアカウントメンバーの追加

Red Hat Hybrid Cloud Console にコストレポートをエクスポートできる課金サービスアカウントメンバーをプロジェクトに作成する必要があります。

前提条件

  • 以下の権限で Google Cloud Console にアクセスする。

    • resourcemanager.projects.get
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Google Cloud プロジェクト
  • Cost Management Identity and Access Management (IAM) の ロール

手順

  1. Google Cloud Console で、IAM & AdminRoles をクリックします。
  2. メニューバーのドロップダウンから Cost Management プロジェクトを選択します。
  3. Add をクリックします。
  4. 作成した IAM ロールを New principals フィールドに貼り付けます。

    billing-export@red-hat-cost-management.iam.gserviceaccount.com
  5. Assign roles セクションで、作成した IAM ロールを割り当てます。この例では、customer-data-role を使用します。
  6. SAVE をクリックします。

検証手順

  1. IAM & AdminIAM に移動します。
  2. 新しいメンバーが正しいロールで存在することを確認します。

関連情報

1.4. Google Cloud BigQuery のデータセット作成

Cost Management のための課金データを収集、保存するための BigQuery データセットを作成します。

前提条件

  • bigquery.datasets.create 権限で Google Cloud Console にアクセスする。
  • Google Cloud プロジェクト

手順

  1. Google Cloud Console で、Big DataBigQuery をクリックします。
  2. Explorer パネルで hybrid committed spend プロジェクトを選択します。
  3. CREATE DATASET をクリックします。
  4. Dataset ID 欄に、データセットの名前を入力します。この例では、CustomerData を使用します。
  5. CREATE DATASET をクリックします。

1.5. Google Cloud の課金データの BigQuery への書き出し

BigQuery への課金エクスポートを有効にすると、Google Cloud の課金データ (使用量、見積もりコスト、価格データなど) が Cost Management の BigQuery データセットに自動的に送信されます。

前提条件

手順

  1. Google Cloud ConsoleBillingBilling export をクリックします。
  2. Billing export タブをクリックします。
  3. Detailed usage cost セクションで EDIT SETTINGS をクリックします。
  4. ドロップダウンメニューから、作成した Cost Management ProjectBilling のエクスポートデータセット を選択します。
  5. SAVE をクリックします。

検証手順

  1. Detailed usage cost セクションに Enabled の緑色のチェックマークがあり、Project nameDataset name が正しいことを確認します。

1.5.1. BigQuery で課金テーブルの表示

収集して Cost Management に送信するメトリクスを確認する場合があります。また、Cost Management でデータが不正な場合や、欠けている場合のトラブルシューティングにも役立ちます。

注記

Google は、課金データを BigQuery のデータセットにエクスポートするのに数時間かかる場合があります。

前提条件

  • bigquery.dataViewer ロールで Google Cloud コンソールにアクセスする。

手順

  1. Google Cloud ConsoleBig DataBigQuery へ移動します。
  2. Explorer パネルで Cost Management プロジェクトを選択します。
  3. Cost Management データセット下の gcp_billing_export_v1_xxxxxx_xxxxxx テーブルをクリックします。
  4. Preview タブをクリックすると、メトリクスが表示されます。

1.6. Google Cloud アカウントをインテグレーションとして追加する

前の手順の情報を使用して、Google Cloud アカウントをインテグレーションとして追加できるようになりました。Google Cloud インテグレーションを追加すると、Cost Management アプリケーションは Google Cloud アカウントからのコストと使用状況のデータを処理し、表示できるようにします。

前提条件

手順

  1. Red Hat Hybrid Cloud Console から Settings Settings icon をクリックします。
  2. Integrations をクリックします。
  3. Cloud sourcesタブの Add source をクリックします。
  4. インテグレーションの名前を入力し、Next をクリックします
  5. ダイアログで、インテグレーションタイプとして Google Cloud を選択し、アプリケーションとして Cost Management を選択します。
  6. Next をクリックします。
  7. プロジェクト ID を入力し、Next をクリックします。
  8. Project IDをクリックして、IAM(Identity and Access Management) ロールが作成されたことを確認します。
  9. Next をクリックして、新しい 課金サービスアカウントのユーザー を作成し、正しいロールを割り当てたことを確認します。
  10. BigQuery Dataset ID を入力し、Next をクリックします。
  11. Next をクリックして、BigQuery の請求書エクスポート が有効になっていることを確認します。
  12. 詳細を確認し、Add をクリックします

検証手順

  • Integrations ページに、インテグレーションが Available ステータスでリストされていることを確認します。

    重要

    Google は、課金データの収集と Cost Management へのエクスポートに数時間かかる場合があります。その間、configuration in progress メッセージが表示され、Integrations ページではインテグレーションステータスが Unknown と表示されます。

表1.1 トラブルシューティング

問題原因改善ステップ

プロジェクト yourprojectID の IAM 権限が正しくありません。

課金サービスアカウントメンバーに、Cost Management のロールまたは権限が正しく割り当てられていません。

課金サービスアカウントに、正しい権限で Cost Management ロール があることを確認します。

プロジェクト: yourprojectID 内のデータセット:yourdatasetIDが見つかりません。

BigQuery のデータセット ID の入力に誤りがあるか、存在しません。

BigQuery のデータセット ID が、Cost Management 用に作成されたものと一致していることを確認します。

インテグレーションステータスが 24 時間以上 "Unknown" です。

Cost Management は、提供された BigQuery のデータセットでコストデータを見つけることができません。

課金エクスポート が設定されていること、BigQuery データセットに 課金テーブル が存在することを確認します。

第2章 フィルタリングされた Google Cloud データを Cost Management に統合する

エクスポートとオブジェクトストレージバケットをコピーし、データをフィルタリングして請求情報のサブセットのみを Red Hat と共有するには、Google Cloud で関数スクリプトを設定します。

注記

データインテグレーションを Cost Management に追加するための、 Sources Administrator 権限を持つ Red Hat アカウントがある。

Google Cloud アカウントを Cost Management インテグレーションとして設定するには、以下を行います。

  • Cost Management データ用の Google Cloud プロジェクトを作成します。
  • フィルターされたレポートのバケットを作成します。
  • データを Cost Management にエクスポートするための適切なロールを持つ課金サービスアカウントメンバーを用意します。
  • コストデータを格納する BigQuery データセットを作成します。
  • Cost Management データを BigQuery データセットに送信する請求エクスポートを作成します。

Google Cloud コンソールで以下の手順の一部と、Cost Management ユーザーインターフェイスの手順の一部を完了するため、両方のアプリケーションを Web ブラウザーで開いた状態にしてください。

注記

Red Hat の一部ではない、サードパーティー製品およびドキュメントは、予告なしに変更される可能性がありますが、このガイドに記載のサードパーティーインテグレーションの設定手順は、一般的なものであり、公開時点で正しいものです。最新かつ正確な情報については、Google Cloud Platform のドキュメント を参照してください。

Integrations ページから、Google Cloud インテグレーションをCost Management に追加します。

2.1. Google Cloud アカウントをインテグレーションとして追加する

Google Cloud アカウントをインテグレーションとして追加できます。Google Cloud インテグレーションを追加すると、Cost Management アプリケーションは Google Cloud アカウントからのコストと使用状況のデータを処理し、表示できるようにします。前提条件は以下のとおりです。

  • データインテグレーションを Cost Management に追加するための、 Sources Administrator 権限を持つ Red Hat アカウントがある。

手順

  1. Red Hat Hybrid Cloud Console から、Settings Menu > (Settings) をクリックします。
  2. Settings ページで、Integrations をクリックします。
  3. Cloud タブで、Add source をクリックします。
  4. Add a cloud source ウィザードで、Google Cloud をクラウドプロバイダータイプとして選択し、Next をクリックします。
  5. インテグレーションの名前を入力します。Next をクリックします。
  6. Select application の手順で、cost management を選択し、Next をクリックします。

2.2. Google Cloud プロジェクトの作成

Google Cloud プロジェクトを作成し、コストレポートを収集して Cost Management に送信します。

前提条件

  • resourcemanager.projects.create 権限で Google Cloud Console にアクセスする。

手順

  1. Google Cloud ConsoleIAM & AdminCreate a Project をクリックします。
  2. 表示される新しいページで Project Name を入力し、課金アカウントを選択します。
  3. Organization を選択します。
  4. Location ボックスに親組織を入力します。
  5. Create をクリックします。
  6. Cost Management の Add a cloud source ウィザードの Project ページで、Project ID を入力します。
  7. データを Red Hat に送信する前にデータをフィルタリングするように Google Cloud を設定するには、I wish to manually customize the data set sent to cost management を選択し、Next をクリックします。

検証手順

  1. Google Cloud Console Dashboard に移動します。
  2. プロジェクトがメニューバーにあることを確認します。

関連情報

2.3. Google Cloud バケットの作成

フィルタリング処理されたレポート用にバケットを作成します。このレポートは後ほど作成します。バケットは、データを保存するコンテナーです。

手順

  1. Google Cloud ConsoleBuckets をクリックします。
  2. Create bucket をクリックします。
  3. バケット情報を入力します。バケットに名前を付けます。この例では、customer-data を使用します。
  4. Create をクリックし、確認ダイアログで Confirm をクリックします。
  5. Cost Management の Add a cloud source ウィザードの Create cloud storage bucket ページで、Cloud storage bucket name を入力します。

関連情報

  • バケットの作成の詳細は、Google Cloud のドキュメント バケットの作成 を参照してください。

2.4. Google Cloud Identity and Access Management のロール作成

Cost Management 用のカスタム Identity and Access Management (IAM) ロールは、Google Cloud Platform インテグレーションを有効にするために必要な特定のコスト関連リソースへのアクセスを許可し、他のリソースへのアクセスを禁止します。

前提条件

  • 以下の権限で Google Cloud Console にアクセスする。

    • resourcemanager.projects.get
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Google Cloud プロジェクト

手順

  1. Google Cloud Console で、IAM & AdminRoles をクリックします。
  2. メニューバーのドロップダウンから Cost Management プロジェクトを選択します。
  3. + Create role をクリックします。
  4. ロールの TitleDescriptionID を入力します。この例では、customer-data-role を使用します。
  5. + ADD PERMISSIONS をクリックします。
  6. Enter property name or value フィールドを使用して、カスタムロールのこれら 4 つの権限を検索して選択します。

    • storage.objects.get
    • storage.objects.list
    • storage.buckets.get
  7. Add をクリックします。
  8. CREATE をクリックします。

関連情報

2.5. Google Cloud プロジェクトへの課金サービスアカウントメンバーの追加

Red Hat Hybrid Cloud Console にコストレポートをエクスポートできる課金サービスアカウントメンバーをプロジェクトに作成する必要があります。

前提条件

  • 以下の権限で Google Cloud Console にアクセスする。

    • resourcemanager.projects.get
    • resourcemanager.projects.getIamPolicy
    • resourcemanager.projects.setIamPolicy
  • Google Cloud プロジェクト
  • Cost Management Identity and Access Management (IAM) の ロール

手順

  1. Google Cloud Console で、IAM & AdminRoles をクリックします。
  2. メニューバーのドロップダウンから Cost Management プロジェクトを選択します。
  3. Add をクリックします。
  4. 作成した IAM ロールを New principals フィールドに貼り付けます。

    billing-export@red-hat-cost-management.iam.gserviceaccount.com
  5. Assign roles セクションで、作成した IAM ロールを割り当てます。この例では、customer-data-role を使用します。
  6. SAVE をクリックします。

検証手順

  1. IAM & AdminIAM に移動します。
  2. 新しいメンバーが正しいロールで存在することを確認します。

関連情報

2.6. Google Cloud BigQuery のデータセット作成

Cost Management のための課金データを収集、保存するための BigQuery データセットを作成します。

前提条件

  • bigquery.datasets.create 権限で Google Cloud Console にアクセスする。
  • Google Cloud プロジェクト

手順

  1. Google Cloud Console で、Big DataBigQuery をクリックします。
  2. Explorer パネルで hybrid committed spend プロジェクトを選択します。
  3. CREATE DATASET をクリックします。
  4. Dataset ID 欄に、データセットの名前を入力します。この例では、CustomerFilteredData を使用します。
  5. CREATE DATASET をクリックします。

2.7. Google Cloud の課金データの BigQuery への書き出し

BigQuery への課金エクスポートを有効にすると、Google Cloud の課金データ (使用量、見積もりコスト、価格データなど) が Cost Management の BigQuery データセットに自動的に送信されます。

前提条件

手順

  1. Google Cloud ConsoleBillingBilling export をクリックします。
  2. Billing export タブをクリックします。
  3. Detailed usage cost セクションで EDIT SETTINGS をクリックします。
  4. ドロップダウンメニューから、作成した Cost Management ProjectBilling のエクスポートデータセット を選択します。
  5. SAVE をクリックします。

検証手順

  1. Detailed usage cost セクションに Enabled の緑色のチェックマークがあり、Project nameDataset name が正しいことを確認します。

2.8. フィルターされたデータをストレージバケットに Post する関数の作成

データをフィルターする関数を作成し、Red Hat と共有するために作成したストレージアカウントにデータを追加します。サンプル Python スクリプトを使用して、Red Hat の経費に関連するコストエクスポートからコストデータを収集し、ストレージアカウントに追加できます。このスクリプトは、BigQuery で作成したコストデータをフィルタリングし、Red Hat 以外の情報を削除してから、.csv ファイルを作成し、作成したバケットに保存して、データを Red Hat に送信します。

手順

  1. Google Cloud Console で、Secret を検索し、Secret manager の結果を選択して、関数に認証情報を保存せずに Red Hat で関数を認証するためのシークレットを設定します。

    1. Secret Manager ページで Create Secret をクリックします。
    2. シークレットに名前を付け、Red Hat のユーザー名を追加して、Create Secret をクリックします。
    3. この手順を繰り返して、Red Hat パスワードのシークレットを保存します。
  2. Google Cloud Console 検索バーで、functions を検索し、Cloud Functions 結果を選択します。
  3. Cloud Functions ページで、Create function をクリックします。
  4. 関数に名前を付けます。この例では、customer-data-function を使用します。
  5. Trigger セクションで、Save をクリックして HTTP Trigger タイプを受け入れます。
  6. Runtime, build, connections and security settings で、セキュリティーとイメージリポジトリーをクリックし、作成したシークレットを参照し、Done をクリックして、Next をクリックします。
  7. Cloud Functions Code ページで、ランタイムを Python 3.9 に設定します。
  8. requirements.txt ファイルを開きます。以下の行をファイルの最後に貼り付けます。

    requests
    google-cloud-bigquery
    google-cloud-storage
  9. main.py ファイルを開きます。

    1. Entry Pointget_filtered_data に設定します。
    2. 以下の python スクリプトを貼り付けます。# Required vars to update とマークされたセクションの値を変更して、環境の値に更新します。

      import csv
      import datetime
      import uuid
      import os
      import requests
      from google.cloud import bigquery
      from google.cloud import storage
      from itertools import islice
      from dateutil.relativedelta import relativedelta
      
      query_range = 5
      now = datetime.datetime.now()
      delta = now - relativedelta(days=query_range)
      year = now.strftime("%Y")
      month = now.strftime("%m")
      day = now.strftime("%d")
      report_prefix=f"{year}/{month}/{day}/{uuid.uuid4()}"
      
      # Required vars to update
      USER = os.getenv('username')         # Cost management username
      PASS = os.getenv('password')         # Cost management password
      INTEGRATION_ID = "<integration_id>"  # Cost management integration_id
      BUCKET = "<bucket>"                  # Filtered data GCP Bucket
      PROJECT_ID = "<project_id>"          # Your project ID
      DATASET = "<dataset>"                # Your dataset name
      TABLE_ID = "<table_id>"              # Your table ID
      
      gcp_big_query_columns = [
          "billing_account_id",
          "service.id",
          "service.description",
          "sku.id",
          "sku.description",
          "usage_start_time",
          "usage_end_time",
          "project.id",
          "project.name",
          "project.labels",
          "project.ancestry_numbers",
          "labels",
          "system_labels",
          "location.location",
          "location.country",
          "location.region",
          "location.zone",
          "export_time",
          "cost",
          "currency",
          "currency_conversion_rate",
          "usage.amount",
          "usage.unit",
          "usage.amount_in_pricing_units",
          "usage.pricing_unit",
          "credits",
          "invoice.month",
          "cost_type",
          "resource.name",
          "resource.global_name",
      ]
      table_name = ".".join([PROJECT_ID, DATASET, TABLE_ID])
      
      BATCH_SIZE = 200000
      
      def batch(iterable, n):
          """Yields successive n-sized chunks from iterable"""
          it = iter(iterable)
          while chunk := tuple(islice(it, n)):
              yield chunk
      
      def build_query_select_statement():
          """Helper to build query select statement."""
          columns_list = gcp_big_query_columns.copy()
          columns_list = [
              f"TO_JSON_STRING({col})" if col in ("labels", "system_labels", "project.labels") else col
              for col in columns_list
          ]
          columns_list.append("DATE(_PARTITIONTIME) as partition_date")
          return ",".join(columns_list)
      
      def create_reports(query_date):
          query = f"SELECT {build_query_select_statement()} FROM {table_name} WHERE DATE(_PARTITIONTIME) = {query_date} AND sku.description LIKE '%RedHat%' OR sku.description LIKE '%Red Hat%' OR  service.description LIKE '%Red Hat%' ORDER BY usage_start_time"
          client = bigquery.Client()
          query_job = client.query(query).result()
          column_list = gcp_big_query_columns.copy()
          column_list.append("partition_date")
          daily_files = []
          storage_client = storage.Client()
          bucket = storage_client.bucket(BUCKET)
          for i, rows in enumerate(batch(query_job, BATCH_SIZE)):
              csv_file = f"{report_prefix}/{query_date}_part_{str(i)}.csv"
              daily_files.append(csv_file)
              blob = bucket.blob(csv_file)
              with blob.open(mode='w') as f:
                  writer = csv.writer(f)
                  writer.writerow(column_list)
                  writer.writerows(rows)
          return daily_files
      
      def post_data(files_list):
          # Post CSV's to console.redhat.com API
          url = "https://console.redhat.com/api/cost-management/v1/ingress/reports/"
          json_data = {"source": INTEGRATION_ID, "reports_list": files_list, "bill_year": year, "bill_month": month}
          resp = requests.post(url, json=json_data, auth=(USER, PASS))
          return resp
      
      def get_filtered_data(request):
          files_list = []
          query_dates = [delta + datetime.timedelta(days=x) for x in range(query_range)]
          for query_date in query_dates:
              files_list += create_reports(query_date.date())
          resp = post_data(files_list)
          return f'Files posted! {resp}'
  10. Deploy をクリックします。

2.9. フィルターされたデータをストレージバケットに Post する関数のトリガー

スケジューラージョブを作成して、フィルターされたデータをスケジュールに従って Red Hat に送信するために作成した関数を実行します。

手順

  1. 作成した関数の Trigger URL をコピーして、コストレポートを Post します。Google Cloud Scheduler に追加する必要があります。

    1. Google Cloud Console で、functions を検索し、Cloud Functions の結果を選択します。
    2. Cloud Functions ページで、関数を選択し、Trigger タブをクリックします。
    3. HTTP セクションで、Copy to clipboard をクリックします。
  2. スケジューラージョブを作成します。Google Cloud Console で、cloud scheduler を検索し、Cloud Scheduler の結果を選択します。
  3. Create job をクリックします。

    1. スケジューラージョブに名前を付けます。この例では、CustomerFilteredDataSchedule を使用します。
    2. Frequency フィールドに、関数を実行するタイミングの cron 式を設定します。この例では、09*** を使用して、関数を毎日 9 AM で実行します。
    3. タイムゾーンを設定し、Continue をクリックします。
  4. 次のページで実行を設定します。

    1. Target type フィールドで HTTP を選択します。
    2. URL フィールドに、コピーした Trigger URL を貼り付けます。
    3. body フィールドに、関数に渡す以下のコードを貼り付けてトリガーします。

      {"name": "Scheduler"}
    4. Auth header フィールドで、Add OIDC token を選択します。
    5. Service account フィールドをクリックし、Create をクリックしてスケジューラージョブのサービスアカウントおよびロールを作成します。
  5. Service account details ステップで、サービスアカウントに名前を付けます。この例では、scheduler-service-account を使用します。デフォルトの Service account ID を受け入れ、Create and Continue をクリックします。

    1. Grand this service account access to project で、アカウントに 2 つのロールを選択します。
    2. ADD ANOTHER ROLE をクリックしてから、Cloud Scheduler Job Runner および Cloud Functions Invoker を検索して選択します。
    3. Continue をクリックします。
    4. Done をクリックして、サービスアカウントの作成を終了します。
  6. プロジェクトのサービスアカウントページで、作業していたスケジューラージョブを選択します。この例では、名前は scheduler-service-account です。
  7. Configure the execution ページで Service account フィールドを選択し、作成した scheduler-service-account を選択します。
  8. Continue をクリックしてから Create をクリックします。

第3章 コストを管理するための次のステップ

OpenShift Container Platform と Google Cloud インテグレーションを追加すると、cost management Overview ページで、コストデータが OpenShift タブと Infrastructure タブに並べ替えられます。コストデータのさまざまなビューを切り替えるには、Perspective を選択します。

グローバルナビゲーションメニューを使用して、クラウドプロバイダーごとのコストに関する追加の詳細を表示することもできます。

3.1. Cost Management リソースへのアクセス制限

Cost Management でインテグレーションを追加して設定した後、コストデータとリソースへのアクセスを制限できます。

ユーザーがすべてのコストデータにアクセスできる状況は避ける必要がある場合もあります。代わりに、プロジェクトまたは組織に固有のデータへのアクセスのみをユーザーに許可できます。ロールベースのアクセス制御を使用すると、Cost Management レポートでのリソースの表示を制限できます。たとえば、ユーザーのビューを環境全体ではなく、AWS インテグレーションのみに制限できます。

アクセスを制限する方法の詳細は、Cost Management リソースへのアクセス制限 を参照してください。

3.2. インテグレーションのタグ付けの設定

Cost Management アプリケーションは、タグを使用してクラウドとインフラストラクチャーのコストを追跡します。タグは、OpenShift ではラベルとも呼ばれます。

Cost Management でタグを調整して、リソースをフィルタリングおよび属性化し、コスト別にリソースを整理し、クラウドインフラストラクチャーのさまざまな部分にコストを割り当てることができます。

重要

タグとラベルは、インテグレーション上で直接設定することのみ可能です。Cost Management でアクティブ化するタグを選択できますが、Cost Management アプリケーションでタグとラベルを編集することはできません。

以下のトピックに関する詳細は、タグ付けを使用したコストデータの管理 を参照してください。

  • コストデータの表示を整理するためのタグ付けストラテジーを計画する
  • Cost Management がタグを関連付ける方法を理解する
  • インテグレーションでのタグとラベルの設定

3.3. コストを正確にレポートするためのコストモデルを設定する

Cost Management でコストと使用量のデータを収集するようにインテグレーションを設定したので、価格をメトリクスと使用量に関連付けるコストモデルを設定できます。

コストモデルは、Cost Management において、原価とメトリクスを使用してコスト計算を定義するためのフレームワークです。コストモデルが生成するコストの記録と分類、および特定の顧客、ビジネスユニット、またはプロジェクトに対する配分を行えます。

コストモデル では、次のタスクを完了できます。

  • コストを、インフラストラクチャーコストまたは補足コストとして分類します。
  • OpenShift ノードおよびクラスターの月額コストを取得します。
  • 追加のサポートコストを考慮して利潤を適用します。

コストモデルの設定方法について、詳細は コストモデルの使用 を参照してください。

3.4. Cost Explorer を使用したコストの可視化

Cost Management の Cost Explorer を使用して、時間スケールのコストと使用状況情報のカスタムグラフを作成し、最終的にコストをより適切に可視化して解釈できるようにします。

次のトピックに関する詳細は、Cost Explorer を使用したコストの可視化 を参照してください。

  • Cost Explorer を使用して異常なイベントを特定する。
  • 時間の経過とともにコストデータがどのように変化するかを理解する。
  • コストおよび使用状況データのカスタムバーチャートを作成する。
  • カスタムコストデータテーブルをエクスポートする。

Red Hat ドキュメントへのフィードバック (英語のみ)

エラーを見つけた場合、またはこれらのガイドラインの改善方法に関する案がある場合は、Cost Management Jira ボード で JIRA Issue を作成し、ドキュメント ラベルを追加してください。

フィードバックをお待ちしております。

法律上の通知

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.