AWSからであればネットからダウンロードするよりも、S3にダウンロードしてあるものをコピーするのが圧倒的に早い。
というわけで既存のローカルからファイルコピーしていたタスクを書き直した。
AnsibleでS3経由でファイルを単にダウンロードするだけのタスクなのに、失敗している。
(実際にはファイルはあるのだが、チェックサムの計算に失敗している)
で、みたところアップロードしたファイルはマルチパートで分割されてアップロードされていた。
aws s3 cpコマンドを使ってアップロードするとファイルサイズが8M超えたあたりで自動的に分割するらしい。
(E-tagというメタデータをS3コンソールから確認できて、そこに-2みたいな-が入っていたらマルチパートでアップロードされたものということらしい)
Ansibleのs3タスクでアップロードされたものはマルチパートにはならないので、面倒だけどAnsibleタスク同士でアップロード、ダウンロードしている分にはエラーに遭遇しない。
追記:
どうやら別の原因だったもようで、既にファイルがあるときにもう一回実施するとエラーになるというものだった。
ファイルを消して実行したら問題なかった。このAnsibleのエラーメッセージがおかしい!
さらに追記:
Ansibleのs3でアップロードするとマルチパートにはならないが、アップロード先に同名ファイルがあるとやはりエラー。どうもマルチパートは鬼門なのでマルチパートは避けるようにしよう。