Jenkinsリモートホストシェル実行におけるAWS-S3への同期タイムアウト
表題の通りで、Jenkinsからのリモートホストシェル実行時に
AWS CLIを利用してS3との同期を行うスクリプトをRUNしております。
スクリプト単体では問題なくAWSとの同期動作確認できているのですが
Jenkinsを経由(Hookトリガ)すると以下のようにタイムアウトが発生いたします。
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)'))
また、リモートホスト上のシェル起動でなく、ローカルホスト上でのシェル起動でも同様の事象でした。
追記:
- 問題のスクリプトを質問に追記できますか?
- クレデンシャルはどのように指定していますか?
# 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}
- スクリプト単体で動かした場合と、Jenkinsのシェル起動した場合で、環境の違いはなんでしょうか?
環境そのものの違いはありません。フックによるリモートシェル起動のトリガか、直接リモート先のスクリプトファイルを叩いているだけです。Jenkinsで同じスクリプトファイルをキックしています。
ご教授のほどよろしくお願い致します。