
Muchas empresas utilizan varias cuentas de AWS para proporcionar aislamiento de recursos a nivel de cuenta y una atribución de gastos más sencilla por centro de costos. Las razones mas comunes para ejecutar esta estrategia son:
Si bien es muy ‘interesante’ tener varias cuentas por razones de seguridad, gestión y optimización de costos es necesario respondernos algunas preguntas para estar seguros si esta estrategia es la mejor forma de lograr nuestros objetivos:
Si la respuesta a cualquiera de éstas preguntas es SI, es probable que el negocio requiera una estrategia de múltiples cuentas AWS.
Además del aislamiento de recursos y una mejor atribución de gastos, una ventaja de usar varias cuentas de AWS es que los límites de servicio se aplican a nivel de cuenta individual. Entonces, en lugar de un límite de servicio (como 20 reservas de instancias EC2 por AZ por mes) para toda la organización, cada cuenta puede usar un servicio hasta sus límites.
Un costo adicional asociado con el uso de varias cuentas es que, con la excepción del soporte de nivel empresarial, cada cuenta individual debe pagar su propio soporte. Sin embargo, esto también puede ser un beneficio, ya que puede limitar el nivel de soporte pagado por lo que es apropiado para esa cuenta.
Existen algunos patrones de diseño que nos pueden ayudar a tener un mejor gobierno entre cuentas. A continuación explico sobre estos patrones.
Una solución para administrar diferentes equipos usando múltiples cuentas es usar cuentas independientes completamente separadas entre sí. Estas cuentas pueden operar de forma autónoma con sus propios equipos, y también sin la necesidad de que ningún equipo esté involucrado con otro equipo. En lugar de que todos estos equipos compartan una cuenta, arriesgándose a complicaciones potenciales debido a una autorización incorrecta de acceso o problemas de seguimiento, facturación o seguridad complicados, cada región, departamento, proyecto, carga de trabajo, etc., podría tener su propia cuenta.
Si bien el uso de múltiples cuentas independientes grandes es teóricamente la forma más sencilla de usar y administrar múltiples cuentas, garantizar estándares uniformes de gobierno, administración y auditoría es difícil con equipos separados. Además, sus equipos de producción y de no producción no tendrán separación a nivel de cuenta, es decir, sin controles de IAM estrictos y específicos, corre el riesgo de violar el principio de acceso con privilegios mínimos. Para organizaciones más grandes, se puede utilizar un patrón de cuentas múltiples con controles centralizados para proporcionar estos beneficios, con el inconveniente de una mayor complejidad administrativa.
Una forma de aprovechar una estructura de cuentas múltiples de control centralizado es dividir sus cuentas por unidad de negocio.
Otra forma de dividir cuentas de esta manera es por su etapa en el ciclo de vida de la aplicación:
También puedes dividir las cuentas por proyecto, como por aplicación:
Este patrón ofrece todos los beneficios del patrón anterior (Centrally-Controlled Multi-Account) más la habilidad de asignas costos a cuentas pagadoras por separado.
Este es un ejemplo de una estructura de cuenta híbrida, donde cada aplicación tiene su propia cuenta pagadora vinculada a cuentas separadas para cada etapa del ciclo de vida de la aplicación.
Este ejemplo muestra cómo cada cuenta pagadora debe tener cuentas vinculadas organizadas de la manera que tenga más sentido según las necesidades de esa división.
¿Te gustó este artículo?
Podemos contactarnos pronto y de manera muy directa a través de las siguientes opciones: