AWS-CLIとGCP:Cloud-SDK環境のバージョンアップ
以前Hyper-Vに作成していたGCPの開発環境とAWSの開発環境が1年くらいたつのでそろそろバージョンアップでもしておくかと思って、作業してみた。
定期的にランタイムとかのバージョンとか上がるし、CLIツールも新しい方が色々とできたりするみたいなので、一応バージョンアップ方法も備忘録的に置いておこうと思った次第です。作業自体は難しくないですが、pyenvのバージョン切り替えが少し落とし穴だったりする。ちなみにpython3.8にはAWS-CLIがpipで拾えなかったのとGCP側も不安しかなかったのとバージョンが双方でずれるのも嫌だったので両方とも3.7.7にて作業しました。
CloudSDKについては以前はaptでやってたんですが、sudo使わないと開発できないとか厄介なのが嫌なので、今回はtar.gzの方で対応することにしました。
希望を言うとそれぞれのクラウド用開発環境を個別に作るんじゃなくて一括でボンと入れたら全部が入ってくれるようなのが欲しいんだがなぁ。そして自動化にしても各社ばらばらでなく統一的に記述できるような方式の標準規格が欲しい。
近しいとしたらこんな感じだけど、、、ただ個社の独自仕様まで吸収できていないので
Teraform
SevelessFramework
その辺がつらい、、、
理想を言えばプログラムを書いてなんか中間のライブラリをインポートしてそのライブラリを利用して、設定ファイルと一緒にデプロイすれば各クラウドベンダーのマネージドサービスを使うサーバレスなアプリが1コードでできるというのが理想なのよなぁ。
https://qiita.com/darshuheider/items/74aa54ffb81ee8cbe0ff
https://cloud.google.com/sdk/docs?hl=ja#linux
https://apps-gcp.com/cloud-sdkinstall-commentary/
https://netrandum.com/google-cloud-sdk-authorizing/487
定期的にランタイムとかのバージョンとか上がるし、CLIツールも新しい方が色々とできたりするみたいなので、一応バージョンアップ方法も備忘録的に置いておこうと思った次第です。作業自体は難しくないですが、pyenvのバージョン切り替えが少し落とし穴だったりする。ちなみにpython3.8にはAWS-CLIがpipで拾えなかったのとGCP側も不安しかなかったのとバージョンが双方でずれるのも嫌だったので両方とも3.7.7にて作業しました。
CloudSDKについては以前はaptでやってたんですが、sudo使わないと開発できないとか厄介なのが嫌なので、今回はtar.gzの方で対応することにしました。
希望を言うとそれぞれのクラウド用開発環境を個別に作るんじゃなくて一括でボンと入れたら全部が入ってくれるようなのが欲しいんだがなぁ。そして自動化にしても各社ばらばらでなく統一的に記述できるような方式の標準規格が欲しい。
近しいとしたらこんな感じだけど、、、ただ個社の独自仕様まで吸収できていないので
Teraform
SevelessFramework
その辺がつらい、、、
理想を言えばプログラムを書いてなんか中間のライブラリをインポートしてそのライブラリを利用して、設定ファイルと一緒にデプロイすれば各クラウドベンダーのマネージドサービスを使うサーバレスなアプリが1コードでできるというのが理想なのよなぁ。
◆作業手順
1.pyenvバージョンアップ
$ git clone git://github.com/yyuu/pyenv-update.git ~/.pyenv/plugins/pyenv-update $ pyenv update $ pyenv versions system * 2.7.16 (set by /home/users/.python-version) 3.7.3 $ pyenv install --list $ pyenv install 3.7.7 $ pyenv install 3.8.2
2.pythonバージョン切替
$ which python /home/users/.pyenv/shims/python $ pyenv global 3.7.7 $ vi .python-version #以下の通り書き換え ----- 3.7.7 ----- $ pyenv versions system 2.7.16 3.7.3 * 3.7.7 (set by /home/users/.python-version) 3.8.2
3.AWS-CLIバージョンアップ
#sudoでpyenv使えないのでsudoでも使えるように設定 $ sudo update-alternatives --config editor $ sudo apt remove nano $ sudo visudo #追記 ------ # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bini:/home/users/.pyenv/shims/python" #←最後部に追記 /home/users/.pyenv/shims/python ------ #AWS-CLIのバージョンアップ $ pip install --upgrade pip $ pip install awscli --upgrade --user $ aws --version aws-cli/1.16.152 Python/3.7.3 Linux/4.15.0-91-generic botocore/1.12.142 $ aws --version aws-cli/1.18.39 Python/3.7.7 Linux/4.15.0-91-generic botocore/1.15.39
4.CloudSDK再インストール
#既存のCloudSDKアンインストール $ sudo apt remove -y google-cloud-sdk google-cloud-sdk-app-engine-python google-cloud-sdk-app-engine-python-extras google-cloud-sdk-datastore-emulator google-cloud-sdk-pubsub-emulator google-cloud-sdk-cbt google-cloud-sdk-bigtable-emulator kubectl $ rm google-cloud-sdk $ rm -rf ./config/gcloud/* #CloudSDK再導入 $ wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-288.0.0-linux-x86_64.tar.gz $ tar -xvzf google-cloud-sdk-288.0.0-linux-x86_64.tar.gz $ rm google-cloud-sdk-288.0.0-linux-x86_64.tar.gz $ cd google-cloud-sdk/ $ ./install.sh Welcome to the Google Cloud SDK! To help improve the quality of this product, we collect anonymized usage data ~中略~ Do you want to help improve the Google Cloud SDK (y/N)? y ~中略~ Modify profile to update your $PATH and enable shell command completion? Do you want to continue (Y/n)? Y The Google Cloud SDK installer will now prompt you to update an rc file to bring the Google Cloud CLIs into your environment. Enter a path to an rc file to update, or leave blank to use [/home/users/.bashrc]: #そのままEnter ~中略~ For more information on how to get started, please visit: https://cloud.google.com/sdk/docs/quickstarts $ export CLOUDSDK_PYTHON=/home/matarain/.pyenv/shims/python3 #別ターミナルで実行 #初期設定 $ gcloud --version Google Cloud SDK 288.0.0 bq 2.0.56 core 2020.04.03 gsutil 4.49 $ gcloud init --console-only pyenv: python2: command not found Welcome! This command will take you through the configuration of gcloud. ~中略~ #oAuth認証設定 You must log in to continue. Would you like to log in (Y/n)? Y Go to the following link in your browser: ~略~ Enter verification code: ←ブラウザに表示されたコード貼付 #CloudUtil利用プロジェクト選択 You are logged in as: [XXXXX@gmail.com]. Pick cloud project to use: [1] [2] [3] [4] [5] [6] [7] [8] [9] Create a new project Please enter numeric choice or text value (must exactly match list item):7 Do you want to configure a default Compute Region and Zone? (Y/n)? Y #GCEのデフォルトロケーション設定 Which Google Compute Engine zone would you like to use as project default? ~中略~ Did not print [18] options. Too many options [68]. Enter "list" at prompt to print choices fully. Please enter numeric choice or text value (must exactly match list item):34 ~中略~ * Run `gcloud --help` to see the Cloud Platform services you can interact with. And run `gcloud help COMMAND` to get help on any gcloud command. * Run `gcloud topic --help` to learn about advanced features of the SDK like arg files and output formatting
◆参考サイト
1.AWS-CLIバージョンアップ
https://qiita.com/mo0013/items/036112149428c5bed763https://qiita.com/darshuheider/items/74aa54ffb81ee8cbe0ff
2.CloudSDKのpython3化
https://qiita.com/gecko655/items/b9e590ce454ac9dd7da4https://cloud.google.com/sdk/docs?hl=ja#linux
https://apps-gcp.com/cloud-sdkinstall-commentary/
https://netrandum.com/google-cloud-sdk-authorizing/487
コメント