@ducks identificó que los tiempos de espera en el SDK para adquirir credenciales de IMDS son muy agresivos (1 segundo, sin reintentos), por lo que es posible que esté alcanzando ese tiempo de espera.
Pero eso es solo una suposición.
Si te conectas a producción por consola, ¿puedes hacerlo interactivamente, por ejemplo?:
discourse(prod)> c = Aws::S3::Client.new(region: ENV['DISCOURSE_S3_REGION'])
=> #<Aws::S3::Client>
discourse(prod)> c.list_objects_v2(bucket: ENV['DISCOURSE_S3_BUCKET']).contents.count
=> 1000