ローカル環境ではs3へのファイルのやり取りができていたのに、ec2にデプロイして実行するとs3とのやり取りで403エラーとなる。credentialの問題でもないならば署名タイプを疑ってみてもいいかも。
とりあえず、明示的にversion4を指定してあげればおkだと思います。
public void setup() {
s3 = new AmazonS3Client();
System.setProperty(SDKGlobalConfiguration.ENABLE_S3_SIGV4_SYSTEM_PROPERTY, "true"); // これ!!
Region region = Region.getRegion(Regions.AP_NORTHEAST_1);
s3.setRegion(region);
s3.setEndpoint(endpoint);
}
参考