Тот факт, что вы хотите, чтобы расходы по конкретному проекту шли на клиентов, и вы хотите, чтобы каждый проект был независимым, указывает на то, что ваш лучший выбор будет использовать отдельную учетную запись AWS для каждого проекта (или каждого клиента).
Сохраняя проекты в отдельных учетных записях AWS:
- Каждая учетная запись будет нести расходы, связанные с конкретным проектом
- Ресурсы в каждой учетной записи будут храниться отдельно.
- Полномочия пользователей в каждой учетной записи будут храниться отдельно
- Вы можете создавать промежуточные и производственные среды в рамках одной учетной записи (см. Ниже)
Вы можете иметь несколько учетных записейобъединяются с помощью AWS Organizations :
AWS Organizations - это служба управления учетными записями, которая позволяет консолидировать несколько учетных записей AWS в организацию, которую вы создаете и централизованно управляете.AWS Organizations включает в себя возможности управления учетными записями и консолидированного выставления счетов , которые позволяют лучше удовлетворить потребности вашего бизнеса в области бюджета, безопасности и соответствия требованиям.Как администратор организации, вы можете создавать учетные записи в вашей организации и приглашать существующие учетные записи для вступления в организацию.
Некоторые компании делают еще один шаг вперед и также сохраняютподготовка и производство на отдельных счетах AWS .Они делают это потому, что хотят держать производственные ресурсы и пользователей в стороне от непроизводственных ресурсов и пользователей.Это уменьшает вероятность того, что кто-то случайно поменяет Production, когда он намеревался обновить Staging.Несмотря на то, что вы можете использовать разрешения IAM, чтобы предотвратить возникновение подобных ситуаций, хранение промежуточных и производственных учетных записей в отдельных учетных записях гарантирует, что люди, имеющие только промежуточные разрешения, не смогут влиять на производственные процессы.
Ваша компания должна сохранить право собственностивсех учетных записей , чтобы вы могли управлять ими.Каждый месяц вы будете получать сводный счет, но в нем будут отображаться расходы с разбивкой по счетам.Таким образом, вы будете знать, сколько будет взимать плата с ваших клиентов.
Разработчикам потребуется отдельный вход в каждую учетную запись AWS .Поэтому, если они хотят работать над Проектом 1, им нужно будет войти в учетную запись AWS для Проекта 1. Затем они получат доступ к ресурсам Проекта 1, но не к каким-либо другим проектам.Когда они захотят поработать над другим проектом, им нужно будет повторно войти в систему с учетными данными для учетной записи AWS другого проекта.Вы можете подумать, что это добавляет дополнительную работу, но также добавляет дополнительную безопасность и гарантирует, что ресурсы каждого клиента хранятся совершенно отдельно.
Конечным преимуществом использования отдельных учетных записей является то, что в будущем, если клиент желаетвзяв под контроль их системы, вы можете назначить им учетную запись AWS, не выполняя никакой работы по отделению их ресурсов от других клиентов .Это похоже на передачу ключей от дома - они могут въехать без необходимости выезда.