

表題の通りで、Jenkinsからのリモートホストシェル実行時に  
AWS CLIを利用してS3との同期を行うスクリプトをRUNしております。

スクリプト単体では問題なくAWSとの同期動作確認できているのですが  
Jenkinsを経由（Hookトリガ）すると以下のようにタイムアウトが発生いたします。

[code]

    fatal error: HTTPSConnectionPool(host='xxx.amazonaws.com', port=443): Max retries exceeded with url: /xxx?prefix=&encoding-type=url (Caused by ConnectTimeoutError(<botocore.awsrequest.AWSHTTPSConnection object at 0x1686410>, 'Connection to xxx.amazonaws.com timed out. (connect timeout=60)'))
    
[/code]

また、リモートホスト上のシェル起動でなく、ローカルホスト上でのシェル起動でも同様の事象でした。

追記：

  1. 問題のスクリプトを質問に追記できますか？ 
  2. クレデンシャルはどのように指定していますか？

[code]

    #　credentials パスを設定
    export AWS_SHARED_CREDENTIALS_FILE=${cwd}/credentials/credentials
    # config パスを設定
    export AWS_CONFIG_FILE=${cwd}/credentials/config
    # sync 実行
    aws s3 sync --profile ${aws_stage} --delete --exact-timestamps ${sync_src} ${sync_dest}
    
[/code]

  3. スクリプト単体で動かした場合と、Jenkinsのシェル起動した場合で、環境の違いはなんでしょうか？  
環境そのものの違いはありません。フックによるリモートシェル起動のトリガか、直接リモート先のスクリプトファイルを叩いているだけです。Jenkinsで同じスクリプトファイルをキックしています。

ご教授のほどよろしくお願い致します。


CC BY-SA 4.0
2018-08-16T02:25:37.950
47550
2019-09-06T04:23:25.787
2018-08-16T10:27:26.417
3054
29746
question
jenkins aws-cli
Jenkinsリモートホストシェル実行におけるAWS-S3への同期タイムアウト


自己解決できました。色々とご助言下さり @take88 さんありがとうございました。

原因はリモートアクセス（SSH）経由により、環境変数の反映がされないため、プロキシによるアクセス不可でした。

* * *

この投稿は [@Nazonokusa
さんのコメント](https://ja.stackoverflow.com/questions/47550/jenkins%e3%83%aa%e3%83%a2%e3%83%bc%e3%83%88%e3%83%9b%e3%82%b9%e3%83%88%e3%82%b7%e3%82%a7%e3%83%ab%e5%ae%9f%e8%a1%8c%e3%81%ab%e3%81%8a%e3%81%91%e3%82%8baws-s3%e3%81%b8%e3%81%ae%e5%90%8c%e6%9c%9f%e3%82%bf%e3%82%a4%e3%83%a0%e3%82%a2%e3%82%a6%e3%83%88#comment48895_47550)
を元にコミュニティwikiとして投稿しました。


CC BY-SA 4.0
2019-09-06T04:23:25.787
57895
2019-09-06T04:23:25.787
3060
47550
answer