Connectez AWS (CloudFormation)

Deploy the generated CloudFormation template, choose organization or single account and optional features, then verify.

Connectez AWS (CloudFormation)

Donnez à CostGlass un accès en lecture seule à votre facture AWS en en déployant un. Modèle CloudFormation généré par CostGlass pour vous

Where in CostGlassSettings → Cloud Accounts → Connect a New Cloud Account or Platform
PlanAll plans
Who can do thisOwner or Admin in CostGlass; someone who can create IAM roles and CloudFormation stacks in AWS
Time neededAbout 10 minutes, plus up to 24 hours for the first data
En bref
  • Vous déployez un modèle dans la région AWS us-east-1. Il crée une exportation de coût et d'utilisation, un compartiment S3 pour celle-ci et un rôle nommé CostGlassCURReader que seul CostGlass peut assumer.
  • Choisissez AWS Organization (déployer une fois dans le compte de gestion, les comptes membres suivent) ou Compte unique.
  • Le planificateur d'instance, le dimensionnement et la disponibilité sont facultatifs. Une fonctionnalité que vous ne cochez pas est complètement exclue du modèle.
  • Seul Instance Scheduler peut modifier quoi que ce soit dans votre compte (démarrer et arrêter). Tout le reste est en lecture seule.
  • AWS a besoin de 24 heures maximum pour réaliser la première exportation. CostGlass le récupère automatiquement.
Avant de commencer
  • Une connexion à AWS. Pour une organisation AWS, le compte de gestion (payeur). Pour un seul compte, le compte qui paie la facture.
  • Autorisation dans AWS de créer des piles CloudFormation contenant des ressources IAM (appelées ressources IAM).
  • Pour une organisation : accès approuvé à CloudFormation StackSets activé (une étape unique, expliquée ci-dessous).
  • Capacité disponible dans votre plan. Voir les limites de connexion dans l'aperçu.

Comment fonctionne la connexion

CostGlass ne demande jamais de clé d'accès AWS. Au lieu de cela, le modèle crée un IAM rôle dans votre compte. Un rôle est un ensemble d’autorisations qu’un tiers de confiance peut emprunter pour une courte période. Le rôle fait confiance uniquement au compte CostGlass AWS, et uniquement lorsqu'il présente votre ID externe.

ID externe
Un long secret aléatoire généré pour cette seule connexion. Le rôle est refusé à quiconque ne le présente pas. Cela empêche un autre client AWS d'inciter CostGlass à lire votre compte.
Exportation du coût et de l'utilisation (CUR)
AWS Billing écrit un fichier détaillé de chaque frais, toutes les heures, dans un compartiment S3 de votre compte. CostGlass lit ces fichiers. C'est ainsi que vos données de coûts arrivent.
StackSet
Une fonctionnalité CloudFormation qui déploie la même pile sur de nombreux comptes. Le modèle d'organisation en utilise un pour créer le rôle de compte membre.

Ce que le modèle crée :

RessourceNomBut
Seau S3costglass-cur-exports-<votre identifiant de compte>Reçoit l'exportation. Crypté, tout accès public bloqué. Une stratégie de compartiment permet à AWS Billing d'y écrire.
Exportation du coût et de l'utilisationCoûtGlassCUREExportToutes les heures, avec les ID de ressources, CSV compressé avec gzip, dans le dossier cur.
Rôle IAMCoûtGlassCURReaderLe rôle qu'assume CostGlass. Fait confiance au compte CostGlass et à votre identifiant externe.
Organisation uniquement : StackSetCostGlass-Organisation-Membre-RôlesCrée un rôle nommé CostGlassReadOnly dans chaque compte membre, y compris les comptes qui rejoignent ultérieurement.

Connectez AWS, étape par étape

Comptes cloud → AWS. Le même assistant apparaît également sur l'écran de première exécution.
1
Ouvrir l'assistant
Go to Settings → Cloud Accounts. In the section Connect a New Cloud Account or Platform click the AWS card under Connect a cloud. (Sur l'écran de première exécution, l'assistant est déjà sur AWS.)
2
Choisissez le type de compte
Under Account type choose AWS Organization (deploy once in the management account; the role is rolled out to every member account) or Single account (an account that is not part of an Organization).
3
Choisissez les fonctionnalités
Under Features, Cost & Usage Report (CUR) is always on. Tick any of Instance Scheduler, Rightsizing recommendations and Resource uptime monitoring. Each shows a Read-only or Write access tag and lists its permissions. Consultez le tableau de la section suivante.
4
Générer le modèle
Click Generate my template. CostGlass crée la connexion et votre identifiant externe. Si vous partez et revenez avant de terminer, la même connexion en attente et le même ID externe sont réutilisés.
5
Téléchargez le modèle
On Deploy the CloudFormation template click Download or Copy template. La page répertorie également exactement les autorisations accordées par le modèle. Votre identifiant externe est pré-rempli dans le fichier.
6
Basculez AWS vers us-east-1
Dans la console AWS, définissez la région sur us-east-1 (Virginie du Nord). Cela s'applique même si tous vos serveurs fonctionnent ailleurs : la ressource d'exportation Coût et utilisation n'existe que là-bas.
7
Organisation uniquement : activer l'accès approuvé
Une fois, depuis le compte de gestion : CloudFormation → StackSets → Activer un accès fiable avec AWS Organizations.
8
Créer la pile
Dans AWS, ouvrez CloudFormation → Créer une pile → Avec de nouvelles ressources → Télécharger un fichier modèle, choose the file, leave the parameters as generated, tick the acknowledgement that IAM resources will be created (CAPABILITY_NAMED_IAM), and create the stack. Attendez CREATE_COMPLETE, usually three to five minutes.
9
Copiez les sorties
Open the stack's Sorties tab and copy RôleArn et Nom du compartiment.
10
Vérifiez et connectez-vous
Back in CostGlass click I have deployed it. Fill in the fields below and click Verify & connect.

Le formulaire de vérification

ChampQue saisirPar défaut
Nom de cette intégration (facultatif)A label you will recognise, for example "Acme production organisation".AWS CUR Export (<account ID>)
ARN de rôle (Sorties : RoleArn)La sortie RoleArn. On dirait arn:aws:iam::123456789012:role/CostGlassCURReader.Aucun
Compartiment S3 (Sorties : BucketName)La sortie BucketName.Aucun
PréfixeLe dossier à l’intérieur du bucket.cur/
RégionLa région du seau.nous-est-1

CostGlass assume le rôle avec votre identifiant externe et répertorie le compartiment avant économie. Une faute de frappe est rejetée ici, pas un jour plus tard.

Ce que tu vois après

L'assistant se déplace vers AWS connecté et affiche l'un de ces messages :

MessageSignification
N enregistrements synchronisés à partir du ou des fichiers M.Les données sont déjà arrivées.
La première importation s'exécute en arrière-plan. Vos données apparaîtront dans quelques minutes.Une exportation importante est lue par étapes. Rien à faire pour vous.
Connecté. AWS n'a pas encore livré la première exportation...Normal sur une nouvelle configuration. Jusqu'à 24 heures. CostGlass vérifie à nouveau toutes les 6 heures.
Le compartiment n'a pas encore pu être lu : ...Lisez la raison, puis consultez la FAQ ci-dessous.

La livraison du chèque exécute désormais le chèque immédiatement. En intégrer un autre démarre une nouvelle connexion.

Ce que chaque fonctionnalité ajoute

Les autorisations sont répertoriées exactement telles que le modèle les accorde.

FonctionnalitéAccèsAutorisations ajoutées
Rapport sur les coûts et l'utilisation (toujours)Lecture seules3:GetObject et s3:ListBucket sur le compartiment d'exportation uniquement ; budgets : Afficher le budget ; organisations :Liste des comptes ; en lecture seule Décrire et répertorier les appels pour EC2, les adresses IP Elastic, les instantanés, les volumes, les équilibreurs de charge, RDS, ECS, ElastiCache, Redshift, DynamoDB et EMR ; cloudwatch : GetMetricStatistics ; iam:SimulatePrincipalPolicy.
Planificateur d'instancesÉcrireec2:StartInstances et ec2:StopInstances sur les instances ; autoscaling : mettre à jour AutoScalingGroup sur les groupes Auto Scaling.
Recommandations de redimensionnementLecture seulecloudwatch:GetMetricData, cloudwatch:ListMetrics ; optimiseur de calcul : GetEC2InstanceRecommendations, optimiseur de calcul : GetRDSDatabaseRecommendations.
Surveillance de la disponibilité des ressourcesLecture seuleec2 : DescribeInstanceStatus ; cloudwatch : DescribeAlarms, cloudwatch : GetMetricData ; elasticloadbalancing : DescribeLoadBalancers, DescribeTargetGroups, DescribeTargetHealth.
Important
Instance Scheduler est la seule fonctionnalité qui peut modifier votre environnement, et uniquement en démarrant ou en arrêtant des instances et des groupes Auto Scaling. Laissez-la décochée pour un rôle strictement en lecture seule.

Organization stacks also create the member-account role CoûtGlassReadOnly in each member account with the read-only inventory permissions and the features you ticked.

Organisation ou compte unique ?

AWS OrganizationRecommended for many accounts
Déployer une fois dans le compte de gestion. Un StackSet ajoute le rôle de compte membre à chaque compte, maintenant et dans le futur (le déploiement automatique est activé par défaut). Nécessite un accès approuvé par StackSets.
Compte unique
Une pile dans un seul compte. Choisissez cette option si le compte ne fait pas partie d'une organisation ou si vous souhaitez uniquement connecter ce compte.

The Organization template has two extra parameters you can change at deploy time: AutoDeployNewAccounts (default vrai) et RetainOnAccountRemoval (default FAUX).

Exemple
Une entreprise dispose d'un compte de gestion et de 12 comptes membres. They choose AWS Organization, tick Rightsizing recommendations, and deploy once from the management account. Ils connectent une chose dans CostGlass, et les 13 comptes apparaissent en dessous. Un treizième compte membre créé le mois prochain est récupéré automatiquement.

Exportation Coût et Utilisation : l'attente de 24 heures

L'exportation est créée dès la fin de la pile, mais AWS écrit le premier fichier à son rythme, jusqu'à 24 heures plus tard. Jusque-là, CostGlass est connecté mais ne dispose d'aucune donnée. À partir du tableau de bord, vous pouvez utiliser Récupérer les données maintenant pour une extraction unique depuis Cost Explorer ; AWS facture 0,01 $ par demande et le bouton indique le coût avant de confirmer.

Après la première livraison, CostGlass lit les nouveaux fichiers toutes les 6 heures.

Suppression de l'accès

1
Déconnecter dans CostGlass
In Cloud Accounts remove the AWS connection (trash icon). CostGlass arrête de lire. Pour AWS, cela supprime également les ressources découvertes, les anomalies, les suggestions d'économies et les anciennes mesures de coûts pour cette connexion ; l'historique des coûts déjà stocké dans les tableaux de coûts principaux est conservé.
2
Supprimez la pile dans AWS
Videz d'abord le compartiment S3, sinon CloudFormation ne pourra pas le supprimer. Supprimez ensuite la pile. Cela supprime le rôle, CostGlass ne peut donc plus l'assumer. Pour une organisation, CloudFormation supprime également le StackSet qu'il a créé ; s'il indique que le StackSet a encore des instances, supprimez-les de CloudFormation → StackSets d'abord.
Astuce
Effectuer l'étape AWS seule coupe également immédiatement l'accès, car le rôle n'existe plus.

Mise à jour de la pile ultérieurement

  • Désactiver une fonctionnalité : update the stack and set its parameter to FAUX (ActiverInstanceScheduler, EnableRightsizing ou EnableUptimeMonitoring).
  • Ajoutez une fonctionnalité que vous n'avez pas cochée : une fonctionnalité non cochée n'est pas du tout dans le modèle, donc un paramètre ne peut pas l'activer. L'assistant crée des modèles pour les nouvelles connexions ; il n'offre pas de moyen de modifier les fonctionnalités de celui qui est déjà actif. Contactez le support CostGlass pour cela.
  • Lorsque CostGlass ajoute de nouveaux contrôles en lecture seule il peut avoir besoin de nouvelles autorisations. Redéployez ensuite la pile (ou mettez à jour l'Organisation StackSet). For example, the unused Elastic IP and idle load balancer checks need ec2:DescribeAddresses et elasticloadbalancing:Describe*. Jusqu'à ce que vous le fassiez, ce chèque ne trouve rien et l'indique sur la page Épargne.
Remarque
Vos choix de fonctionnalités d'origine sont enregistrés lorsque vous vérifiez et affichés sous forme de petites balises (Scheduler, Rightsizing, Uptime) sur la fiche de compte. Ils ne sont pas modifiés par les mises à jour ultérieures de la pile.

Dépannage et FAQ

The stack fails with "Unrecognized resource types: [AWS::BCMDataExports::Export]".
Vous avez déployé dans la mauvaise région. Supprimez la pile défaillante, basculez la console sur us-east-1 (Virginie du Nord) et créez-la à nouveau.
CloudFormation dit avoir besoin de capacités (InsufficientCapabilities).
Cochez la confirmation que la pile crée des ressources IAM ou transmettez CAPABILITY_NAMED_IAM sur la ligne de commande.
Verify says "Could not verify access to ... AccessDenied".
Vérifiez que la pile a atteint CREATE_COMPLETE, que l'ARN du rôle et le nom du bucket ont été copiés exactement et que vous avez déployé le modèle à partir de cette connexion. If you started a second connection, its External ID differs from the first template&#x27;s. Utilisez le modèle affiché pour la connexion en attente.
Vérifier indique que l'ARN du rôle ne semble pas valide.
Collez la sortie RoleArn, qui démarre arn:aws:iam:: et contient :role/. Ne collez pas l’ARN de la pile.
La pile d'organisation échoue lors de la création du StackSet.
L'accès approuvé n'est probablement pas activé. Dans le compte de gestion, ouvrez CloudFormation → StackSets et choisissez Activer l'accès approuvé avec AWS Organizations, puis réessayez.
La pile indique que le compartiment ou le rôle existe déjà.
Le compartiment (costglass-cur-exports-<account ID>) et le rôle (CostGlassCURReader) ont des noms fixes, de sorte qu'un compte AWS ne peut contenir qu'une seule pile CostGlass. Supprimez d'abord l'ancienne pile.
Il est dit connecté mais je ne vois aucune donnée.
Attendez qu'AWS livre la première exportation, jusqu'à 24 heures, puis cliquez sur Vérifier la livraison maintenant. Tableau de bord → Récupérer les données vous donne maintenant un aperçu rapide et unique en attendant.
I get "You have reached your plan's connection limit".
Supprimez une connexion dont vous n'avez plus besoin, terminez ou supprimez une connexion en attente, ou effectuez une mise à niveau dans Paramètres → Facturation.
Puis-je déployer cela sans CloudFormation ?

Guides associés