Проблема: У меня есть кластер EMR (вместе с рядом других ресурсов), определенный в шаблоне облачной информации.Я использую API остальных AWS для обеспечения моего стека.Это работает, я могу успешно подготовить стек.
Затем я внес одно изменение: я указал пользовательский AMI для своего кластера EMR.И теперь инициализация EMR завершается неудачей, когда я инициализирую свой стек.
И теперь мое создание стека не выполняется из-за сбоя инициализации EMR.Единственная информация, которую я могу найти, - это ошибка на консоли: null: Error provisioning instances.
.Копаясь в каждом экземпляре, я вижу, что мастер-узел завершился с ошибкой Status: Terminated. Last state change reason:Time out occurred during bootstrap
У меня настроено ведение журнала s3 для моего кластера EMR, но в корзине s3 нет журналов.
Подробности:
Я обновил свой скрипт облачной информации следующим образом: my_stack.cfn.yaml:
rMyEmrCluster:
Type: AWS::EMR::Cluster
...
Properties:
...
CustomAmiId: "ami-xxxxxx" # <-- I added this
Настраиваемые детали AMI: Я добавляюпользовательский AMI, потому что мне нужно зашифровать корневой том EBS на всех моих узлах.(Это необходимо для документации )
Шаги, которые я предпринял для создания своего пользовательского AMI:
- Я запустил базовый AMI, который используется AWS для EMRузлы:
emr 5.7.0-ami-roller-27 hvm ebs
(ID: ami-8a5cb8f3
) - Я создал образ из своего запущенного экземпляра
- Я создал копию этого образа с включенным шифрованием корневого тома EBS.Я использую ключ шифрования по умолчанию.(Я должен создать свой собственный базовый образ из работающего экземпляра, потому что вам не разрешено создавать зашифрованную копию из AMI, которой вы не владеете)
Интересно, может ли это быть проблема с разрешениямиили, возможно, мой AMI неправильно настроен.Но для меня было бы целесообразно сначала найти несколько журналов, чтобы точно выяснить, что не так с подготовкой узлов.