我在运行 Ansible 剧本的地方有这个设置,它运行一个 ML 脚本,执行大约需要 3-4 小时,一些 AWS 任务在 ML 脚本之后运行。
因此,我正在运行一个后台updatecredentials.py
python 文件,该文件更新/home/ubuntu/.aws/config
我的 AWS 从中获取凭据的文件和文件。该文件每45分钟运行一次。
更新如下:
对于第一个实例的运行,stat
配置文件如下:
File: ‘/home/ubuntu/.aws/config’
Size: 480 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 275461 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2017-08-09 09:53:20.600856000 +0000
Modify: 2017-08-09 09:53:18.804856000 +0000
Change: 2017-08-09 09:53:18.804856000 +0000
对于第二种情况,它是:
File: ‘/home/ubuntu/.aws/config’
Size: 480 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 275461 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2017-08-09 12:10:29.072856000 +0000
Modify: 2017-08-09 10:38:18.892856000 +0000
Change: 2017-08-09 10:38:18.892856000 +0000
所以,它nohup
正在工作。但是,我在.err
nohup 代码文件中得到错误:
botocore.exceptions.ClientError: An error occurred (ExpiredToken) when calling the AssumeRole operation: The security token included in the request is expired
当我stat
对creds.err
文件进行处理时,它显示:
File: ‘creds.err’
Size: 594 Blocks: 8 IO Block: 4096 regular file
Device: ca01h/51713d Inode: 275463 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1000/ ubuntu) Gid: ( 1000/ ubuntu)
Access: 2017-08-09 12:04:49.952856000 +0000
Modify: 2017-08-09 11:23:18.940856000 +0000
Change: 2017-08-09 11:23:18.940856000 +0000
Birth: -
这是否意味着我的 STS[/temporary] 凭据在 45 分钟内过期?