背景
GWの10連休に入る直前に実行したところ、突然エラーメッセージが表示され正常に動作しなくなってしまいました。
どのようなエラーメッセージが表示された?
| |
実行環境
| |
どのように aws-cl を利用していたか?
- EC2 環境を構築するための簡易なシェルスクリプトを作成し、その中で何度か
awsコマンドを実行していました。 - シェルスクリプトは
Bashで動作するようにシバンを設定していました。#!/usr/bin/env bash
試してみたこと
aws コマンドのバージョンアップ
はじめは aws-cli のバージョンアップが原因かと思い、バージョンアップしてみたが、問題は解決しませんでした。
aws コマンドのオプション追加
以下のエントリを見つけました。
aws コマンドに --no-verify というオプションを付与すればエラーを無視できるということですが、、以下の理由により他の方法で対処することにしました。
awsコマンドを実行するたびにこのオプションを付与しないといけないのが煩わしい- 原因の根治となっていない
根治できないので他の作業をしていたところやはりハマる
根治できないので他の作業して時間のある時に調査しよう、と思ったのですがGithubからgit cloneしようとしたタイミングで関係ありそうなエラーでハマりました。
| |
HTTPSによる通信全般がエラーとなっているのでは?と思ったので以下のコマンドを試してみましたが、案の定同じ問題が発生しました。
curlwget
[解決]再起動したら治りました(T_T)
これをヒントに更に調査してみると以下のエントリを見つけました。
macOSではSierra(10.12)まではOpenSSLを採用していたのですが、High Sierra(10.13)より、LibreSSLを使用するようになったようです。
なるほど。 読み進めるともっと関連ありそうな記載がありました。
ウィルス対策ソフトとしてカスペルスキーを使ってるのですが、これの可能性もありそうです。 (WindowsのWSLでSSL/TLS通信を行おうとするとカスペルスキーのせいで同様のエラーが出るそうです。)
確かに心当たりがあります。 最近会社のセキュリティソフトが ESET から カスペルスキー に変わりました。 インストールし直しましたが、確かにそれが怪しい。
結局再起動したら治りました。
まとめ
ハマったら再起動しましょう。 エンジニアとしては、根本原因をつかめなかった場合、再起動して治ったとしても負けた気分で一杯ではあります。