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"をクリックします。
"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