web-dev-qa-db-ja.com

2つの環境間のawscliパッケージのバグを判断する方法

ローカルコンピューターの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月頃)でリリースされているように聞こえます。

1
ely

これはニースの回避策ではありませんが、Sudo pip install --upgrade awscli、OSリポジトリで利用可能なものより新しいバージョンを入手でき、アップグレードにより問題が解決しました。

しかし、何が起こっているのかを説明し、適切なシステムパッケージの変更でそれを解決する方法を説明するソリューションを好むでしょう。

2
ely

私はちょうど同じ問題に遭遇しました。 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

すべてのバージョンが同じであるため、アップグレードが機能しているとは思いませんでしたが、スクリプトを実行してみたところ、すべてが機能しました。

したがって、他の誰かがこの問題に遭遇した場合は、アップグレードコマンドを実行するだけで修正できます。

1
Cavell Blood