CodeBuildでのAWS CLI実行時に出るSNIMissingWarning対策


CodeBuildの公式イメージのうち、インストールされているPythonのバージョンが古いものを使うと、以下の警告が出力される。

SNIMissingWarning: An HTTPS request has been made, but the SNI (Server Name Indication) extension to TLS is not available on this platform. This may cause the server to present an incorrect TLS certificate, which can cause validation failures. You can upgrade to a newer version of Python to solve this. For more information, see https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
SNIMissingWarning

この警告はPythonのバージョンが2.7.9より小さい場合に出るが、インストールされている(AWS CLIで使われる)Pythonバージョンを調べてみると以下の通りであった。

image Python Version
aws/codebuild/standard:1.0 3.7.2
aws/codebuild/ubuntu-base:14.04 2.7.6
aws/codebuild/docker:17.09.0 2.7.6
aws/codebuild/docker:18.09.0 3.4.3

特に理由がなければ、Ubuntu 18.04ベースのStandardイメージを使うのが良さそうである。