なんだかんだ1年以上運用したので
定期的にどんな作業が発生するかというのが溜まってきたのでまとめてみます。
環境周りのコマンドを実行する作業になるので
不安がある場合は仮想環境のコピーを作成するのをお勧めします。
私の個人的な経験ではほとんどが依存関係のバージョンが食い違っているというものが大半でしたので
バージョンアップのメンテナンス内容をメインに書きます。
これから導入を考えている方に
こんな作業が発生するんだとか
こんなスキルセットが必要になるんだとか
参考になれば嬉しいです。
※ここに書いてあることが全てではないのでその点はご注意を
定期的に必要となるお手入れ
コマンドラインツールもそれぞれバージョンアップをしてくれています。
ゆえに突然エラーが出てくるということもしばしば
そんな時はまずは現状確認しましょう。
※pipを使っていることが前提です
$ pip list -o
続きましてpip自身のアップグレード
$ pip install --upgrade pip
awscliのアップグレード
$ pip install awscli --upgrade --user
参考URL
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/installing.html
eb cliのアップグレード
$ pip install awsebcli --upgrade --user
botocoreのアップグレード
aws cliもアップグレードが同時に必要のような状態の場合
$ pip list -o
Package Version Latest Type
awscli 1.16.97 1.16.99 wheel
botocore 1.12.87 1.12.89 wheel
以下のコマンドでbotocoreとaws cliの両方がアップデートされた
$ pip install awscli --upgrade --user
その他pip管理のプラグインアップデート
pipでプラグインを個別にアップデートしないといけない場合もある。
$ sudo pip install プラグイン名 -U
#以下tabulateというpipパッケージをアップデートする場合
$ sudo pip install tabulate -U
再インストール
運用している中で何度かawscli,ebコマンド自体を再インストールしたら
治ったということがありましたのでそれも書いてみます。
aws cliの再インストール
pythonモジュールのpipが入っていれば以下でアンインストールできます。
$ pip uninstall awscli
ebコマンドの再インストール
ebコマンドのアンインストール
$ pip uninstall awscli
再度インストール
$ pip install awsebcli --upgrade --user
エラーが表示されたら
ebコマンドのデバッグ
$ Eb deploy --debug
pipパッケージのダウングレード
稀に以下のようなエラーが表示されることがあります。
ERROR: awscli 1.16.253 has requirement botocore==1.12.243, but you'll have botocore 1.12.253 which is incompatible.
ERROR: awscli 1.16.253 has requirement rsa<=3.5.0,>=3.1.2, but you'll have rsa 4.0 which is incompatible.
これはawscliが使っているパッケージのバージョンがあっていませんよ〜というもので
バージョンをあげる場合は前述のコマンドでいけますが
バージョンを下げろという場合もあります。
ダウングレードということになりますが
コマンド的にはバージョンを指定してインストールという形でダウングレードできます。
$ pip install botocore==1.12.243
パッケージのバージョンリストを確認
パッケージのバージョンって具体的にどんなものがあるかを確認したい時は以下のコマンドで表示されます。
$ pip install パッケージ名==
#botocoreなら以下
$ pip install botocore==
linuxの時間がずれた時もエラーが出ます。
当方の環境としてCentOS7の仮想環境に置いている状態で
定期的にLinuxの時間がずれるという現象があり
ebコマンドが動かなくなる時があります。
私の環境では以下の方法で解決しています。
>>CentOS7の時間がずれる
備考
pip listで表示されたパッケージを一括アップデートするコマンドはこちらです。
※ただし個人的経験ではaws-cli,eb-cli側で結構細かく指定があることが多いので結局個別にバージョン指定しながらやることが多くなるため一番最後に書いています。
$ pip list -o | tail -n +3 | awk '{ print $1 }' | xargs pip install -U