1回答
- 新しい順
- 投票が多い順
- コメントが多い順
1
S3 Transfer Acceleration は高レイテンシのネットワーク環境で効果的に機能するように設計されていますが、それでもアップロードが失敗する場合は以下の対応を検討してください。
S3 Transfer Acceleration と高レイテンシ環境について
S3 Transfer Acceleration は、クライアントとS3バケット間の長距離転送を最適化するために設計されており、AWS のエッジロケーションを使用してデータをより効率的にルーティングします。高レイテンシ環境でも効果的ですが、ネットワークの不安定さが極端な場合は問題が発生することがあります。
アップロード失敗の対策
- 並列処理の調整:
- 現在の設定では
max_concurrent_requests = 10となっていますが、ネットワーク状況によっては調整が必要です。 - システムリソースに余裕がある場合は
16や20に増やしてみてください。 - 逆に、ネットワークが不安定な場合は値を
5や8に減らすことで安定性が向上する場合もあります。
- マルチパートアップロードの設定調整:
multipart_chunksizeを調整してみてください。現在は64MBですが、ネットワークが不安定な場合は32MBに下げることで個々のチャンクの転送成功率が上がる可能性があります。multipart_max_attemptsは既に10に設定されていますが、これは適切な値です。
- デバッグ情報の取得:
--debugフラグを使用して詳細な情報を取得してみてください:
aws s3 cp takeout-20250802T041115Z-1-001.zip s3://{bucket-name}/ --debug
- これにより、どの段階で問題が発生しているかを特定できる可能性があります。
- ペイロード署名の無効化を検討:
- 設定に
payload_signing_enabled = falseを追加することで、データブロックのSHA-256ハッシュ計算のオーバーヘッドを削減できます。 - ただし、これはセキュリティとのトレードオフになります。
- 中断されたマルチパートアップロードの確認と削除:
- 以前の失敗したアップロードが残っている可能性があります。以下のコマンドで確認と削除ができます:
aws s3api list-multipart-uploads --bucket {bucket-name}
aws s3api abort-multipart-upload --bucket {bucket-name} --key {object-key} --upload-id {upload-id}
2GB程度のファイルを安定してアップロードするためのベストプラクティス
- ネットワーク接続の安定化:
- 可能であれば、Wi-Fi ではなく有線接続を使用してください。
- 他のネットワーク負荷の高いアプリケーションを一時的に停止してみてください。
- リトライ戦略の実装:
- 失敗した場合に自動的にリトライするスクリプトを作成することを検討してください。
- AWS CLI には組み込みのリトライ機能がありますが、カスタムスクリプトでより細かく制御できます。
- ファイルの分割:
- 2GB のファイルを小さなチャンクに分割し、個別にアップロードした後、S3 で再結合することを検討してください。
- 代替転送方法の検討:
- 極端に不安定なネットワーク環境では、AWS Snowball などの物理デバイスを使用したデータ転送も選択肢の一つです。
これらの調整を試しても問題が解決しない場合は、ネットワークプロバイダーとの相談や、別のネットワーク環境からのアップロードを検討することをお勧めします。
Sources
Why do S3 CLI uploads sometimes hang mid-transfer with no error? | AWS re:Post
Upload to AWS S3 is pathetically slow | AWS re:Post
Troubleshoot cross-region transfer issues - AWS Transfer Family
Use Amazon S3 Transfer Acceleration to Minimize Latency Caused by Distance - Best Practices Design Patterns: Optimizing Amazon S3 Performance
S3 Transfer Rates Capped at 2.8mb/s ??? How Can I Speed This Up? | AWS re:Post
回答済み 9ヶ月前
