1.2. Cloud9環境の更新 (AWS CLI)

作業の目的 [why]

マネジメントコンソールでCloud9環境のAWS CLIを更新します。

完了条件/事前条件 [設計者用情報]

完了条件 [after]

主処理は、以下を満たしたときに成功したものとします。

完了条件1

Cloud9環境"handson-cloud9-env"のAWS CLIのバージョンが"2.0.0"である。

事前条件 [before]

主処理の実施は、以下の状態であることを前提とします。

事前条件1

Cloud9環境"handson-cloud9-env"にアクセスしている。

作業対象 [what]

  • Cloud9環境

標準時間(合計)

8分

パラメータ設定

パラメータ設定の標準時間

2分

作業に必要なモノ・情報 [resource]

作業開始には、以下が全て揃っていることが必要です。

リソース1: Cloud9環境名

  • 作成するCloud9環境の名称です。

  • 今回は"handson-cloud9-env"とします。

タスクの実施

タスク標準時間

6分

1. 前処理

1.1. 状態確認に必要な情報の取得

Cloud9環境へのアクセス

1.2. 処理対象の状態確認

主処理の実施は、以下の状態であることを前提とします。

前提と異なることが判明した場合、直ちに処理を中止します。

事前条件1: Cloud9環境"handson-cloud9-env"にアクセスしている。

「Cloud9環境"handson-cloud9-env"にアクセスしている。」ことを確認します。

2. 主処理

2.1. AWS Resourcesの設定

  • 右上の歯車アイコンをクリックします。

    • Preferencesタブが表示されます。

  • 左ペインの"AWS SETTINGS"をクリックします。

    _images/preferences-aws_settings.png
  • "AWS managed temporary credentials"(スイッチ)をOffにします。(デフォルト: On)

2.2. AWS CLI yumパッケージのアンインストール

下のbashタブで以下を実行します。

コマンド:

sudo yum erase aws-cli -y

結果(例):

(snip)
Complete!

2.3. AWS CLI v2のインストール

下のbashタブで以下を実行します。

AWS CLI v2のインストール

変数の設定:

DIR_TMP="${HOME}/tmp/awscliv2"

コマンド:

mkdir -p ${DIR_TMP}

コマンド:

cd ${DIR_TMP} \
  && curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" \
    -o "awscliv2.zip"

結果(例):

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 30.6M  100 30.6M    0     0  24.0M      0  0:00:01  0:00:01 --:--:-- 24.0M

コマンド:

unzip awscliv2.zip

結果(例):

(略)
creating: aws/dist/zlib/cpython-37m-x86_64-linux-gnu/
inflating: aws/dist/zlib/cpython-37m-x86_64-linux-gnu/soib.cpython-37m-x86_64-linux-gnu.so

コマンド:

cd ${DIR_TMP} \
  && sudo ./aws/install

結果(例):

You can now run: /usr/local/bin/aws --version

一時ファイル用ディレクトリを削除します。

コマンド:

rm -Rf ${HOME}/tmp/awscliv2

注釈

(参考) AWS CLI v1のインストール

コマンド:

sudo pip install awscli

AWS CLIのバージョン確認

コマンド:

aws --version

結果(例):

aws-cli/2.0.0 Python/3.7.3 Linux/4.14.128-87.105.amzn1.x86_64 botocore/ 2.0.0

2.4. .bashrcの編集

  • 下のbashタブで以下のファイルを編集します。

    ~/.bashrc(最終行に追加):

    complete -C aws_completer aws
    
    PS1="\`
      if [ \$? = 0 ]; then
        echo \[\e[36m\]
      else
        echo \[\e[31m\]
      fi
    \`[\u@\h%]\[\e[0m\]\$ "
    
  • 下のbashタブで以下を実行します。

    コマンド:

    source ~/.bashrc
    

2.5. jsonlintのインストール

コマンド:

npm install jsonlint -g

結果(例):

npm WARN deprecated nomnom@1.8.1: Package no longer supported. Contact support@npmjs.com for more info.
/home/ec2-user/.nvm/versions/node/v6.14.2/bin/jsonlint -> /home/ec2-user/.nvm/versions/node/v6.14.2/lib/node_modules/jsonlint/lib/cli.js
/home/ec2-user/.nvm/versions/node/v6.14.2/lib
└─┬ jsonlint@1.6.3
  ├── JSV@4.0.2
  └─┬ nomnom@1.8.1
    ├─┬ chalk@0.4.0
    │ ├── ansi-styles@1.0.0
    │ ├── has-color@0.1.7
    │ └── strip-ansi@0.1.1
    └── underscore@1.6.0 `

2.6. yamllintのインストール

コマンド

sudo pip install yamllint

コマンド

yamllint -v

結果(例):

yamllint 1.10.0

コマンド

which yamllint

結果(例):

/usr/local/bin/yamllint

yamllintの設定

CloudFormationのテンプレートをチェックするとdocument-startについてエラーが出るので、設定で抑制します。

コマンド

mkdir -p ~/.config/yamllint

コマンド

cat << EOF > ~/.config/yamllint/config
  rules:
    document-start:
      present: false
EOF

cat ~/.config/yamllint/config

3. 後処理

完了条件の確認

主処理は、以下を満たしたときに成功したものとします。

完了条件1: Cloud9環境"handson-cloud9-env"のAWS CLIのバージョンが"2.0.0"である。

「Cloud9環境"handson-cloud9-env"のAWS CLIのバージョンが"2.0.0"である。」ことを確認します。

完了