centos6でLetsEncryptの自動更新


問題

古いOSでLetsEncryptと同居はいろいろ問題に出会う。
pyhtonバージョンを最新にしないといけない。そこにヒロー登場だ。 pyenv! pythonではvirtualenvを使おう

下記の定期更新(cron)でいつからかエラーになっていた。

/etc/letsencrypt/renewal/subdomain.domain.com.sh

省略
ons/2.7.1/lib/python2.7/site-packages/botocore/session.py", line 335, in get_scoped_config\n    raise ProfileNotFound(profil[profile aws8-r53]
e=profile_name)\nbotocore.exceptions.ProfileNotFound: The config profile (aws4-r53) could not be found\n'
省略

pyenv global 3.7.4 に設定され、python version はちゃんと3.7に表示されるのに
awsコマンドがpython2.7で実行される

解決1

awscliをpyenv globalを切り替え後、改めてインストールする

pyenvは参考まで

pyenv global system
pip uninstall awscli
pyenv global 3.7.4
pyenv version
pip install awscli

mv /usr/bin/aws /usr/bin/aws_bak
ln -s /root/.pyenv/shims/aws /usr/bin/aws

解決2

The config profile (aws4-r53) could not be found

awscliがバージョンアップでprofile内容の仕様が変わったよう。これ分かるのに半日つぶれた・・・

[aws4 aws4-r53] -> [aws4-r53]

cat /root/.aws/credentials 

[aws4 aws4-r53] -> [aws4-r53]
aws_access_key_id = XXXXXXXX
aws_secret_access_key = XXXXXXXXXXXXXXXXXXXXX
region = ap-northeast-1

参考