0
0

More than 3 years have passed since last update.

sam cli の [SSL: CERTIFICATE_VERIFY_FAILED] エラー回避

Last updated at Posted at 2020-08-06

sam deploy時の[SSL: CERTIFICATE_VERIFY_FAILED]回避策(暫定)

samのバージョン 0.53.0

会社のイントラネットでsam deployコマンド実行すると以下のようなエラーが出て困ってました。
(Windows, Linux)

[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)

StackOverflowを見ても困っている人が沢山いそうなので記事にしてみます。

おそらくはGit Hubのこのissueが該当するんじゃないかと。
まだOpen issueなんですよね。
GitHub awslabs/aws-sam-cliSSL => proxy causing issues with deploy

awc cli configファイルのca_certにルート証明書を設定する。他
色々試しましたが、全然ダメです。

諦めて禁忌に手を出します(笑)

回避策

自己責任でお願いいたします。

仕方がないので、sam cliに内包しているPythonのコードにパッチを当てます。

  • パッチをあてるファイルの場所

例はWindows
sam cliのインストールフォルダ\Amazon\AWSSAMCLI\runtime\Lib\site-packages\botocore\httpsession.py

httpsession.py
    def __init__(self,
                 verify=True,
                 proxies=None,
                 timeout=None,
                 max_pool_connections=MAX_POOL_CONNECTIONS,
                 socket_options=None,
                 client_cert=None,
    ):
        self._verify = False #ここをFalseに書き換え
        self._proxy_config = ProxyConfiguration(proxies=proxies)
        self._pool_classes_by_scheme = {
            'http': botocore.awsrequest.AWSHTTPConnectionPool,

sam deploy時にSSLの検証エラーメッセージ(warning)は表示されるものの無事、sam deployできました。

冒頭のissueがcloseされるまで、これで対応しておこうと思います。

余談

開発PCはWindowsですが、AWS CLI関係は公式のDockerコンテナを使わせてもらってます。
コンテナをPullすればすぐに使えるメリットはもちろんのこと
上に書いたパッチコードもvolumeとしてマウントしているので、いつでも元に戻せて便利です。

Docker Hub. amazon/aws-sam-cli-build-image-nodejs12.x

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0