Azure Cost CLI

Azure Cost CLI

Cet outil offre des fonctionnalités vous permettant de surveiller et de contrôler vos dépenses Azure.

La gestion des coûts Azure et son suivi au fil du temps est primordiale à mettre en oeuvre. Je vais vous présenter aujourd'hui un nouvel outil qui peut vous aider dans cette démarche : Azure Cost CLI.

Cet outil, proposer par Michiel van Oudheusden, va vous permettre d'extraire facilement vos coûts Azure actuel avec un regroupement qui va vous simplifier la vie pour créer par exemple un dashbord ou identifier les resources les plus coûteuses de votre infrastructure Azure. L'outil se présente sous la forme d'une CLI qui pourra, par exempele, être intégrée à vos pipelines DevOps.

Installation

Pour installer l'outil, rien de plus simple qu'une ligne de commande:

dotnet tool install -g "azure-cost-cli"

Voici l'output que vous devriez avoir lors de l'installation du package dotnet:

Commandes principales

Une fois l'installation réalisée, vous pouvez visualiser l'ensemble des commandes disponibles via cette commande :

azure-cost -h

Après l'exécution de la commande précédente, vous devriez avoir ce retour:

Comme vous pouvez le voir pour l'instant, il existe 4 commandes principales !

  • accumulatedCost : Afficher les détails des coûts cumulés

  • dailyCosts : Afficher le coût quotidien selon une dimension donnée

  • costByResource : Afficher le détail des coûts par ressource

  • budgets : Obtenir les budgets disponibles

Pour utiliser l'une de ces commandes rien de plus simple:

az login --tenant 702a545b-230e-4e4e-b6a8-2d48ac875eec
azure-cost accumulatedCost --subscription d91cf18a-2e58-4a4f-91b1-d2e822c83b1d

La première ligne vous permettra de se connecter à votre tenant et la seconde pour obtenir les coûts cumulés associés à votre souscription.

Pensez à modifier les GUIDs en fonction de votre environnement.

Voici un exemple d'output directement dans la console:

Vous pouvez modifier le format de sortie en utilisant l'option "--output" et choisir l'un de ces formats: Console, Json, JsonC, Text, Markdown ou Csv

GitHub Actions

Vous pouvez bien sûr utiliser cet outil dans votre chaine CI/CD, voici un exemple pour le faire avec GitHub Actions:

name: Azure Cost CLI Workflow

on:
  workflow_dispatch:
    inputs:
      az-subscription-id:
        description: 'Azure Subscription ID'
        required: true
jobs:
  run-azure-cost-cli:
    runs-on: ubuntu-latest
    steps:
      - name: Azure Login
        uses: azure/login@v1
        with:
          creds: ${{ secrets.AZURE_CREDENTIALS }}

      - name: Install Azure Cost CLI
        run: dotnet tool install -g azure-cost-cli

      - name: Run Azure Cost CLI
        run: azure-cost accumulatedCost -o markdown --subscription ${{ github.event.inputs.az-subscription-id }} >> $GITHUB_STEP_SUMMARY

Mise à jour

Comme pour l'installation du package, une ligne suffira pour récupérer la dernière version de l'outil:

dotnet tool update -g "azure-cost-cli"

Avec un paramètre --version, vous pouvez spécifier une version spécifique à installer. Utilisez le paramètre --no-cache pour forcer un nouveau téléchargement du package s'il ne trouve pas la dernière version.

Liens

Did you find this article valuable?

Support Antoine LOIZEAU by becoming a sponsor. Any amount is appreciated!