Aws-cli: EC2 рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ S3 рдореЗрдВ рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдХрд╛рд░реЛрдВ рдкрд░ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 6 рдлрд╝рд░ре░ 2014  ┬╖  41рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: aws/aws-cli

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдмрд╣реБрдд рд╣реА рдЕрдЬреАрдм рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╣рдо рдЙрд╕реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ EC3 рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдмрдбрд╝реА (10M) рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╣рдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрдкрд▓реЛрдб рдФрд░ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рднреВрдорд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП aws s3 cp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рд╣рдо m1.small EC2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЕрдкрд▓реЛрдб рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЖрдХрд╛рд░ рдмрдврд╝рд╛рддреЗ рд╣реИрдВ (рд╣рдордиреЗ m1.large рдФрд░ m3.large ) рдЕрдкрд▓реЛрдб рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИред

рдпрд╣рд╛рдВ рд╣рдореЗрдВ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИ:

upload failed: <file> to <s3-address>
HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: <s2-key>?partNumber=2&uploadId=Hw6FZhXeH03ZzzCtxu2XcsspmpN2lx83GxWGzrJ96I81XlajjjNCxsSj0vs0BIbf_xJmzfdZwZY_UzUL3NCT57rpqEwIuLD1qryr7KKjlR6rA0YIW_ltopZQkoo32i0qTPUAlBc55WRAYxjwJ8Iw1A-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)

рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ - рд╣рдо рджрд╕рд┐рдпреЛрдВ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рдмрд╛рдж рдЗрд╕ рддрд░рд╣ рдХреЗ рдЕрдкрд▓реЛрдб рд╕рдлрд▓ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВред рд╣рдордиреЗ рд╕реИрдХрдбрд╝реЛрдВ рдкреНрд░рдпрд╛рд╕реЛрдВ рдореЗрдВ m1.small рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╕рдорд╕реНрдпрд╛ рдХрднреА рдирд╣реАрдВ рджреЗрдЦреА рд╣реИред

рд╣рдо 10M рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рднрд╛рдЧреЗред рд╣рдордиреЗ рдкрд╛рдпрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд▓рдЧрднрдЧ 1M рддрдХ рдкреНрд░рдЬрдирди рдпреЛрдЧреНрдп рд╣реИред рдЗрд╕рд╕реЗ рдмрд╣реБрдд рдХрдо рдФрд░ рдпрд╣ рд╣рд░ рдмрд╛рд░ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЬреЛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рднреА рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

@uldall рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ aws-cli рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - apt-get рдкрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ:
https://www.slashroot.in/how-to-install-and-configure-aws-cli-on-ubuntu-16-04

рд╕рднреА 41 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЖрдк CLI рдХреЗ рдХрд┐рд╕ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ? рдпрд╣ https://github.com/aws/aws-cli/pull/594 рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ, рдЬреЛ 1.2.11 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛

рджрд░рдЕрд╕рд▓, рдпрд╣ рдореБрджреНрджрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рд▓рд┐рдП рдерд╛, рдпрд╣ рдПрдХ рдЕрдкрд▓реЛрдб рдХреЗ рд▓рд┐рдП рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИред рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдФрд░ рдЧреМрд░ рдХрд░рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕ рдкрд░ --debug рд▓реЙрдЧ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд┐рд╡рд╛рд░рдг рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд▓рдЧрднрдЧ рдХрд┐рддрдиреА 10M рдлрд╝рд╛рдЗрд▓реЗрдВ рдЖрдк рдПрдХ рдмрд╛рд░ рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░ рд░рд╣реЗ рд╣реИрдВ?

рдореБрдЭреЗ s3 рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк (OSX mavericks) рд╕реЗред 424KB рдлрд╝рд╛рдЗрд▓ рд╡рд┐рдлрд▓,
рдФрд░ 344KB рдлрд╝рд╛рдЗрд▓ рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ред рдореИрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ:

awscli==1.2.13
boto==2.24.0
botocore==0.33.0

рддреНрд░реБрдЯрд┐ рдореВрд▓ рдкреЛрд╕реНрдЯ рдХреЗ рд╕рдорд╛рди рд╣реИ:

upload failed: ./test to s3://<bucket>/deploys/test HTTPSConnectionPool(host='bnch.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)

рдореИрдВрдиреЗ рдЗрд╕реЗ --debug рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдпрд╛, рдФрд░ рдпрд╣рд╛рдБ рд╡рд╣ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ рдЬреЛ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд░рд╣рддрд╛ рд╣реИ:

2014-02-06 21:20:17,138 - botocore.retryhandler - DEBUG - Retry needed, action of: 3.28890874908
2014-02-06 21:20:17,138 - botocore.endpoint - DEBUG - Response received to retry, sleeping for 3.28890874908 seconds
2014-02-06 21:20:20,428 - botocore.awsrequest - DEBUG - Rewinding stream: <open file u'<redacted>/test', mode 'rb' at 0x101dc6c90>
2014-02-06 21:20:20,428 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
2014-02-06 21:20:20,429 - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTPS connection (4): <bucket>.s3.amazonaws.com
2014-02-06 21:20:21,693 - botocore.hooks - DEBUG - Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x101e0d550>
2014-02-06 21:20:21,693 - botocore.retryhandler - DEBUG - retry needed, retryable exception caught: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
Traceback (most recent call last):
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 262, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 310, in __call__
    caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 219, in __call__
    return self._check_caught_exception(attempt_number, caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 352, in _check_caught_exception
    raise caught_exception
ConnectionError: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
2014-02-06 21:20:21,693 - botocore.retryhandler - DEBUG - Retry needed, action of: 2.598356941
2014-02-06 21:20:21,693 - botocore.endpoint - DEBUG - Response received to retry, sleeping for 2.598356941 seconds
2014-02-06 21:20:24,293 - botocore.awsrequest - DEBUG - Rewinding stream: <open file u'<redacted>/test', mode 'rb' at 0x101dc6c90>
2014-02-06 21:20:24,293 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
2014-02-06 21:20:24,294 - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTPS connection (5): <bucket>.s3.amazonaws.com
2014-02-06 21:20:25,888 - botocore.hooks - DEBUG - Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x101e0d550>
2014-02-06 21:20:25,888 - awscli.customizations.s3.tasks - DEBUG - <redacted>/test upload failure: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
2014-02-06 21:20:25,888 - botocore.operation - DEBUG - Operation:PutObject called with kwargs: {'body': <open file u'<redacted>/test', mode 'rb' at 0x101e61d20>, 'bucket': u'<bucket>', 'key': u'deploys/test'}
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Making request for Operation:PutObject (verify_ssl=True) with params: {'headers': {}, 'uri_params': {u'Bucket': u'<bucket>', u'Key': u'deploys/test'}, 'payload': <botocore.payload.Payload object at 0x101fc3ed0>}
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Building URI for rest endpoint.
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Templated URI path: /{Bucket}/{Key}
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Templated URI query_params:
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Rendered path: /<bucket>/deploys/test
2014-02-06 21:20:25,889 - botocore.endpoint - DEBUG - Rendered query_params:
2014-02-06 21:20:25,890 - botocore.hooks - DEBUG - Event before-auth.s3: calling handler <function fix_s3_host at 0x101b24410>
2014-02-06 21:20:25,890 - botocore.handlers - DEBUG - Checking for DNS compatible bucket for: https://s3-us-west-2.amazonaws.com/<bucket>/deploys/test
2014-02-06 21:20:25,890 - botocore.handlers - DEBUG - URI updated to: https://<bucket>.s3.amazonaws.com/deploys/test
2014-02-06 21:20:25,890 - botocore.auth - DEBUG - Calculating signature using hmacv1 auth.
2014-02-06 21:20:25,890 - botocore.auth - DEBUG - HTTP request method: PUT
2014-02-06 21:20:25,890 - botocore.auth - DEBUG - StringToSign:
PUT


Fri, 07 Feb 2014 05:20:25 GMT
/<bucket>/deploys/test
2014-02-06 21:20:25,891 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
2014-02-06 21:20:25,891 - botocore.vendored.requests.packages.urllib3.connectionpool - INFO - Starting new HTTPS connection (6): <bucket>.s3.amazonaws.com
2014-02-06 21:20:27,373 - botocore.hooks - DEBUG - Event needs-retry.s3.PutObject: calling handler <botocore.retryhandler.RetryHandler object at 0x101e0d550>
2014-02-06 21:20:27,374 - botocore.retryhandler - DEBUG - retry needed, retryable exception caught: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
Traceback (most recent call last):
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 262, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 310, in __call__
    caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 219, in __call__
    return self._check_caught_exception(attempt_number, caught_exception)
  File "<redacted>/lib/python2.7/site-packages/botocore/retryhandler.py", line 352, in _check_caught_exception
    raise caught_exception
ConnectionError: HTTPSConnectionPool(host='<bucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /deploys/test (Caused by <class 'socket.error'>: [Errno 32] Broken pipe)
2014-02-06 21:20:27,374 - botocore.retryhandler - DEBUG - Retry needed, action of: 0.627294998584
2014-02-06 21:20:27,374 - botocore.endpoint - DEBUG - Response received to retry, sleeping for 0.627294998584 seconds

рд╣рдо 1.2.13 рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд▓рдЧрднрдЧ 200 рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рд╕рдорд╕реНрдпрд╛ рд╣рдореЗрд╢рд╛ рдкрд╣рд▓реЗ рдПрдХ рдкрд░ рд╣реЛрддреА рд╣реИред

рдпрд╣рд╛рдВ рд╡рд┐рдлрд▓рддрд╛ рдХрд╛ рдбрд┐рдмрдЧ рд▓реЙрдЧ рд╣реИ рдЬреЛ рдЖрдкрдиреЗ рдкреВрдЫрд╛ рдерд╛: https://gist.github.com/benbc/8861033ред

рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдХреЛрдИ рдЕрдкрдбреЗрдЯ рд╣реИред рдореИрдВ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рдореБрджреНрджрд╛ рджреЗрдЦ рд░рд╣рд╛ рд╣реВрдВ рдЬреЛ рдПрдХ рдирдИ рдмрдирд╛рдИ рдЧрдИ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИред

рд╣рд╛рдВ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕реЗ рдЕрдм рд╕рдВрд╕реНрдХрд░рдг 1.3.0 рдореЗрдВ рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдореВрд▓ рдХрд╛рд░рдг https://github.com/aws/aws-cli/issues/544 рд╣реИред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдирд╡реАрдирддрдо CLI рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдПрдХ -debug рд▓реЙрдЧ рд╕рдВрд▓рдЧреНрди рдХрд░реЗрдВ рдФрд░ рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░ рджреВрдВрдЧрд╛ред

рдореИрдВ рдЕрднреА рднреА рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ s3 рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рди рддреЛ рдореЗрд░реЗ рд▓реИрдкрдЯреЙрдк рд╕реЗ, рди рд╣реА рдбреЗрдмрд┐рдпрди рд╕рд░реНрд╡рд░ рд╕реЗред рдлрд╛рдЗрд▓ рд▓рдЧрднрдЧ 100MB рдХреА рд╣реИред рдореИрдВ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ:

   aws-cli/1.3.1 Python/2.7.3 Linux/3.2.0-4-amd64
   aws-cli/1.3.1 Python/2.7.5 Darwin/13.0.0

рдпрд╣рд╛рдБ рдореБрдЭреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓рд╛ рдореБрджреНрджрд╛ рд╣реИ:

Max retries exceeded with url: <myfile>?partNumber=13&uploadId=bR1a29GdR1Qb0CW4fSDv9Vvi4PKJLF3eizWErF1SGvuMxUAh4vmHLmVQ7XjVSsFGmQi0N1U8KX5dR1uukEAMaAS8JxoQA89nJN2FFmQu2MRzIlrIzeMr4re5Zwvn3Hvv.n9IKm.OXOqy4NN87yohIA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)

рдпрд╣рд╛рдБ рдбрд┐рдмрдЧ рд▓реЙрдЧ рд╣реИ:

Wed, 19 Mar 2014 03:28:03 GMT
/<mybucket>/<myfile>?partNumber=9&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA--
2014-03-19 11:28:03,343 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
partNumber=8&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 262, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 310, in __call__
    caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 219, in __call__
    return self._check_caught_exception(attempt_number, caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 352, in _check_caught_exception
    raise caught_exception
ConnectionError: HTTPSConnectionPool(host='<mybucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /<myfile>?partNumber=8&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
2014-03-19 11:28:05,374 - botocore.retryhandler - DEBUG - Retry needed, action of: 0.41042383996
2014-03-19 11:28:05,374 - botocore.endpoint - DEBUG - Response received to retry, sleeping for 0.41042383996 seconds
2014-03-19 11:28:05,579 - botocore.hooks - DEBUG - Event needs-retry.s3.UploadPart: calling handler <botocore.retryhandler.RetryHandler object at 0x308bfd0>
2014-03-19 11:28:05,580 - botocore.retryhandler - DEBUG - retry needed, retryable exception caught: HTTPSConnectionPool(host=<mybucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /<myfile>?partNumber=1&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 262, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 310, in __call__
    caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 219, in __call__
    return self._check_caught_exception(attempt_number, caught_exception)
  File "/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py", line 352, in _check_caught_exception
    raise caught_exception
ConnectionError: HTTPSConnectionPool(host='<mybucket>.s3.amazonaws.com', port=443): Max retries exceeded with url: /<myfile>?partNumber=1&uploadId=psq_ysXJSW9eplwLTW97ueGw1BMzG2qEXVoP9XiQsm06RP0_N_J_qPS1vZf4OOj0W33Bwdey2w4KNsbEltH_GIWO3jOQbcP64MEfTMd.OSUVsmZKsMIWCxZoqdbmspb1bD0YzAbG92F9R8pQQrXdkA-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)

рдлрд┐рд░ рднреА рдПрдХ рдирдИ рдмрд╛рд▓реНрдЯреА рдкрд░ aws cp рдФрд░ aws sync рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдПред рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реБрдИ, рдмрдбрд╝реА рдлрд╛рдЗрд▓реЗрдВ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдпрд╣рд╛рдБ рдФрд░ # 544 рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ

aws --version
aws-cli/1.3.3 Python/2.7.5+ Linux/3.8.0-35-generic
>>> print botocore.__version__
>>> 0.37.0
upload failed: ./file.tar.gz to s3://mybucket/file.tar.gz
HTTPSConnectionPool(host='mybucket.s3.amazonaws.com', port=443): Max retries exceeded with url: /file.tar.gz?partNumber=... (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
curl https://mybucket.s3.amazonaws.com
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>TemporaryRedirect</Code><Message>Please re-send this request to the specified temporary endpoint. Continue to use the original request endpoint for future requests.</Message><RequestId>...</RequestId><Bucket>mybucket</Bucket><HostId>...</HostId><Endpoint>mybucket.s3-us-west-1.amazonaws.com</Endpoint></Error>

рдЬреИрд╕рд╛ рдХрд┐ рджреВрд╕рд░реЛрдВ рдиреЗ рдмрддрд╛рдпрд╛ рд╣реИ, рдпрд╣ рдЕрдм TemporaryRedirect рдХреЛрдб рдХреНрд▓рд┐рдпрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдареАрдХ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ -

$ curl https://mybucket.s3.amazonaws.com
<?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>...</RequestId><HostId>...</HostId></Error>%

рдореИрдВ рдЕрднреА рднреА рдПрдХ рдирдИ рдЖрдпрд░рд▓реИрдВрдб рдмрд╛рд▓реНрдЯреА рдкрд░ рд╕рдВрд╕реНрдХрд░рдг 1.3.4 рдХреЗ рд╕рд╛рде рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

ubuntu@ip-172-31-40-164:~$ aws --version
aws-cli/1.3.4 Python/2.7.5+ Linux/3.11.0-15-generic

рдбрд┐рдмрдЧ рд▓реЙрдЧ: https://gist.github.com/anonymous/9814978

'Aws s3 рд╕рд┐рдВрдХ' рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдореЗрд░реЗ рд▓рд┐рдП рд╕рдорд╛рди рдмрдЧ
$ aws --version
aws-cli / 1.3.4 рдкрд╛рдпрдерди / 2.7.3 рд▓рд┐рдирдХреНрд╕ / 3.2.0-57-рдЖрднрд╛рд╕реА

рдореЗрд░реА рдмрд╛рд▓реНрдЯреА рдЗрд░рд▓реИрдВрдб рдореЗрдВ рд╣реИред

рдбрд┐рдмрдЧ рд▓реЙрдЧ: https://paste.buntux.org/?c511ef0a27305636#e1/B5RiyBuZq60LHmLNpZt59wz2zDyY2KVVjjCM + mO7E =

рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдореИрдВрдиреЗ "рдпреВрдПрд╕ рд╕реНрдЯреИрдВрдбрд░реНрдб" рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдмрд╛рд▓реНрдЯреА рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ -> рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ
EDIT2: рдбреАрдмрдЧ рд▓реЙрдЧ рдХреЗ рд▓рд┐рдП рдирдП рдпреВрдЖрд░рдПрд▓ https://paste.jeekajoo.eu/?c511ef0a27305636#e1/B5RiyBuZq60LHmLNpZt59wz2zDyY2KVdjCM + mO7E =

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЦреЛрд▓ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рджреВрд╕рд░реЛрдВ рдиреЗ рдХреНрдпрд╛ рдХрд╣рд╛ рд╣реИред рдпрд╣ рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдПрдХ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдПрдХ рдирдИ рдмрдирд╛рдИ рдЧрдИ рдмрд╛рд▓реНрдЯреА рдореЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдЬреЛ рдХреНрд▓рд╛рд╕рд┐рдХ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИред

рдореИрдВ рдЬреЛ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рд╕реАрдПрд▓рдЖрдИ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдкреБрди: рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ рдФрд░ 307 рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣рд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ CLI _entire_ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, S3 рд╢рд░реАрд░ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ 307 рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рддреБрд░рдВрдд рднреЗрдЬ рджреЗрдЧрд╛ред рдЖрдЦрд┐рд░рдХрд╛рд░ рдпрд╣ рдХрдиреЗрдХреНрд╢рди рдХреЛ рдмрдВрдж рдХрд░ рджреЗрдЧрд╛, рдФрд░ рдпрджрд┐ рд╣рдо рдЕрднреА рднреА рд╢рд░реАрд░ рдХреЛ рд╕реНрдЯреНрд░реАрдо рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реИрдВ, рддреЛ рд╣рдо рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд╣рдореЗрдВ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╡рд┐рднрд┐рдиреНрди рдбрд┐рдмрдЧ рд▓реЙрдЧ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХрд╛ рдЙрдореНрдореАрдж рдХреЗ рдореБрддрд╛рдмрд┐рдХ 100 рдЬрд╛рд░реА рд╣реЗрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, HTTP рдХреНрд▓рд╛рдЗрдВрдЯ рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ (рдЕрдиреБрд░реЛрдз) рдЗрд╕рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдХреБрдЫ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред

рдХреЛрдИ рдЦрдмрд░?

рдореЗрд░реЗ рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдмреЛрдЯреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рддрдм рднреА AWS CLI рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред AWS рд╕реАрдПрд▓рдЖрдИ рдЕрд▓рдЧ рдХреНрдпрд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ?

рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдЕрдиреБрд░реЛрдз рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк (рд╣рдорд╛рд░реЗ рдЕрдкрдиреЗ HTTP рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдЬреЛ рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ рдХрд┐ 100 рдЬрд╛рд░реА рд░рд╣реЗрдЧрд╛) рдПрд╕ 3 рдХреЛрдб рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдорд╛рдзрд╛рди рд╣реИред

рдореИрдВрдиреЗ рднреА рдпрд╣реА рдорд╛рд░рд╛ рд╣реИред рдореЗрд░реА рдлрд╝рд╛рдЗрд▓ рдмрдбрд╝реА рдирд╣реАрдВ рд╣реИ, рдмрд╕ рдХреБрдЫ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд╣реИред

рдпрд╣ рдПрдХ 323KB рд╕реАрдПрд╕рдПрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рде рд╣реЛ рд░рд╣реА рд╣реИред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛, рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред

S3 рдореЗрдВ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ (3GB) рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реЛ рд░рд╣реА рд╣реИред рдЫреЛрдЯреА рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдареАрдХ рд╣реИред

upload failed: ../../tmp/anonymousAction.log.2014-05-12.tokyo1b-http-4-1.20140513T003001 to s3://between-data-analysis-temp/anonymousAction.log.2014-05-12.tokyo1b-http-4-1.20140513T003001
HTTPSConnectionPool(host='between-data-analysis-temp.s3.amazonaws.com', port=443): Max retries exceeded with url: /anonymousAction.log.2014-05-12.tokyo1b-http-4-1.20140513T003001?partNumber=6&uploadId=Wdj8309FlXToB8mXw6JHnz8Xf8f4ADIC2SiaM3a6foSDJXH9t7xLk2uFK_EgTtjMn.OyCWdTJjP9al3rgISEltpMwj9j77Irfjc5wqssG2zgnUKhXM2gEUU5QfAuH0kuJNg8deDipYvwBkE0r7k3Qw-- (Caused by <class 'socket.error'>: [Errno 104] Connection reset by peer)
... 

рдореЗрд░реЗ aws рд╕рдВрд╕реНрдХрд░рдг;
aws-cli / 1.3.13 рдкрд╛рдпрдерди / 2.7.3 рд▓рд┐рдирдХреНрд╕ / 3.2.0-61-рдЖрднрд╛рд╕реА

рдореИрдВ рдПрдХ рд╕рдорд╛рди рдореБрджреНрджреЗ рдХреЛ рдЖрдВрддрд░рд╛рдпрд┐рдХ рд░реВрдк рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдкреНрд░рддреНрдпреЗрдХ 20 рдореЗрдВ 1 рдлрд╝рд╛рдЗрд▓, рдлрд╝рд╛рдЗрд▓реЗрдВ рд▓рдЧрднрдЧ 500 рдПрдордмреА рд╣реИрдВ) рд╕реАрдзреЗ рдЕрдиреБрд░реЛрдз рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рд╣рдо рдЕрдкрдиреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрдВрдбрд╛рд░рдг рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ EC2 рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдЕрдкрд▓реЛрдб рд╣реЛ рд░рд╣рд╛ рд╣реИред

  File "/data/opi/upload.py", line 174, in upload
    response = requests.put(url, data=data, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /api.py", line 99, in put
    return request('put', url, data=data, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /api.py", line 44, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /sessions.py", line 382, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /sessions.py", line 485, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/requests-2.1.0-py2.7.egg/requests /adapters.py", line 372, in send
    raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='our-bucket.s3.amazonaws.com', port=443): Max retries exceeded with url: /folder/subfolder/filename?Signature=XXX&Expires=1401262800&AWSAccessKeyId=YYY -amz-acl=private (Caused by <class 'socket.error'>: [Errno 104] Connection reset  by peer)

рдмрд╕ рдПрдХ рдЕрджреНрдпрддрди, рдЕрднреА рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдм рддрдХ рдХрд╛ рд╕рдмрд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░реНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг HTTPConnection рдЙрдк-рд╡рд░реНрдЧ рдХрд░рдирд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдЙрдкрд╡рд░реНрдЧ рдореЗрдВ 100-рдЬрд╛рд░реА рддрд░реНрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рд╣реИред рдлрд┐рд░ рд╣рдо рдЗрд╕реЗ urllib3 рдХреЗ рдХрдиреЗрдХреНрд╢рдирдкреНрд▓реВрдореНрд╕ рдореЗрдВ рдкреНрд▓рдо рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ (рдЬрд┐рд╕реЗ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ http рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ) рджреНрд╡рд╛рд░рд╛ рдЙрдард╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕рд▓рд┐рдП рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдЧреА рддреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВрдЧреЗред

@jamesls рдЬреИрд╕реЗ рд╣реА рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╢рд╛рдЦрд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдБрдЧрд╛ :)

рдирдорд╕реНрддреЗ,

рдЪреВрдБрдХрд┐ рдЗрд╕рдХреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реВрддреНрд░ рдореЗрдВ рдирд╣реАрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдк рдЕрднреА рднреА - aregion param рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ рджреВрд╕рд░реЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдлрд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "aws" рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  • рдпрд╣ рдПрдХ рд░рдВрдЧ рд╣реИ
    aws s3 cpред /really_big_file s3: // MY-BUCKET /
  • рдпрд╣ рдПрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
    aws --region рдпреВрд░реЛрдк-рдкрд╢реНрдЪрд┐рдо -1 s3 cpред /really_big_file s3: // MY-BUCKET /

@ inedit00 рдзрдиреНрдпрд╡рд╛рдж! рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдерд╛ред

рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ рдпрд╣рд╛рдБ рд╣реИ: https://github.com/boto/botocore/pull/303

рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рдкрд░ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдореИрдВ рдпрд╣ рднреА рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ 100-рдЬрд╛рд░реА рд╣реИрдбрд░ рдХреЛ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЙрдореНрдореАрдж рд╣реИред

рдпрд╣ рддреНрд░реБрдЯрд┐ рд╣рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рдПрд╕ 3 (рдЖрдпрд░рд▓реИрдВрдб) рд╕реЗ рдПрдХ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ (~ 3 рдЬреАрдмреА) рдХреА рдирдХрд▓ рдХрд░рддреЗ рд╕рдордп рднреА рдорд┐рд▓ рд░рд╣реА рд╣реИред Aws-cli / 1.3.17 рдкрд╛рдпрдерди / 2.6.6 рд▓рд┐рдирдХреНрд╕ / 2.6.32-71.29.1.el6.x86_64 рдФрд░ botocore 0.51.0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред

рдмрд╕ рдПрдХ рддреНрд╡рд░рд┐рдд рдЕрдкрдбреЗрдЯ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдлрд┐рдХреНрд╕ рдмреЛрдЯреЛ / рдмреЛрдЯреЛрдХреЛрд░ # 303 рдореЗрдВ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдордиреЗ рдПрдХ рд░рд┐рдЧреНрд░реЗрд╢рди рдкрдХрдбрд╝рд╛ рдЬреЛ рдХреЗрд╡рд▓ python2.6 рдореЗрдВ рдерд╛ рдЗрд╕рд▓рд┐рдП рд╣рдореЗрдВ PR рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЕрднреА рднреА рд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреИрдВрдерд┐рд▓рд┐рдм рдореЗрдВ python2.6 рд╕реЗ python2.6 рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдХрд╛рд░рдг рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рд╣реЛрдЧрд╛ред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рдЗрд╕реЗ рдЕрдкрдбреЗрдЯ рдХрд░реВрдВрдЧрд╛ред

рдореИрдВ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд┐рдЫрд▓реЗ рдкреАрдЖрд░ рдореЗрдВ python2.6 рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ред рд╕рднреА рдкрд░реАрдХреНрд╖рдг рдЗрд╕ рдмрджрд▓рд╛рд╡ рдХреЗ рд╕рд╛рде рдЧреБрдЬрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдирдИ рдмрдирд╛рдИ рдЧрдИ рдЧреИрд░-рдорд╛рдирдХ рдПрд╕ 3 рдмрд╛рд▓реНрдЯрд┐рдпреЛрдВ рдореЗрдВ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдореБрджреНрджреЗ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдк рдЕрднреА рднреА рд╕рдорд╕реНрдпрд╛рдПрдБ рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЬрдм рд╣рдордиреЗ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рддреЛ рдЖрдкрдХреЗ рдзреИрд░реНрдп рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдлрд┐рдХреНрд╕ @jamesls рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреМрди рд╕реА рдЕрдВрд╕рдХрд▓реА рд░рд┐рд▓реАрдЬрд╝ рд╣реИ / рдХреНрдпрд╛ рдпрд╣ рдлрд┐рдХреНрд╕ рдЕрдВрджрд░ рд╣реЛрдЧреА?

рдпрд╣ рд╕реАрдПрд▓рдЖрдИ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг (v1.3.18) рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЛ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕реЗ рдбрд┐рдмрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдбрд┐рдмрдЧ рд▓реЙрдЧ рдХреЛ рдЙрдореНрдореАрдж рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд 100 рдЬрд╛рд░реА рд╣реЗрдбрд░ рджреЗрдЦреЗрдВрдЧреЗ:

2014-06-23 10:40:32,495 - Thread-4 - botocore.hooks - DEBUG - Event before-call.s3.UploadPart: calling handler <function add_expect_header at 0x10d3469b0>
2014-06-23 10:40:32,495 - Thread-4 - botocore.handlers - DEBUG - Adding expect 100 continue header to request.
2014-06-23 10:40:32,500 - Thread-4 - botocore.endpoint - DEBUG - Sending http request: <PreparedRequest [PUT]>
2014-06-23 10:40:32,502 - Thread-4 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response.
2014-06-23 10:40:32,506 - Thread-4 - botocore.awsrequest - DEBUG - Received a non 100 Continue response from the server, NOT sending request body.
2014-06-23 10:40:32,512 - Thread-4 - botocore.awsrequest - DEBUG - Redirect received, rewinding stream: <awscli.customizations.s3.utils.ReadFileChunk object at 0x10d7f1450>
2014-06-23 10:40:32,512 - Thread-4 - botocore.awsrequest - DEBUG - Rewinding stream: <awscli.customizations.s3.utils.ReadFileChunk object at 0x10d7f1450>
2014-06-23 10:40:32,513 - Thread-4 - botocore.awsrequest - DEBUG - Waiting for 100 Continue response.
2014-06-23 10:40:32,533 - Thread-4 - botocore.awsrequest - DEBUG - 100 Continue response seen, now sending request body.
...
2014-06-23 10:40:34,530 - Thread-4 - awscli.errorhandler - DEBUG - HTTP Response Code: 200

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдЕрднреА рднреА # 823 рдкреНрд░рддрд┐ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдЬреЛ рдПрдХ рдЕрд▓рдЧ рд╕рдорд╕реНрдпрд╛ рдХреА рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЗрд░рдиреЛ рдЕрд▓рдЧ рд╣реИред

рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд╣реИред

upload failed: images1/1103/142_b2d35e8005321b582ce891ca835df65d_75.jpg to s3://opgirl-v2/images/images1/1103/142_b2d35e8005321b582ce891ca835df65d_75.jpg A client error (RequestTimeout) occurred when calling the PutObject operation: Your socket connection to the server was not read from or written to within the timeout period. Idle connections will be closed.
Cleaning up. Please wait...
upload failed: images1/1103/142_d0754d4c8708dc2d7c68cc27da2ad2fa_100.jpg to s3://opgirl-v2/images/images1/1103/142_d0754d4c8708dc2d7c68cc27da2ad2fa_100.jpg The write operation timed out
upload failed: images1/1103/1430_0a6a493f08b693789cba32fbbc6ade83_75.jpg to s3://opgirl-v2/images/images1/1103/1430_0a6a493f08b693789cba32fbbc6ade83_75.jpg ('Connection aborted.', error(104, 'Connection reset by peer'))
# aws --version
aws-cli/1.9.15 Python/2.6.6 Linux/3.2.0-0.bpo.1-amd64 botocore/1.3.15

AWS s3 рдХреА рдкреНрд░рджрд░реНрд╢рди рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдБрдЪрдирд╛?
https://stackoverflow.com/questions/23397460/error-handling-boto-error-104-connection-reset-by-peer

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдпрд╣ рдзрд╛рдЧрд╛ рдмрд▓реНрдХрд┐ рдкреБрд░рд╛рдирд╛ рд╣реИред рдХреНрдпрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдХреА рдЕрднреА рднреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛ рд░рд╣реА рд╣реИ?

('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

# aws --version aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-1055-aws botocore/1.4.70

рдЙрд╕реА рдореБрджреНрджреЗ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд┐рдпрд╛

`` ``

aws s3 cp /opt /tradetracker/dataStream/tracker-hits-2018-04-30_11:00:00.log s3: // tt-feeder-dumps
рдЕрдкрд▓реЛрдб рд╡рд┐рдлрд▓: ../dataStream/tracker-hits-2018-04-30_11:00:00.log to s3: // tt-feeder-dumps / tracker-hits-2018-04-30_11: 00: 00.log ( 'рдХрдиреЗрдХреНрд╢рди рдирд┐рд░рд╕реНрддред', ConnectionResetError (104, 'рдкреАрдпрд░ рджреНрд╡рд╛рд░рд╛ рдХрдиреЗрдХреНрд╢рди рд░реАрд╕реЗрдЯ'))

ls -hal /opt/tradetracker/dataStream/tracker-hits-2018-04-30_11:00:00 .log
-rw-rw-rw- 1 www-data www-data 13M Apr 30 13:56 /opt /tradetracker/dataStream/tracker-hits-2018-04-30_11:00.log

рдЕрд░реНрд╕ - рд╡рд┐рд╕рд░реНрдЬрди
aws-cli / 1.11.13 рдкрд╛рдпрдерди / 3.5.2 рд▓рд┐рдирдХреНрд╕ / 4.4.0-1049-aws botocore / 1.4.70
`` ``

рдбрд┐рдЯреНрдЯреЛред +1
рдлрд╝рд╛рдЗрд▓реЗрдВ рдЖрдХрд╛рд░: 1G
aws-cli/1.15.12 Python/3.4.3 Linux/4.4.0-71-generic botocore/1.10.12


рдореЗрд░реЗ рд╕реЗрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реЗрдЯрд┐рдВрдЧ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
s3 =
max_concurrent_requests = 5
max_bandwidth = 210KB / s

рдЬрд┐рд╕ рдкреНрд░реЛрдлрд╛рдЗрд▓ рдХрд╛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЙрд╕рдХреЗ рд▓рд┐рдП .aws / config рдлрд╛рдЗрд▓ред рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: https://docs.aws.amazon.com/cli/latest/topic/s3-config/#

рдореИрдВ рдПрдХ рд╣реА рдореБрджреНрджрд╛ рд░рд╣рд╛ рд╣реВрдБ, рдЬрдм рдореИрдВрдиреЗ b33 рдЕрдЬрдЧрд░ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ s3 рдмрд╛рд▓реНрдЯреА рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред

рдпрд╣ рд▓рдЧрднрдЧ 4 рджрд┐рди рдкрд╣рд▓реЗ рддрдХ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рдерд╛, рдФрд░ рддрдм рд╕реЗ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдЖ рд░рд╣реА рдереАред

рдореИрдВ рд╡рд╣реА рдореБрджреНрджрд╛ рдмрдирд╛ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдХрд┐ рдпреВрд░реЛрдк-рдкрд╢реНрдЪрд┐рдо -1 рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдПрдХ рдирд╡рдирд┐рд░реНрдорд┐рдд рдмрд╛рд▓реНрдЯреА рдХреЗ рд╕рд╛рде рд╣реИред

рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рдХрдорд╛рдВрдб:
aws s3 sync . s3://<bucket_name> --profile test --region eu-west-1

$ aws --version
aws-cli/1.11.13 Python/3.5.2 Linux/4.13.0-45-generic botocore/1.4.70

рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореБрдЭреЗ рдЬрд┐рд╕ рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдЬреБрдбрд╝реА рд╣реИ, рдЙрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ? рдЬрдм рдореИрдВ 4 рдЬреА рдбреЛрдВрдЧрд▓ рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛, рддреЛ рдЕрдкрд▓реЛрдб рд╡рд┐рдлрд▓ рд╣реЛ рд░рд╣рд╛ рдерд╛, рдЬрдмрдХрд┐ рдЬрдм рдореИрдВ рдЕрдкрдиреЗ рд╡рд╛рдИрдлрд╛рдИ рд░рд╛рдЙрдЯрд░ рд╕реЗ рдЬреБрдбрд╝рд╛ рдерд╛, рддреЛ рд╕рдм рдХреБрдЫ рдареАрдХ рдерд╛ред

рд▓реЗрдХрд┐рди, 4 рдЬреА рдбреЛрдВрдЧрд▓ рдореБрдЭреЗ 10Mbps рд╕реНрдкреАрдб рджреЗ рд░рд╣рд╛ рдерд╛ред рддреЛ, рдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛рдВ рд╣реИ

@uldall рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдореЗрд░реЗ рд▓рд┐рдП рдпрд╣ aws-cli рдХрд╛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - apt-get рдкрд░ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдкреБрд░рд╛рдирд╛ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдкрд╛рдЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рдирд┐рд░реНрджреЗрд╢ рд╣реИрдВ:
https://www.slashroot.in/how-to-install-and-configure-aws-cli-on-ubuntu-16-04

Ubuntu 18 рдкрд░
рдЕрдЬрдЧрд░ 3 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
sudo apt-get install python3-pip
pip3 рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ awscli --upgrad --user
aws s3 рд╕рд┐рдВрдХ ред/ s3: // mybucket01

https://linuxhint.com/install_aws_cli_ubuntu/
https://linuxhint.com/install_aws_cli_ubuntu/

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

pawelkilian picture pawelkilian  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

levequej picture levequej  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

DrStrangepork picture DrStrangepork  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

alexejk picture alexejk  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

KimberleySDU picture KimberleySDU  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ