Table des matières[Cacher][Montrer]
Infracost est important pour DevOps, SRE et les développeurs qui cherchent à estimer les coûts du cloud pour des projets d'infrastructure en tant que code tels que Terraform. Avec Infracost, vous pouvez rapidement voir une ventilation des coûts tout en comparant différentes options, ce qui permet d'obtenir de meilleures informations avant une décision importante.
Comment fonctionne Infracost ?
Infracost peut vérifier plus de 3 millions de prix en scannant votre code Terraform, et il produit une estimation des coûts simple et facile à lire avant de lancer les ressources.
Vous pouvez également utiliser Infracost pour savoir quelles lignes de code ont le plus grand impact sur les coûts, car il mappe les coûts sur les ressources dans vos demandes d'extraction. En intégrant Infracost dans votre CI/CD, vous pouvez collaborer avec votre équipe et permettre des discussions sur l'impact des changements dans votre flux de travail existant.
Infracost fonctionne via son service backend API Cloud Pricing, et avec l'outil CLI, vous pouvez analyser un plan Terraform au format JSON. L'API renvoie le coût individuel de chaque ressource cloud utilisée, ainsi que leurs paramètres de coût associés en fonction du fournisseur de cloud.
Le programme ne nécessite aucune information d'identification pour fonctionner et il n'apporte aucune modification à Terraform ou aux ressources cloud analysées. En utilisant le nombre de types de ressources Terraform, l'API garantit que les nouvelles ressources sont prises en compte.
Infracost affiche la ventilation des coûts de deux manières principales :
A) Ventilation complète des coûts
B) Différence des coûts mensuels entre l'état actuel et l'état prévu
Premiers pas avec Infracost (étape par étape)
Suivez ce guide étape par étape pour installer et commencer à utiliser Infracost :
1. Installer Infracost
La première étape pour commencer est d'installer Infracost, mais vous devez d'abord avoir déjà Terraform installé.
Voici un aperçu des différentes versions d'Infracost :
Homebrew macOS :
brasser installer infracost
infracost –version # Devrait afficher v0.9.7
Manuel macOS :
# Télécharge la CLI en fonction de votre système d'exploitation/arch et la place dans /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | merde
linux:
# Télécharge la CLI en fonction de votre système d'exploitation/arch et la place dans /usr/local/bin
curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | merde
Docker:
docker pull infracost/infracost
menu fixe exécuter –rm \
-e INFRACOST_API_KEY=see_following_step_on_how_to_get_this \
-e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID \
-e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY \
-v $PWD/:/code/ infracost/infracost ventilation –chemin /code/
# Ajouter d'autres drapeaux/environnements requis pour Infracost ou Terraform
# Par exemple, ceux-ci peuvent être requis si vous utilisez AWS assume-role :
# -e AWS_SESSION_TOKEN=$AWS_SESSION_TOKEN \
# -e AWS_REGION=$AWS_REGION \
Windows:
Téléchargez et décompressez le dernière version. Exécutez-le à partir de l'invite de commande ou de Powershell en utilisant .\infracost.exe --no-color
aux côtés d'autres commandes/drapeaux requis (la sortie couleur a un bogue que nous devons corriger sous Windows). Vous devez également déplacer le fichier exe dans un dossier qui se trouve dans votre PATH
variable d'environnement, par exemple C:\Windows
.
2. Obtenez une clé API
L'étape suivante consiste à s'inscrire pour obtenir une clé d'API gratuite, que la CLI utilise pour interroger l'API Cloud Pricing pour des tâches telles que l'obtention de prix pour les types d'instance.
Tous les systèmes d'exploitation :
registre des dépenses
La clé est enregistrée dans ~/.config/infracost/credentials.yml
.
3. Exécutez Infracost
Vous êtes maintenant prêt à exécuter Infracost, qui n'apporte aucune modification à votre état Terraform ou à vos ressources cloud. Vous pouvez l'exécuter avec le projet Terraform fourni pour le tester.
Tous les systèmes d'exploitation :
clone git https://github.com/infracost/example-terraform.git
cd exemple-terraform/sample1
# Jouez avec main.tf et relancez pour comparer les coûts
ventilation des coûts -chemin .
# Afficher le diff des coûts mensuels, modifier le fichier yml et relancer pour comparer les coûts
infracost diff – chemin . –sync-usage-file –usage-file infracost-usage.yml
4. Ajouter au CI/CD
Vous pouvez maintenant utiliser Infracost Intégrations CI/CD pour ajouter automatiquement des commentaires de demande d'extraction, qui vous montrent les différences d'estimation des coûts. Cela vous fournira également un filet de sécurité, permettant aux équipes de discuter de l'impact des changements sur les coûts dans le cadre de leur flux de travail.
Utilisation
La infracost
CLI a les commandes principales suivantes :
breakdown
: afficher la ventilation complète des coûtsdiff
: affiche la différence des coûts mensuels entre l'état actuel et l'état prévu
Utilisez un fichier de configuration Infracost si votre référentiel comporte plusieurs projets ou espaces de travail Terraform. Leurs résultats seront combinés dans la même ventilation ou sortie diff.
Utilisation avancée
Infracost propose également diverses méthodes d'utilisation avancées qui peuvent être utilisées en plus des méthodes d'utilisation habituelles. Ces méthodes avancées peuvent également être utilisées via un fichier de configuration Infracost.
Fichier de plan Terraform
Infracost peut être exécuté sur un fichier de plan Terraform, ce qui implique que vous avez déjà exécuté Terraform init.
Infracost exécute simplement Terraformshow
dans ce cas, cela signifie qu'il ne nécessite pas d'informations d'identification cloud ou --terraform-plan-flags
à régler.
cd chemin/vers/code
initialisation de terraform
plan terraform -out tfplan.binary
ventilation infracost -chemin tfplan.binary
diff infracost – chemin tfplan.binary
État de Terraform
Si vous souhaitez voir la répartition des coûts de l'état actuel de Terraform, vous devez connaître le infracost breakdown
la commande a un --terraform-use-state
flag, ce qui serait utile dans ce cas. Vous devez déjà exécuter Terraform apply
, donc Infracost exécute simplement Terraform show
, qui ne nécessite pas d'identifiants cloud ou --terraform-plan-flags
à régler.
ventilation des coûts –exemples de chemin/terraform –état d'utilisation de terraform
Fichier JSON d'état Terraform
Vous pouvez exécuter le infracost breakdown
par rapport à un fichier JSON d'état Terraform. Ce serait le [format de sortie JSON] de l'état au lieu de la représentation JSON interne. Il doit être généré en exécutant terraform show -json
dans un projet Terraform, et il est particulièrement utile si vous souhaitez voir la répartition des coûts de l'état actuel de Terraform. Dans ce cas, cela implique que vous exécutez déjà Terraform apply
, ce qui signifie qu'il n'y a pas d'informations d'identification cloud ou --terraform-plan-flags
sont obligatoires.
Quels clouds et ressources sont pris en charge ?
Infracost prend en charge plus de 200 ressources Terraform sur AWS, Google et Azure, tandis que d'autres outils IaC comme Pulumi ainsi que Formation de nuages sont inclus dans la feuille de route. La prise en charge de nouvelles ressources est constamment ajoutée, il est donc important de vérifier le référentiel pour les versions.
Conclusion
Infracost est un outil utile outil pour les développeurs, DevOps, SRE et d'autres qui cherchent à voir rapidement la répartition des coûts et à comparer différentes options à l'avance. C'est également un bon choix si vous cherchez à l'intégrer à CI et/ou avez besoin d'assistance pour AWS et Google Cloud. Si vous souhaitez créer une meilleure collaboration entre votre équipe, Infracost peut également vous aider à cet égard. Toutes ces fonctionnalités en font un outil que vous devriez fortement envisager de mettre en œuvre pour les estimations de coût du cloud pour Terraform.
Soyez sympa! Laissez un commentaire