Aller au contenu principal

CloudQuery

Overview

CloudQuery, c'est le framework open-source qui pense que tes ressources cloud devraient être interrogeables en SQL. Il transforme tes ressources cloud en bases de données SQL, permettant d'interroger, analyser et auditer tes ressources cloud avec SQL standard. Il supporte AWS, Azure, GCP, et de nombreux autres providers. Si tu veux analyser tes coûts et ta gouvernance avec SQL, c'est parfait.

CloudQuery collecte les métadonnées et les configurations de tes ressources cloud et les stocke dans une base de données (PostgreSQL, SQLite, etc.). Tu utilises ensuite SQL pour analyser les coûts, détecter les non-conformités, identifier les ressources inutilisées, et générer des rapports.

CloudQuery se distingue par son approche SQL (tu utilises SQL, pas un langage propriétaire), son support multi-providers (50+ providers, tout y passe), et sa flexibilité pour l'analyse de coûts et la gouvernance (tu fais ce que tu veux avec SQL).


Informations essentielles

PropriétéValeur
Site officielhttps://www.cloudquery.io/
Repositoryhttps://github.com/cloudquery/cloudquery
LicenceMPL 2.0
LangageGo
Providers supportésAWS, Azure, GCP, DigitalOcean, GitHub, Okta, et 50+ autres
Bases de donnéesPostgreSQL, SQLite, MySQL, BigQuery

Fonctionnalités principales

Collecte multi-providers

  • Support de 50+ providers cloud et SaaS
  • Synchronisation automatique des ressources
  • Collecte des métadonnées et configurations
  • Support des relations entre ressources

Analyse SQL

  • Requêtes SQL standard sur vos ressources cloud
  • Jointures entre différents providers
  • Agrégations et analyses complexes
  • Export des résultats en CSV, JSON, etc.

Politiques et compliance

  • Détection de non-conformités avec SQL
  • Politiques personnalisables
  • Intégration avec OPA (Open Policy Agent)
  • Rapports de compliance automatiques

Analyse de coûts

  • Requêtes SQL pour analyser les coûts
  • Identification des ressources coûteuses
  • Détection de ressources inutilisées
  • Rapports de coûts personnalisés

Cas d'usage

  • Analyse de coûts : Identifier les ressources les plus coûteuses avec SQL
  • Gouvernance : Détecter les non-conformités et les violations de politiques
  • Audit : Auditer les configurations et les accès
  • Optimisation : Identifier les ressources inutilisées ou surdimensionnées
  • Reporting : Générer des rapports personnalisés avec SQL

Installation

Via Homebrew

brew install cloudquery/tap/cloudquery

Via script

curl -L https://github.com/cloudquery/cloudquery/releases/latest/download/cloudquery_linux_amd64 -o cloudquery.
chmod +x cloudquery

Via Docker

docker pull ghcr.io/cloudquery/cloudquery:latest

Utilisation basique

Configuration initiale

# Initialiser CloudQuery
cloudquery init aws

# Synchroniser les ressources AWS
cloudquery sync aws

Requêtes SQL

-- Trouver les instances EC2 les plus coûteuses
SELECT
instance_type,
COUNT(*) as count,
SUM(estimated_monthly_cost) as total_cost
FROM aws_ec2_instances.
GROUP BY instance_type.
ORDER BY total_cost DESC;

-- Identifier les ressources inutilisées
SELECT *
FROM aws_ec2_instances.
WHERE state = 'stopped'
AND launch_time < NOW() - INTERVAL '30 days';

Avantages

  • Open-source : code source disponible et communauté active, tu ne seras pas seul
  • Multi-providers : support de 50+ providers, tout y passe
  • SQL standard : tu utilises SQL, pas un langage propriétaire, c'est simple
  • Flexible : analyse personnalisable avec SQL, tu fais ce que tu veux
  • Extensible : plugins pour ajouter de nouveaux providers, tu adaptes selon tes besoins

Limitations

  • Nécessite une base de données pour stocker les données : il faut PostgreSQL ou SQLite, évidemment
  • La collecte initiale peut prendre du temps pour de gros environnements : mais une fois que c'est fait, c'est rapide
  • Certaines analyses avancées nécessitent des connaissances SQL : mais si tu connais SQL, c'est simple

Alternatives

  • Steampipe : Outil similaire avec support SQL
  • Terraform Cloud : Analyse de coûts intégrée (limité à Terraform)
  • AWS Config : Service natif AWS (limité à AWS)

Ressources