Я пытался найти ответ или подобное поведение на разных сайтах, и я не вижу никого, кто сталкивался бы с этой проблемой. Это означает, что либо я что-то делаю неправильно, либо я мало смотрел. Если вы считаете, что это повторяющийся вопрос, укажите, пожалуйста, на вопрос, где я могу найти ответ. Спасибо.
Я использую машину EC2 Ubuntu t2.micro. rc.local
Симптомы: Если я запускаю сценарий с консоли, он работает нормально, однако, если я перезагружаю систему, тогда строка, которая проверяет, выполняет "aws autoscaling describe-auto-scaling-sizes --instance-id постоянно терпит неудачу
Фрагмент кода:
попробуйте : myInstanceID = subprocess.check_output (["ec2metadata", "- instance-id"]) myInstanceID = myInstanceID.strip ("\ n") распечатать myInstanceID Кроме: печать "Все еще загружается" continue
#result = subprocess.check_output(["/usr/local/bin/aws","autoscaling","describe-auto-scaling-instances","--instance-id",myInstanceID])
p = subprocess.Popen(["/usr/local/bin/aws","autoscaling","describe-auto-scaling-instances","--instance-id",myInstanceID],stdout=subprocess.PIPE)
result = p.communicate()[0]
#try:
# #result = subprocess.check_output(["aws','autoscaling','describe-auto-scaling-instances','--instance-id',myInstanceID])
# result = subprocess.check_output(["/usr/local/bin/aws","autoscaling","describe-auto-scaling-instances","--instance-id",myInstanceID])
#except:
# #print e.output
# print "ERROR"
# continue
Пробовали и закомментированные строки, но результат тот же.
Причина сбоя: когда я создаю сценарий, который находится в пространстве пользователя и когда Я делаю "aws configure", это происходит для пользователя ubuntu после того, как система завершит процесс загрузки. Однако, когда запускаются сценарии запуска, которые выполняются под root и, следовательно, в пространстве SU (Super User), и я не настроил его для учетных данных aws.
Решение: сделал «sudo su» для перехода в режим суперпользователя, а затем «aws configure» для предоставления всех учетных данных aws. И это работает, поскольку сценарии запуска могут найти все учетные данные aws.