私はS3で動作するのにboto3を使用しています。私のアプリケーションがネットワークの問題のためにS3に達することができないなら、最終的にタイムアウトするまで接続はハングします。私はより低い接続タイムアウトを設定したいと思います。私は、タイムアウト設定できますbotocoreためthis PRに出くわした:これはのconnecttimeoutをスローS3 boto3を使用しているときの接続タイムアウト
$ sudo iptables -A OUTPUT -p tcp --dport 443 -j DROP
from botocore.client import Config
import boto3
config = Config(connect_timeout=5, read_timeout=5)
s3 = boto3.client('s3', config=config)
s3.head_bucket(Bucket='my-s3-bucket')
を、それはまだ出てエラーに時間がかかりすぎる:
ConnectTimeout: HTTPSConnectionPool(host='my-s3-bucket.s3.amazonaws.com', port=443): Max retries exceeded with url:/(Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x2ad5dd0>, 'Connection to my-s3-bucket.s3.amazonaws.com timed out. (connect timeout=5)'))
「doesnの接続と読みの両方のタイムアウトを微調整します接続がどれくらい速く応答するかに影響します。
「iptables」コマンドは何をしていますか?誰でもサーバーのポート443に接続できなくなります。パケットを破棄し、HTTPS接続タイムアウトを行います。それはなぜそこにあるのですか? – kichik
@ kichik、私はそれがOPが壊れたネットワークをどのようにシミュレートしているかと考えています。 – llude