背景:我正在编写一个自动部署脚本,以将 ruby on rails 应用程序部署到 EC2 实例上的 AWS,使用 S3 作为 ActiveStorage 的存储。我的脚本创建一个实例配置文件/角色,并在创建时将其附加到 EC2 实例。我的脚本使用 AWS 的 ruby sdk。
有时当我的脚本运行时,它运行良好(这告诉我我的配置是正确的)。有时它会抛出以下异常:
/home/ubuntu/.rbenv/versions/2.6.5/lib/ruby/gems/2.6.0/gems/aws-sigv4-1.2.1/lib/aws-sigv4/signer.rb:613:in `extract_credentials_provider': missing credentials, provide credentials with one of the following options: (Aws::Sigv4::Errors::MissingCredentialsError)
- :access_key_id and :secret_access_key
- :credentials
- :credentials_provider
使用 t3a.micro 或 t3.micro 实例,我通常会在 10 次中成功 9 次。使用 t3a.nano 或 t3.nano 实例时,我通常有 10 次失败 9 次。
这些实例配置文件似乎最终一致,但我在文档中找不到任何内容。发生了什么事,我能做些什么来使这件事始终如一地成功?
谢谢你。