0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

New Relic 使ってみた情報をシェアしよう! by New RelicAdvent Calendar 2024

Day 23

New Relicを使ってFOCUS形式のクラウドコストデータを可視化してみよう

Posted at

はじめに

みなさん、こんにちは。クラウドコストの最適化をしていますか?クラウドのコストと使用量を最適化していく上での大切な第一歩は、自分が使っているクラウドコストをしっかりと把握、理解をすることです。

クラウドコストの把握や理解には、クラウドのネイティブサービスや純粋なFinOpsツールを活用するケースが多く、今も大多数はこれらを活用しているかと思います。しかし昨今、オブザーバビリティツールの普及に伴い、オブザーバビリティツールを活用してクラウドコストを可視化するといったケースも増えてきています。

ということで、今回はNew Relicを使ってFOCUS形式のクラウドコストを可視化をしてみようと思ったので、こちらの方法について紹介していきたいと思います。(最初にお伝えしておきますが最後に盛大なオチがあります。ごめんなさい、、、)

そもそも "FOCUS" とは?

FinOps Open Cost and Usage Specification(FOCUS)は、FinOps Foundation主導でクラウドプロバイダー各社も協力して作り上げたクラウドのコストと使用量の課金データに関するオープンソースの技術仕様で、クラウドプロバイダー各社でバラバラだったクラウド請求書のデータフォーマットを統一規格で扱えるようにするものです。

AWS、Azure、Google Cloud、OCIなどの主要なパブリッククラウドはすでに対応しており、今後は主要なSaaSプロバイダーなどにも広がっていくことが見込まれています。まだ過渡期ということもあり、ほとんどの方は現時点で気にする必要はありませんが、ぜひ今後の動向には注目してみてください。

image.png
出典: What is FOCUS? by [FinOps Foundation] (CC BY 4.0)

構築予定のイメージ図

次の図のように各クラウドプロバイダーのコスト管理サービスからFOCUS形式でデータをエクスポートし、エクスポートしたデータをNew Relicへログデータとして流し込む、といった形で実現できると見込んでいます。(ん、見込み?)

image.png

AWSからのデータインジェスト設定

ステップ1. コスト情報をFOCUS形式でS3へエクスポート

FOCUSサイト手順を参考にAWS Billing and Cost Managementコンソールからデータエクスポートの作成を行います。

image.png

ステップ2. S3からのログ送信するためのLambda関数を作成

次にNew Relic公式ドキュメントを参考にS3からのログ送信のためのAWS Lambdaを作成します。今回はNew Relicから公開されているNewRelic-log-ingestion-s3を使用します。

といっても、複雑なことはなく単純に「AWS Serverless Application Repository」からポチポチとするだけでデプロイが簡単にできます。

image.png

デプロイされたLambda関数にはトリガーが設定されていないため、ドキュメントの手順に沿ってS3イベントをトリガーに設定します。

image.png

以上でAWSの設定はおわりです。あとはAWS Billing and Cost Managementからデータがエクスポートされたら自動的にNew Relic側へと反映されることを祈るばかりです。

Azureからのデータインジェスト設定

ステップ1. コスト情報をFOCUS形式でS3へエクスポート

FOCUSサイト手順を参考にMicrosoft Cost Managementコンソールからエクスポートの作成を行います。

image.png

ステップ2. Blobストレージからのログ送信するための関数を作成

次にNew Relic公式ドキュメントを参考にAzure Blobストレージからログを送信する関数を作成します。今回はNew Relicから公開されている次のARMテンプレートを使用します。

New RelicコンソールのIntegrations & AgentsからMicrosoft Azure Blob Storageタイルを選択し、手順にしたがってポチポチするだけでデプロイが簡単にできます。

image.png

以上でAzureの設定もおわりです。あとはMicrosoft Cost Managementからデータがエクスポートされたら自動的にNew Relic側へと反映されることを祈るばかりです。

Google Cloudからのデータインジェスト設定

ステップ1. コスト情報をBigQueryにエクスポート

FOCUSサイト手順を参考にGoogle Cloud BillingコンソールからBigQueryへの課金データのエクスポートの設定を行います。

image.png

ステップ2. コスト情報をFOCUS形式でPub/Subにエクスポート

公式ドキュメントを参考にBigQueryの継続的クエリを使ってPub/Subトピックにデータをエクスポートします。

こちらのダウンロードサイトから入手できる「Google Cloud's Guide to FOCUS™ v1.0」にて、FOCUS形式でデータを取得するためのSQLクエリが紹介されているため、こちらを参考にいただければイケるのでは、と考えています。

、、、ちなみに、最初に謝っておきます。すいません。こちらのガイドなのですが残念ながらPDFファイルで提供されており、困ったことにページも複数にまたがっています。単純なコピー&ペーストでSQLクエリの構文を取ってこれない、インデントもめちゃくちゃになる、ということもあり面倒だな~とフィージビリティの確認を怠っております。ごめんなさい^^;

ステップ3. Pub/Subからログ送信するための設定

最後に、次にNew Relic公式ドキュメントを参考にPub/Subトピックからログを送信する設定を行います。今回はDataflowジョブを使うほどでもないため、ヘッダーレスAPIを使用しましょう。

なお、今回はCloud Loggingからのエクスポートではないため最後のルーティングシンクの設定はスキップしてください。

image.png

以上でGoogle Cloudの設定もおわりです。ステップ2をスキップしてしまったため、フィージビリティは確認できていませんが、こちらでCloud Billingからデータがエクスポートされたら自動的にNew Relic側へと反映される見込みです^^;

New Relic側にインジェストされたデータを可視化

なんですが、もうデータインジェストしただけおなかいっぱいだな、、、ってことで、またどこか時間が取れるときにでも更新しようと思います^^; イメージとしては以下のような感じで見えるようになるかと思います。


画像引用: https://focus.finops.org/get-started/aws/

最後に

この記事を書いておいてなんですが、正直クラウドコストの可視化をすることだけにフォーカスすると、別にクラウドのネイティブサービスでも問題なくできますし、FOCUS形式のデータフォーマットなんて使う必要もありません。

ただ、業務を進めるにあたってクラウドコスト以外にも、ビジネス指標やらエラーバジェットだとかのデータも確認しにいくかと思います。そのときに、ツールを切り替えてあっちやこっちに行くのは正直なところ面倒で、なるべくなら見に行くダッシュボードはひとつのツールにまとめたいな、と思うのは人の性かと思います。

ということで、すでにオブザーバビリティツールを活用しており、クラウドコストの可視化にも興味があれば挑戦してみてはいかがでしょうか。

以上、今回は「New Relicを使ってFOCUS形式のクラウドコストデータを可視化してみよう(と思っただけ)」でした。、、、えっ!?タイトルが違う?まぁいいじゃないかw


  • New Relic は、New Relic, Inc.の登録商標です。
  • その他、本資料に記述してある会社名、製品名は、各社の登録商品または商標です。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?