Развертывание Chef не работает в Ubuntu 14.04 в поисках учетных данных
Я использую Ubuntu 14.04 chef-solo stack, но с сегодняшнего дня, когда я запускаю сценарий развертывания, он выдает ошибку ниже. Пожалуйста помогите.
========== ubuntu @ i-production-base: ~ $ sudo /var/chef/scripts/deploy.rb /usr/local/lib/ruby/gems/2.3.0/gems/aws- sdk-v1-1.66.0 / lib / aws / core / credential_providers.rb: 140: в `учетных данных ': (AWS::Errors::MissingCredentialsError) Отсутствуют учетные данные.
Невозможно найти учетные данные AWS. Вы можете настроить свои учетные данные AWS несколькими различными способами:
Вызовите AWS.config с помощью:access_key_id и:secret_access_key
Экспортировать AWS_ACCESS_KEY_ID и AWS_SECRET_ACCESS_KEY в ENV
В EC2 вы можете запускать экземпляры с профилем экземпляра IAM, и учетные данные будут автоматически загружаться из службы метаданных экземпляра в этих экземплярах.
Вызовите AWS.config с помощью: credential_provider. Поставщик учетных данных должен либо включать AWS::Core::CredentialProviders::Provider, либо отвечать на те же общедоступные методы.
= Ruby on Rails
В приложении Ruby on Rails вы также можете указать свои учетные данные следующими способами:
С помощью скрипта инициализатора конфигурации, используя любой из методов, упомянутых выше (например, RAILS_ROOT/config/initializers/aws-sdk.rb).
Через файл конфигурации yaml, расположенный по адресу RAILS_ROOT/config/aws.yml. Этот файл должен быть отформатирован как файл RAILS_ROOT/config/database.yml по умолчанию.
из /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/credential_providers.rb:62:in
access_key_id' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:549:in
build_request'из /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:491:inblock (3 levels) in client_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/response.rb:175:in
build_request'из /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/response.rb:114:ininitialize' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:203:in
новый 'из /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:203:innew_response' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:490:in
блок (2 уровня) в client_request'из /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:391:inlog_client_request' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:477:in
заблокировать в client_request'из /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:373:inreturn_or_raise' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:476:in
client_request'от (eval):3: вdescribe_tags' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/ec2/filtered_collection.rb:44:in
Filter_request'от /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/ec2/resource_tag_collection.rb:194:into_h' from /var/chef/scripts/deploy.rb:243:in
fetch_ec2_meta_data 'из /var/chef/scripts/deploy.rb:221:ininitialize' from /var/chef/scripts/deploy.rb:328:in
новый 'из /var/chef/scripts/deploy.rb:328:in `'
1 ответ
Похоже, вам нужно либо запустить экземпляр с ролью, которая имеет доступ к учетным данным. Вы можете прочитать об этом здесь или
экспортировать ключ и секрет IAM через среду (например, в Linux это будет оболочка bash)
export AWS_ACCESS_KEY_ID=YOUR_KEY; export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
настроить AWS SDK... это менее вероятно, так как это означает, что некоторые изменения были внесены в ваш скрипт.