Memo/AmazonWebServices/awscli/v2

https://dexlab.net:443/pukiwiki/index.php?Memo/AmazonWebServices/awscli/v2
 

awscli v2:

  • メリット
    • python不用。systemにインストールされている既存との競合や、pythonバージョン、pipの依存関係に悩まなくて良い。各環境毎(Windows/Linux/macOS)にビルド済みバイナリが配布されている。Linuxを見るとcpythonでビルドされていた。
    • 「--output yaml」でyaml形式での出力

トラブルシューティング


ACMへのSSL証明書の更新に失敗する場合

  • 症状
    • file://だと、「Invalid base64」エラーで失敗する
  • 解決
    • fileb:// を指定する。バイナリであるという指定。awscli v1でも使えるためこちらの方が良さそう。

ページャー(less, more)を無効にする

v2ではデフォルトでページャーが有効になっていて、実行時に一次停止する。
スクリプトやループでの利用時には邪魔な時がある。

  • 無効にする
    # 環境変数に設定する方法
    export AWS_PAGER=""
    
    # ~/.aws/config に追加する方法
    aws configure set cli_pager '' --profile example
  • /.aws/config に以下が追加される

    [example]
    cli_pager =
  • 確認
    aws ec2 describe-regions --profile example

v1/v2の共存


インストール

macOS:

Linux:

  • awscli v1のアンインストール
    aws --version
    aws-cli/1.16.228 Python/2.7.17 Linux/4.4.0-18362-Microsoft botocore/1.12.218
    
    # Ubuntu
    sudo apt remove awscli
    
    # pipからインストールした場合
    sudo pip uninstall awscli
  • Linux: zipで31MB。展開すると、117MB
    curl -s "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
    unzip awscliv2.zip
    sudo ./aws/install
    
    which aws
    /usr/local/bin/aws
    
    aws --version
    aws-cli/2.0.0 Python/3.7.3 Linux/4.4.0-18362-Microsoft botocore/2.0.0dev4
  • TABでの補完を有効に
    • ~/.bash.d/ を有効にしている場合。~/.bash.d/91-bash_completion_awscli.sh
      # awscli
      # https://github.com/aws/aws-cli
      AWSCLI=$(which aws 2>/dev/null)
      if [ -e "$AWSCLI" ]; then
        complete -C aws_completer aws
      fi

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-07-27 (月) 16:32:12 (87d)