環境
$ ruby -v
ruby 2.6.5
$ rails -v
Rails 5.2.4
Amazon Linux 2
状況
本番環境としてデプロイした後に、画像をCarriorwave,fogを通じてS3にアップロードしようとすると、エラーが発生。
エラー文は以下の2種類。
Excon::Error::Socket: getaddrinfo: Name or service not known (SocketError)
SocketError: getaddrinfo: Name or service not known
本件の原因
config/initializer/carrior_wave.rb
if Rails.env.production?
CarrierWave.configure do |config|
config.fog_provider = 'fog/aws'
config.fog_credentials = {
provider: 'AWS',
region: 'ap-northeast-1a', # 問題箇所
aws_access_key_id: 'アクセスキー',
aws_secret_access_key: 'シークレットキー'
}
config.fog_directory = 'バケット名'
config.cache_storage = :fog
end
end
'ap-northeast-1a'
なんてリージョンはなく、ap-northeast-1
の間違いであった。
解決した対応
問題箇所のap-northeast-1a
をap-northeast-1
にしてpumaを再起動した。
こんなしょうもないミスで2時間潰しました笑