Развертывание 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:inbuild_request'из /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:491:in block (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:inbuild_request'из /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/response.rb:114:in initialize' 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:in new_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:in log_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:in return_or_raise' from /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/core/client.rb:476:inclient_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:inFilter_request'от /usr/local/lib/ruby/gems/2.3.0/gems/aws-sdk-v1-1.66.0/lib/aws/ec2/resource_tag_collection.rb:194:in to_h' from /var/chef/scripts/deploy.rb:243:infetch_ec2_meta_data 'из /var/chef/scripts/deploy.rb:221:in initialize' 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... это менее вероятно, так как это означает, что некоторые изменения были внесены в ваш скрипт.

Другие вопросы по тегам