Рубрики
Uncategorized

Как настроить AWS аккаунты для нескольких сред товаров

Используйте AWS организации для настройки среды DEV / постановки и производства в отдельных учетных записях AWS. Помечено без серверу, AWS, DEVOPS.

Как часть моего текущего проекта к мигрировать монолитный продукт SaaS в безрусный Я устанавливаю 2 новых аккаунта AWS, чтобы:

  • принимает все новые ресурсы (API Gateway, лямбда и т. Д.), Что я буду создавать как часть миграции
  • постепенно перенесите существующие ресурсы из не изолированного устаревшего аккаунта на новые счета
  • Убедитесь, что производственные ресурсы не могут быть случайно мешаны
  • Держите мой Dev Workflow максимально эффективным

В этом посте я охвачению создания организационной структуры, создавая 2 учетных записями (разработчика/постановка и производство), создавая IAM пользователей и получение CLI настроен так, чтобы это было легко управлять вперед.

Структура организации

Я буду использовать AWS Организации создать учетные записи.

Примечание. Если вы находитесь в корпоративной среде, где у вас нет доступа к организациям или на главную учетную запись, то вам, вероятно, понадобится попросить администратора на главной учетной записи, чтобы сделать это для вас. Затем вы можете пропустить Настройка доступа CLI раздел ниже.

У меня уже есть мастер-аккаунт в названии моей компании, и существующий дочерний счет (называемый «наследием» счета в будущем), где размещена вся моя нынешняя инфраструктура. Этот устаревший учет содержит ресурсы как для разработки/стадий, так и для производства, а также некоторые статические веб-сайты, которые не связаны с продуктом. Мой более долгосрочный цель состоит в том, чтобы переместить соответствующие ресурсы на новые учетные записи и вообще удалить устаревший счет.

Я также собираюсь использовать «организационную единицу» для продукта в случае в будущем, я хочу применить политики во всех счетах для этого продукта, но не касаться учетных записей, связанных с моими другими продуктами.

Вот что будет выглядеть мою структуру ORG:

  • 🏠 Winterwindsoftware (Учетная запись Master Company, Биллинг идет здесь)

    • 🔑 root (root user, mfa)
    • 🗂 autochart. (Организационная единица для конкретной продукции)

      • 🏠 autochart_legacy.

        • 🔑 root (root user, mfa)
        • 👥 Sysadmins. (IAM Group, Администраторская политика)
        • 👤 Пол (IAM пользователь, в Sysadmins , MFA)
      • 🏠 autochart_dev (Новая учетная запись, для разработки и постановки ресурсов)

        • 🔑 root (root user, mfa)
        • 👥 Sysadmins. (IAM Group, Администраторская политика)
        • 👤 Пол (IAM пользователь, в Sysadmins , MFA необязательно)
      • 🏠 autochart_prod (Новая учетная запись, для ресурсов только для производства)

        • 🔑 root (root user, mfa)
        • 👥 Sysadmins. (IAM Group, Администраторская политика)
        • 👤 Пол (IAM пользователь, в Sysadmins , MFA)

Вы можете заменить autochart выше с именем вашего продукта при создании собственной структуры с помощью Организации AWS Console Отказ

Чтобы начать, войдите в главную учетную запись в качестве пользовательского пользователя root и создайте 2 новых учетных запися, вводя в имени учетной записи и адреса электронной почты, который вы хотите использовать для вашего входа в систему вашего дочернего уровня.

🔥 Совет: Никогда не используйте адрес электронной почты, связанный с существующей личной учетной записью Amazon.com для вашего корневого входа в В настоящее время нет способа отключить его от учетной записи AWS . Работать вокруг этого, если вы используете адрес электронной почты Gmail/Gsuite, вы можете использовать адрес псевдонима для каждой учетной записи, добавив знак плюс после первой части вашего адреса, например paul+myproduct_dev@mycompany.com. и paul+myproduct_prod@mycompany.com Отказ

Следы ниже должны повторяться для каждой новой учетной записи.

🔥 Совет: Я настоятельно рекомендую использовать менеджер паролей для хранения и создания сильных паролей для всех пользователей, которые вы настроите. Я использую 1Password , который также обеспечивает 2 фактора функциональности аутентификации.

Вход в новые учетные записи в первый раз как пользователь root

Чтобы войти в первый раз в качестве пользователя Root для вашей вновь созданной учетной записи, вам необходимо использовать процесс сброса пароля в соответствии с Документы AWS 🤔.

🔥 Совет: прежде чем делать это, так как вы будете входить в несколько учетных записей AWS, Установите разные профили браузера На этом этапе для ваших DEV и Prod пользователей, чтобы облегчить доступ к каждой учетной записи одновременно и визуально различать каждую учетную запись через тему.

Активируйте мультифакторные аутентификации для пользователя root и создайте индивидуальный пользователь IAM

Когда вы открываете IAM Console Как пользователь root, вы увидите такой контрольный список:

Теперь вы должны активировать MFA на вашем корневом счете, а затем завершить оставшиеся шаги. В частности, вы должны создать один пользователь для себя, используя свое собственное имя. Убедитесь, что вы включаете программную и консольную доступ для вашего пользователя. Я добавил этого пользователя к вновь созданному Сысадминс Группа, к которой я добавил АдминистраторCCess политика.

Создать псевдоним аккаунта для входа в консоль

На приборной панели IAM Console , вы можете создать дружеский URL для входа в консоль. Это сохраняет вас от необходимости ввода идентификатора учетной записи в форме входа в систему каждый раз.

Включите MFA для вашего пользователя производственной учетной записи IAM

Это не обязательно необходимо для вашей учетной записи DEV, но с тех пор, как мне предоставило полный доступ администратора к моему пользователю IAM, я хочу убедиться, что он такой же безопасный.

Чтобы включить MFA для вашего пользователя IAM, выйти из консоли в качестве пользователя root, и войдите в систему, как пользователь IAM, который вы создали для себя и перейдите к пользователям -> Ваш пользователь -> вкладка учетных данных о безопасности и ищите назначенное устройство MFA.

Вы должны использовать этот пользователь IAM практически для всех ваших будущих консольных доступа.

Настройка доступа CLI

Хотя я завершил вышеуказанные шаги с помощью консоли AWS, почти все мои будущие конфигурации и управление ресурсами будут проводиться программно, либо через AWS CLI, JavaScript SDK или другую инфраструктуру в качестве инструмента кода (E.G. Servilless Framework или CloudFormation).

Таким образом, следующий шаг — Установите AWS CLI Использование терминала. Тогда Настройте CLI, чтобы использовать ключ доступа и секрет, которые были сгенерированы ранее для вашего пользователя IAM Отказ Не создавайте профиль по умолчанию, так как это может привести к тому, что вы случайно запустите команду против неправильной учетной записи. Вместо этого создайте названный профиль. Мне нравится использовать следующую конвенцию для именования профилей _ _ <имя пользователя> , например

 aws configure —-profile myproduct_dev_paul
# ... enter your access ID, secret key and default region when prompted

Наличие отдельных профилей, как это, позволяет легко Настроить Per-Stage Profile Внутри ваших сервисных служб без сервеса.

Создание больше пользователей

Пока я просто команда из 1 работающей над своим продуктом, шансов есть и другие коллеги в вашей команде, которым понадобится доступ. Вы можете настроить их как пользователи IAM так же, как вы создали свой собственный пользователь IAM. Вам нужно будет создать свое собственное суждение относительно того, какой уровень доступа вы получаете им. АдминистраторCCESS, вероятно, отлично для учетной записи DEV, но вы можете ограничить доступ к производственному счету для некоторых членов команды.

Отписаться от маркетинговых электронных писем

Наконец, используйте Эта форма Чтобы отписаться от подписки Оба адреса электронной почты, используемые в качестве ваших пользователей root.

💌 Если вам понравилась эта статья, вы можете зарегистрироваться На мой еженедельный бюллетень на строительстве веб-приложений без сервеса в AWS Отказ Вы также можете наслаждаться:

Первоначально опубликовано в winterwindsoftware.com Отказ

Оригинал: «https://dev.to/paulswail/how-to-set-up-aws-accounts-for-multiple-product-environments-4bl6»