Blog de Amazon Web Services (AWS)

Camino a una estrategia multi-cuenta en AWS, parte 1

Por: Ingrid Alitzel Sánchez Elguea, Arquitecta de Soluciones en Amazon Web Services (AWS) para el Sector Público.

Contexto

Aunque puede comenzar su viaje con Amazon Web Services (AWS) desde una sola cuenta, AWS le recomienda que configure varias cuentas a medida que sus cargas de trabajo aumentan de tamaño y complejidad. Antes de comenzar con el enfoque a seguir cuando se trata de una estrategia de múltiples cuentas o MAS (multi-account strategy) por sus siglas en inglés, dediquemos un tiempo a comprender realmente la motivación de este cambio.

Existen diversos motivos para escalar un entorno de AWS, el primero y más importante tiene que ver con seguridad. A menudo vemos clientes motivados para escalar horizontalmente con el fin de lograr el aislamiento de recursos. Esta es una de nuestras mejores prácticas y algo que alentamos activamente a los clientes a aprovechar. Adoptar un enfoque multi-cuenta puede ayudarlo a contener los riesgos potenciales y las amenazas a la seguridad de su entorno. Y al hacerlo, limita el radio de vulnerabilidad de otras cargas de trabajo o aplicaciones que pueda tener dentro de su entorno.

El segundo motivador, suele ir seguido de la necesidad de nuestros clientes de separar los equipos entre cuentas. Conforme el nivel de adopción aumenta en las organizaciones, suelen verse en la necesidad de reestructurar a sus equipos en función de carga de trabajo o aplicación. Entonces, mudarse a un enfoque de múltiples cuentas puede ayudar a dividir sus cuentas y equipos, aprovechando los limites de servicio de forma independiente.

En tercer lugar, y una de los motivos más influyentes es poder tener visibilidad sobre la facturación. Cuando se habla de centros de costos, presupuestos y seguimiento de cargos en varias cuentas , adoptar un enfoque de multi-cuenta puede ser de ayuda. Por ejemplo, utilizar la característica de facturación unificada para consolidar la facturación y el pago de varias cuentas de AWS a través de la creación de “organizaciones” – conjunto de cuentas de AWS que le permiten organizar de manera jerárquica y administrar a nivel central – que tienen una cuenta de administración que abona los cargos de todas las cuentas de miembros. Cuando adopta este enfoque, puede tener  visibilidad de forma más granular sobre qué equipos están contribuyendo a qué costos dentro de su entorno.

El cuarto motivador está relacionada con la necesidad de escalar su entorno en AWS. Al dividir sus aplicaciones en cuentas separadas, puede personalizar estas cuentas para satisfacer los requisitos de seguridad únicos de cada una de sus aplicaciones. Con este enfoque, puede controlar el acceso y la seguridad en un nivel mucho más granular. Esto se vuelve muy, muy útil si tiene aplicaciones que puedan requerir diferentes controles a su alrededor, o si tiene ciertas aplicaciones que realmente requieran un programa de cumplimiento diferente.

La razón final para cambiar a un enfoque de múltiples cuentas, y esto no es una lista definitiva, es en realidad la necesidad de abordar los límites de recursos. Las cuotas de servicio de AWS, también conocidas como límites, son la cantidad máxima de recursos de servicio u operaciones que se aplican a una cuenta. Debido a que las cuotas de servicio y los límites de tasa de solicitud se asignan para cada cuenta, el uso de cuentas separadas para las cargas de trabajo puede ayudar a distribuir el impacto potencial de las cuotas y los límites.

Estos límites de cuenta existen para protegerlo de cualquier aprovisionamiento inesperado o excesivo. La experiencia nos dice que si intentan operar numerosas cargas de trabajo diferentes o tal vez aplicaciones grandes dentro de la misma cuenta, muy a menudo alcanzarán estos límites. Y una alternativa simple, es dividirlos en diferentes cuentas y, al hacerlo, evita la posibilidad de encontrarse con estos límites y no serán una limitante en su desarrollo.

Ilustración 1. Motivadores para escalar a un enfoque multi-cuenta.

La base de un entorno de AWS con varias cuentas con buena arquitectura es AWS Organizations, un servicio de AWS que le permite administrar y controlar de manera central varias cuentas. Antes de comenzar, vamos a familiarizarnos con unos cuantos términos y profundicemos en Organizations.

Landing Zone

Es un entorno de AWS de múltiples cuentas bien diseñado que es un punto de partida desde el cual puede implementar cargas de trabajo y aplicaciones. Proporciona una línea de base para comenzar con la arquitectura de múltiples cuentas, la administración de identidades y accesos, la gobernanza, la seguridad de los datos, el diseño de redes y archivos de registro.

La creación de una Landing Zone implica la toma de decisiones técnicas y comerciales en la estructura de la cuenta, redes, seguridad y administración de acceso de acuerdo con el crecimiento y los objetivos comerciales de su organización para el futuro. Las mejores prácticas de AWS en esta área se centran en la necesidad de aislar los recursos y las cargas de trabajo en varias cuentas de AWS para el aislamiento y la reducción del alcance del impacto.

AWS Organizations

AWS Organizations es un servicio de gestión de cuentas que le permite consolidar varias cuentas de AWS en una organización que crea y administra de forma centralizada. AWS Organizations ofrece administración basada en políticas para múltiples cuentas de AWS y estos entornos multi-cuenta traen consigo un concepto clave: Unidades Organizacionales o bien, OU’s por sus siglas en inglés.

Hay dos tipos de cuentas en una organización: una cuenta única que se denomina la cuenta de administración y una o más cuentas que son tipo miembro. La cuenta de administración es la cuenta que es usada para crear la organización. Desde la cuenta de administración de la organización, puede crear cuentas en la organización, invitar a otras cuentas existentes a la organización, eliminar cuentas de la organización, administrar invitaciones, aplicar políticas a OU’s o cuentas de AWS dentro de la organización o habilitar la integración con los servicios AWS admitidos para proporcionar funcionalidad de servicio en todas las cuentas de la organización por medio de políticas de control de servicio o SCP’s por sus siglas en inglés.

La cuenta de administración tiene las responsabilidades de una cuenta de pago y es responsable de todos los cargos devengados por las cuentas miembro, además no es posible cambiar la cuenta de administración de una organización.

Las cuentas de miembros componen el resto de cuentas de una organización. Una cuenta no puede pertenecer a más de una organización a la vez. Puede asociar una política a una cuenta para aplicar controles a esa sola cuenta.

Unidad Organizacional (OU)

Una unidad organizativa (OU) es un grupo lógico de cuentas dentro de su AWS Organization. Las OU le permiten organizar sus cuentas según una jerarquía, de modo que le resulte más fácil aplicar controles de administración.

Una OU puede contener otras OU, lo que le permite establecer una jerarquía. Por ejemplo, puede agrupar todas las cuentas que pertenezcan al mismo departamento en una OU departamental, de la misma manera, puede agrupar todas las cuentas que ejecuten servicios de seguridad en una OU de seguridad.

Las OU son útiles cuando es necesario aplicar los mismos controles a un subconjunto de cuentas de su organización. Anidar las OU permite disponer de unidades más pequeñas de administración. Por ejemplo, puede crear OU para cada carga de trabajo, luego crear dos OU anidadas en cada OU de carga de trabajo para dividir las cargas de trabajo de producción a partir de la preproducción. Estas OU heredan las políticas de la OU madre, así como cualquier control asignado directamente a la OU de nivel de equipo.

Por lo tanto, cuando se tienen varias cuentas que realizan funciones similares o relacionadas, puede beneficiarse de agrupar estas cuentas en distintas unidades organizacionales a un nivel superior. El uso prudente de OU’s puede ayudar a sus equipos a comprender mejor la estructura general de sus cuentas de AWS. Las unidades organizacionales le permiten organizar sus cuentas con el fin de ayudar a aplicar políticas generales comunes a cuentas que tienen necesidades similares.

Políticas de control de servicio (SCP)

Las políticas de control de servicios (SCP) son un tipo de política de organización que puede utilizar para administrar permisos en su organización. Las políticas de control de servicios (SCP) ofrecen un control central sobre los máximos permisos disponibles para todas las cuentas de su organización. Las políticas de control de servicios le ayudan a garantizar que sus cuentas se mantengan dentro de las directrices de control de acceso de su organización.

Las políticas de AWS Organizations le sirven para aplicar dichos controles. Una política de control de servicio (SCP) es una política que define las acciones de servicio de AWS, como la ejecución de una instancia de Amazon EC2, que las cuentas de su organización pueden realizar. Al adjuntar políticas a OU’s en lugar de a cuentas individuales, puede simplificar la administración de políticas en grupos de cuentas similares.

A medida que crece la cantidad de cuentas en su entorno, se vuelve más importante simplificar la administración de políticas al adjuntar políticas a las unidades organizacionales. AWS Organizations admite el uso de políticas de autorización y administración, así podrá tener tanto la gestión como las operaciones de forma centralizada.

Controles (Guardrails)

Los controles o guardrails son otro concepto clave; son reglas de alto nivel que proporcionan gobernanza continua para entornos de AWS en general. Cada control aplica una sola regla y se expresa en un lenguaje sencillo. Existen tres tipos de controles: preventivos, detectivos y proactivos.

Beneficios de utilizar una estrategia multi-cuenta en AWS

Utilizar un entorno de varias cuentas es una práctica recomendada por AWS que ofrece diferentes beneficios:

Restringir el acceso a datos confidenciales

Cuando limita los almacenes de datos confidenciales a una cuenta creada para administrarlos, puede restringir más fácilmente la cantidad de personas y procesos que pueden acceder y administrar el almacén de datos. Este enfoque simplifica el proceso de lograr el acceso con privilegios mínimos. Limitar el acceso de forma granular a una cuenta ayuda a contener la exposición a datos altamente confidenciales.Por ejemplo, designar un conjunto de cuentas para albergar buckets de Amazon S3 de acceso público le permite implementar políticas para todas sus otras cuentas para prohibir expresamente que los buckets de S3 estén disponibles públicamente.

Cargas de trabajo grupales basadas en el propósito comercial y la propiedad

Puede agrupar cargas de trabajo con un propósito comercial común en distintas cuentas. Como resultado, puede alinear la propiedad y la toma de decisiones con esas cuentas y evitar dependencias y conflictos con la forma en que se aseguran y administran las cargas de trabajo en otras cuentas.

Aplicar distintos controles de seguridad por entorno

Las cargas de trabajo a menudo tienen distintos perfiles de seguridad que requieren políticas y mecanismos de control separados para respaldarlos. Por ejemplo, es común aplicar diferentes políticas operativas y de seguridad para los entornos de producción y no producción de una carga de trabajo determinada. Al usar cuentas separadas para los entornos de producción y no producción, de forma predeterminada, los recursos y los datos que conforman un entorno de carga de trabajo se separan de otros entornos y cargas de trabajo.

Limitar el alcance del impacto de los eventos adversos

Una cuenta de AWS proporciona seguridad, acceso y límites de facturación para sus recursos de AWS que pueden ayudarlo a lograr la independencia y el aislamiento de los recursos. Por diseño, todos los recursos aprovisionados dentro de una cuenta están lógicamente aislados de los recursos aprovisionados en otras cuentas, incluso dentro de su propio entorno de AWS.

Este límite de aislamiento le brinda una manera de limitar los riesgos de un problema relacionado con la aplicación, una mala configuración o acciones maliciosas. Si ocurre un problema dentro de una cuenta, los impactos en las cargas de trabajo contenidas en otras cuentas pueden reducirse o eliminarse.

Administrar costos

El uso de diferentes cuentas para diferentes unidades comerciales y grupos de cargas de trabajo puede ayudarlo a informar, controlar, pronosticar y presupuestar más fácilmente sus gastos en la nube.

Conclusiones

Una estrategia de varias cuentas con buena arquitectura le ayuda a innovar más rápido en AWS, a la vez que asegura que cumple con sus necesidades en seguridad y escalabilidad. En la primera entrega de esta publicación de blog, hablamos sobre los motivadores para trabajar con un entorno de múltiples cuentas. También presentamos servicios, conceptos y explicamos cómo estos funcionan juntos para ayudarlo a lograr su objetivo de administrar un entorno de nube seguro y escalable. En la segunda entrega de esta serie de publicaciones de blog, hablaremos sobre cómo aprovechar las múltiples cuentas de AWS, así como la recomendación general y progresiva para su estructura.


Sobre la autora

Ingrid Sánchez es Arquitecta de Soluciones en Amazon Web Services (AWS) para el Sector Público. Ingrid cuenta con 5 años de experiencia, a lo largo de este tiempo ha profundizado en temas de CloudOps, con énfasis en estrategias multi-cuenta . Le apasionan los temas como administración, gobernanza y analítica en las organizaciones. En sus inicios en AWS, apoyaba el Sector Comercial para cuentas “Small & Medium Business”, actualmente forma parte del equipo de Central SA para cuentas en Latinoamérica.

 

Revisores

Jorge Hernández es Arquitecto de Soluciones en Amazon Web Services para el Sector Comercial. Jorge Ha trabajado en el sector de empresas privadas ayudando a las personas en la adopción de los servicios de AWS, también en el desarrollo de las practicas de Gobierno de tecnología, seguridad y continuidad de negocio.

 

 

 

José Cuencar ha trabajado en empresas de consultoría, sector de la construcción ,y logística, así como startups de comercialización de bienes y servicios, apoyando en la adopción de tecnologías en la nube en América Latina. Actualmente se desempeña como Arquitecto de Soluciones en Amazon Web Services para el Sector Educativo en México donde se especializa en Cómputo y Computo de Alto desempeño, apoya a la transformación digital de instituciones educativas en México.

 

 

 

José Antonio es Arquitecto de Soluciones en Amazon Web Services. Con más de 12 años de experiencia trabajando en tecnologías de nube, en diversos sectores como el financiero, seguros y fianzas, retail, manufactura y sector público entre otros. Le apasionan los temas especializados en ML y DS así como BigData y bases de datos NoSQL. Actualmente forma parte del equipo de Central SA para cuentas del sector público para Latinoamérica.