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
Le repo GitHub d'azure-cost-cli : https://github.com/mivano/azure-cost-cli
La vidéo de Stanislas Quastana qui vous présente l'outil: https://www.youtube.com/watch?v=K5l46j87Yhc