Я работал над этой проблемой четыре дня и, наконец, нашел решение, которое, как мне кажется, решает ее.
Существует два вида начальной загрузки CDK: устаревшая и современная. Устаревшая версия используется по умолчанию.
Похоже, в устаревшем загрузчике есть ошибка, затрагивающая одни учетные записи и не затрагивающая другие. Мне удалось убедиться, что один и тот же код работал у меня в одной учетной записи, но вызывал точные симптомы этой проблемы во вновь созданной учетной записи.
Если по какой-то причине вы не застряли на устаревшем бутстрапе, просто перейдите на современный бутстрап. Это должно устранить ошибку (и причину ошибки).
Инструкции находятся здесь: https://docs.aws.amazon.com/cdk/latest/guide/bootstrapping.html
По сути, перед вызовом cdk bootstrap
необходимо установить переменную среды, а затем изменить код или конфигурацию в проекте.
Не интуитивно понятно, что эта функция вообще существует в CDK, и что она может решить эту конкретную проблему. Тем не менее, это прояснило это для меня. Возможно, то же самое произойдет и с другими.
вы можете запустить его напрямую (не через cloudformation)?
Да, запуск
aws ec2 describe-instances
от моего настроенного пользователя CLI работает нормально. Интересно, не распространяются ли некоторые разрешения на формирование облака, даже если у роли есть доступ администратора.или, может быть, команда не работает под этой ролью. ненавижу говорить - но требует много устранения неполадок. Вы говорите role — роль назначается экземпляру сервера. Когда вы запускаете шаблоны CF, обычно они выполняются под пользователем, а разрешения назначаются пользователю. Вы уверены, что имеете в виду роль?
Я создал нового пользователя, принадлежащего к группе
AdministratorAccess
, и настроил мои ~/.aws/credentials с новыми ключами. Попробовав обаaws --debug cloudformation create-stack --template-url <url> --stack-name my_stack --capabilities CAPABILITY_NAMED_IAM
и заменив возможности наCAPABILITY_IAM
, я продолжаю видеть одно и то же. Буду продолжать искать полезные журналы отладки...В роли службы AWS CloudFormation — AWS CloudFormation упоминается, что CloudFormation может использовать роль службы, прикрепленную к стеку. Когда вы запускаете этот шаблон, указывает ли он роль IAM (шаг консоли № 3)? Кстати, через консоль запускать не пробовали?
Джон, кажется, это действительно было проблемой. На 2-м шаге создания стека мне пришлось установить
CustomRole
наtrue
И указать роль IAM на 3-м шаге (admin в моем случае). Любая другая перестановка (истина + без роли, ложь + роль, ложь + без роли) не работала. Я собираюсь продолжить расследование и полностью понять, почему это так, а затем ответить на свой вопрос.