◆概要
- NewRelicのAzureインテグレーションを使って、連携してみる。
- その後、Dashboardsを作成し、でAzureの利用料を可視化する。
◆前提
- NewRelicのアカウント、Azureアカウントがあること
※今回は弊社の検証アカウントを使用する
◆NewRelicとAzureを連携する。
- 連携方法はNewRelicのアカウントより[Add Data]→[Microsoft Azure]を選択すると、導入ウィザードのページに遷移し、その通りに準備を行うと連携が可能です。
※以下公式Knowledge参照でも可
https://docs.newrelic.com/jp/docs/infrastructure/microsoft-azure-integrations/get-started/activate-azure-integrations/
Step1:サブスクリプションIDとテナントIDの取得
- 対象AzureアカウントのサブスクリプションIDとテナントIDを控えておく
→NewRelicのナレッジだとAzure CLIで確認しなさいと記載してますが、別に何でも良いです。
Step2:アプリケーションの登録
- AzurePortalより[Microsoft Entra ID(旧Azure AD)]→[アプリの登録]→[新規登録]を選択
→以下の画像赤枠部を入力し、「登録」ボタンを押下
※[名前]は任意の値で構わない。
- 登録されたアプリケーションのアプリケーションIDを控えておく
- 登録されたアプリケーションのメニューより[証明書とシークレット]を選択
→[新しいクライアントシークレット]を選択し、クライアントシークレットを作成
※説明や有効期限は任意で構わない
- 作成されたクライアントシークレットの[値]を控えておく ※値は作成時にしかコピーできないので、注意
Step3:作成したアプリケーションに参照権限を付与
- 対象サブスクリプションより、[アクセス制御(IAM)]→[ロールの割り当ての追加]を選択
- ロールは[閲覧者]を選択
※NewRelicの記述だと[Reader]になってますが、日本語表記だと翻訳されて上記なので、注意
- メンバーで先に作成したアプリケーションを選択する。
- 最後に[レビューと割り当て]ボタンを押下し、権限を付与
Step4:いざ、アカウント連携
Step5:サービスの選択
- 収集するAzureサービスを選択し、[Next]ボタンを選択
→成功すると、以下のようなポップアップが表示される。
※今回はAzureMonitorとCostManagementのみを選択
- 成功すると、選択したサービスがAzureの一覧に表示される。
補足:
各種サービスの[Configure]を選択すると、ポーリングの間隔や収集するリソースの指定が可能です。
◆ダッシュボードを作成し、コストを可視化してみる。
- NewRelicとAzureの連携は可能になったので、ダッシュボードを作成してみる。
→今回はNewRelicがテンプレートとして用意してあるダッシュボードを使ってみる。
- NewRelicアカウントより[Dashboards]→[Create a new dashboard]を選択
- [Browse pre-built dashboards]を選択
→[Add Data]画面へ遷移する。 - [Azure]から[Azure Cost Management]を選択
- ダッシュボード作成ウィザードにて[Done]を選択
- ダッシュボードが作成される。
→[View Dashboards]を選択すると、実際に作成されたダッシュボードが表示されます。
補足:可視化してみての分析・改善
- ダッシュボードを作って終わりではなく、これを活用しないと意味が無いので、作成したダッシュボードで収集した情報を分析してみる。
- [Cost Per Service]を見ると、どのサービスがコストがかかっているか分かる。以下では2位にBackupがある。
→古いバックアップファイルなどが残ってないか?ハウスキープしている?
- [Cost Per Resource Group]を見ると、どのリソースグループにコストがかかっているか分かる。
→各リソースグループの管理者に利用料が高い旨を連携し、是正をお願いしてみようなど動きに役立てる。
※余談ですが、私の検証用リソースグループが5番目に高い状況。。
心当たりが無かったので、確認したところ、過去の検証時に取得していたバックアップファイルがRecovery Servicesに残っていたためでした。。