Bien organiser les comptes de son Organisation AWS

FE Piacentini
Mistertemp’s kitchen
4 min readSep 13, 2022

--

L’erreur du débutant : Tous pour un et un (seul compte AWS) pour tous.

Tous pour un et un pour tous
STATUE DE D’ARTAGNAN

Lorsque l’on est une “petite” équipe et que l’on décide de se lancer sur une infrastructure cloud AWS pour déployer ses projets, le choix le plus courant est de créer un unique compte, de le paramétrer et de l’utiliser pour l’ensemble de ces workloads (développement, staging, production, …)

Ce n’est pourtant pas recommandé, et partir sur une organisation multicompte n’est pas si compliqué, c’est ce que nous allons voir.

Pourquoi organiser son infrastructure cloud sur plusieurs comptes ?

Les bénéfices de la création de plusieurs comptes sont nombreux.

Regrouper les workloads en fonction de leur rôle métier et du ownership.
Même si on essaye que les équipes travaillent le plus possible avec des guidelines communs, il n’est pas rare que chaque application et chaque métier se distinguent par certaines spécificités (besoin de ressources différentes, workflow de travail dédié, …).
Tout mettre sur le même compte le rend peu lisible si de multiples projets différents l’utilisent. La création d’un ensemble de grandes catégories est conseillée (par métier, par département, …) et donc d’un ensemble de comptes associés.

Vous supportez ainsi plusieurs modèles d’opérations : une équipe data ne travaille pas avec les mêmes outils et workflows qu’une équipe de développement front par exemple.

Disposer de plusieurs comptes en fonction des environnements permet d’y appliquer des règles et des contrôles de sécurité différents en fonction de leur usage. Un compte de “développement” proposera des droits important aux développeurs tandis qu’un compte de production réservera ces droits aux équipes en charge des opérations.

Vous pouvez ainsi maîtriser et restreindre l’accès aux données sensibles tout en promouvant l’innovation et l’agilité (en mettant à disposition des environnements d’expérimentation, ou d’accès peu restreint).

En créant plusieurs comptes avec des responsabilités définies vous limiter le scope de l’impact d’un évènement malveillant grâce à l’isolation des ressources.

Sécuriser vos infrastructures by design.

La maîtrise des coûts est plus facile avec plusieurs comptes. Il arrive parfois que des erreurs humaines soient à l’origine de coûts imprévus.
Des comptes différents permettent d’utiliser des quotas différents qui limiteront ces problèmes : Par exemple la taille des machines d’un compte de développement peut être limitée à des instances de petite taille pour ne pas risquer des surprises.

Gérer de façon plus fine les quota AWS et le rate limiting pour éviter les dépenses inattendues.

Comment gérer plusieurs compte ?

Gérer plusieurs comptes n’est pas plus compliqué. Plusieurs outils AWS vous permettent de le faire simplement.

Créer une organisation

Le service AWS Organizations vous permet de gouverner vos environnements et vos comptes de façon centralisés. L’organisation supporte la centralisation de la gestion des coûts, la gestion de l’audit des accès, des règles imposées ou SCP(région d’utilisations, …). Toutes les informations ici :

Utiliser des outils de gestion automatiques

Si vous partez de zéro, utilisez AWS Control Tower. C’est une méthode simple pour déployer des structures d’organisations ayant fait leurs preuves.
Attention : Si vous avez déjà des comptes configurés que vous souhaitez intégrer à une organisation, il n’est pas toujours possible d’utiliser cet outil.

100% Infra as code

C’est n’est pas le sujet de l’article mais pour gérer des comptes multiples vous devez déployer les infrastructures avec du code : AWS Cloudformation, Terraform, Serverless, …

Utiliser AWS pour son infrastructure doit se faire en infra à code à 100%. On est plus dans les années 90! :)

Organiser vos comptes

Organiser vos comptes en fonction de votre besoin et de votre organisation.

Rubrique de classement des comptes.

Vous n’avez pas forcément besoin de toutes ces catégories mais inspirez-vous en pour votre organisation.

Une fois l’organisation créée, le compte root de cette dernière ne doit être utilisé que pour l’administration de l’organisation. Tout le reste doit être dans des comptes enfants.

Gérer les droits et les roles

Vous allez utiliser AWS Identity and Access Management (IAM) ou AWS IAM Identity Center (Anciennement AWS SSO) pour donner des accès à vos équipes sur les différents comptes de l’organisation.

Un des comptes de l’organisation doit centraliser tous les users qui sont créés.
Les utilisateurs réalisent ensuite un “assume role” sur les autres comptes pour obtenir les droits nécessaires. Ce point fera l’objet d’un autre article.

Il ne vous reste plus qu’à coder, déployer et utiliser vos produits ! Le cloud c’est magique, les possibilités sont illimitées.

--

--