6

ソフトウェアに自動更新機能を追加したところ、ダウンロードしたファイルの sha1 チェックサムが一致しないために自動更新が正常に完了しないというバグ レポートが寄せられました。私たちは Amazon S3 でホストされています...

これは、私のコードに問題があるか、S3 に問題があります。

私は自分のコードを読み直して疑わしいものを探し、ダウンロードしたファイルのチェックサムをダウンロードしてチェックする簡単なスクリプトを書きました。今日は大丈夫そうです。

そんなお悩みはありませんでしたか?何らかの回避策はありますか?

追加情報: テストは日本で実行されました。

4

7 に答える 7

15

AmazonのS3は、アップロードまたはダウンロード中にエラーが発生することがあります。通常、「500:内部サーバー」エラーです。エラー率は通常かなり低いですが、サービスに大きな負荷がかかると急上昇する可能性があります。エラー率が0%になることはないため、最良の場合でも、ときどき要求が失敗します。

オートアップデータでHTTP応答コードをチェックしていますか?そうでない場合は、チェックサムを実行する前に、ダウンロードが成功したこと(HTTP 200)を確認する必要があります。一時的なエラーはクライアントが対処する必要のあるS3の避けられない「機能」であるため、理想的には、アプリは失敗したダウンロードを再試行する必要があります。

クライアントで500エラーが発生した場合、S3サーバーログにこれらの証拠が表示されない可能性があることに注意してください。これらのエラーは、リクエストがサービスのロギングコンポーネントに到達する前に発生するようです。

于 2008-09-07T05:54:44.080 に答える
4

数週間前のダウンタイム以外。私が聞いたことはありません。
クラウド全体にカスケードされたあいまいなサーバーエラーが原因でダウンしたことがあったことを考えると、彼らは良い仕事をしました. 彼らはそれについて非常にオープンで、発見するとすぐに解決しました.(週末に起こった、iirc)

そのため、彼らはかなり信頼できます。私のアドバイスは、コードを再確認することです。それでも問題が解決しない場合は、Amazon サポートに連絡してください。

于 2008-08-28T01:29:30.650 に答える
4

わかりました、これは今では少し古いですが、参考までに。EC2サーバーから直接s3に数ギガのデータのデータ移行を実行しています。約 10 分ごとに 500 件のエラーが発生しています。これは、PUT の約 1% のエラー率を表しています。そうです、S3 には 500 エラーの問題があります。

ただし、GET の方法についてはあまり行っていないため、コメントできません

于 2009-01-19T09:30:11.653 に答える
1

ダウンロード中に問題が発生したことは聞いたことがありません。それは変だ。アップロードすると、500の内部サーバーエラーメッセージが大量に表示されます。そのため、ユーザーが何か他のことをしているときにアップロードするデーモンがあります。

それはあなたのコードに何かがないようです、多分S3(またはS3->日本)に本当に何か問題があります。

EC2サーバーを起動して、そこからテストを実行して(トラフィックに費用がかからないので、好きなだけ使用してください)、エラーが発生するかどうかを確認できます。もしそうなら、あなたは運が悪く、S3はあなたのためではありません:)

幸運を!

于 2008-11-02T22:04:01.517 に答える
1

コードをクアッドチェックするのは良い考えだと思います。あり得ないと言っているわけではありませんが、これまでに見たことはないと思いますし、S3 をかなりよく使っています。ただし、例外/接続の切断を数回誤って管理し、期待していたものと一致しない部分になってしまいました。

彼らが実際に不正なデータを送信した場合、私はかなり驚かれることでしょうが、いつものように、何でも可能です。

于 2008-08-28T01:32:48.333 に答える
0

不正なデータを送信しただけでなく、ERROR403 を受け取ったと思います。もう一度やり直せば、たいてい大丈夫です。

そして私は同意します:Amazonが完全にダウンしていると話しているという報告をたくさん見ましたが、「アクセスが拒否されることがある」というエラーについて話している人は誰もいなかったので、私の側にエラーがあるのか​​もしれません. アマゾンでログを設定しました。

とにかくありがとうございました!私はあなたのアドバイスに従い、「他の男」を責めるのをやめます。

于 2008-08-28T02:17:22.207 に答える
0

前の LIST の一部であるがバケットには新しい GET オブジェクト、およびその他のその他のオブジェクトで、予期しない 404 エラーが発生することがあります。エラー (例: アクセス ID と秘密鍵の 403) はありますが、壊滅的なものはありません。

私のコードはサーバー側で実行されるため、堅牢なエラー処理とログ記録を行いました。これは、ネット上にあるサーバーが別のサーバーと通信している場合はいつでも行うのが賢明だと思います。:P

于 2008-08-28T06:55:26.453 に答える