ローカルコンピューターのUbuntu 16.04ベースのDockerコンテナーでは、awscli
のインストールされたバージョンを確認できます。
root@c4383af6f9d5:/# aws --version
aws-cli/1.11.13 Python/3.5.2 Linux/4.8.0-58-generic botocore/1.4.70
このDockerイメージでは、すべてが正常に機能し、aws
コマンドラインツールが期待どおりに機能します。
それとは別に、Ubuntu 16.04に基づいたAWS EC2インスタンスで、上記のDockerイメージのビルドに使用されるものと同じプロビジョニングスクリプトを実行すると、問題が発生します。
まず、aws-cliのバージョン
ubuntu@awsIP:~$ aws --version
aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-1020-aws botocore/1.4.70
第二に、aws s3 ls
コマンドを実行して接続性をテストします(aws configure
適切な資格情報を使用して)エラーが発生します。
ubuntu@awsIP:~$ aws s3 ls s3://some-team-folder-name
'AWSHTTPSConnection' object has no attribute 'ssl_context'
私はエラーを理解しようとして、いくつかの buntuバグレポート を見つけましたが、今のところそれを修正する方法を説明するものは何もありません。このエラーはAWSマシンからのみ発生します。私のラップトップで同じバージョンのawscli
を使用していると、私はそれを見ることができず、他のパッケージバージョンの問題が何であるかを把握できません。
奇妙なことに、_apt-get update && apt-get install awscli
、 そうですか
awscli is already the newest version (1.11.13-1ubuntu1~16.04.0).
しかし、私が上でリンクしたバグレポートは、新しいバージョン(1.11.44)が既にリポジトリ(2017年2月頃)でリリースされているように聞こえます。
これはニースの回避策ではありませんが、Sudo pip install --upgrade awscli
、OSリポジトリで利用可能なものより新しいバージョンを入手でき、アップグレードにより問題が解決しました。
しかし、何が起こっているのかを説明し、適切なシステムパッケージの変更でそれを解決する方法を説明するソリューションを好むでしょう。
私はちょうど同じ問題に遭遇しました。 aws --version
と入力して、インストールされたawscli
のバージョンを確認し、これを受け取りました。
aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-98-generic botocore/1.4.70
AWS documentation に戻って、問題を解決できるかどうかを確認し、言及しました:
AWS CLIは定期的に更新され、新しいサービスとコマンドのサポートが追加されます。 AWS CLIの最新バージョンに更新するには、インストールコマンドを再度実行します。
$ pip install awscli --upgrade --user
私はそのコマンドを実行し、awscli
のバージョンを再度チェックし、印刷しました:
aws-cli/1.11.13 Python/3.5.2 Linux/4.4.0-98-generic botocore/1.4.70
すべてのバージョンが同じであるため、アップグレードが機能しているとは思いませんでしたが、スクリプトを実行してみたところ、すべてが機能しました。
したがって、他の誰かがこの問題に遭遇した場合は、アップグレードコマンドを実行するだけで修正できます。