今年も暑い夏が始まりましたね〜。
「湿度さえ…湿度さえ下がれば…!!」と嘆く、エアコンの除湿をフルフル活用して喉が痛くなる夏が今年もやってきます。
クラウドソリューション開発部の今野です!
AWSCLIで使用するProfileを切り替えるときに、毎回切り替えるのは大変…。
「このProfileは…なんだっけ…?」「これは開発環境?それとも本番…環境…?」
そんなお悩みを解決するツールがここにあります!
その名も「awsp」!
素早く環境を切り替えることができる優れものです。
使っているうちに、じわじわと良さが伝わってくるはず。
さっそく導入していきましょう~!
導入手順
1.AWSCLIをインストール
事前に公式サイトからインストールします。
(ここは公式に則って行うので、割愛させていただきます)
https://aws.amazon.com/jp/cli/
2.インストール後、プロファイルを設定する。
1 |
aws configure --profile PROFILE_NAME |
3.awspのインストール
以下のコマンドを叩きます。
1 |
$ npm install -g awsp |
ダダダっとインストールされるので、気長に待ちましょう。
4.その後、.bashrcまたは.zshrcに以下のコマンドを追記します(viで記載しましょう)。
1 |
alias awsp="source _awsp" |
5.シェルの設定も反映。
1 |
source ~/.bashrc |
6.試しにawspを叩いてみる。
ここで合言葉を打ちます。
何でしたっけ?
少し急いでいる時にasspと打ちそうになることがありますが、
「awsp」でしたね。
叩いてみると、このように表示されました!
今はPROFILE_NAMEを1つしか設定していないため、このような表示になります。
切り替えを増やしてみる
今回はdev、stg、prdと環境を作ってみますよ〜。
さっきの状態で、
1 |
aws configure --profile dev |
を叩きます。
そして、前回同様にアクセスキーとシークレットアクセスキーを入力していきます。
すると、
設定したプロファイル名が表示されていることがわかります!
同様の手順で、stgとprdも設定してみます。
設定後、再度awspと入力すると、このように表示されました。
ちなみに、切り替えた後はこのように表示されるため、何のプロファイルになったのかが確認できますね。
さらに見やすく…(ここからの設定は上級者向けです)
「ふとした時に何のプロファイルかわからなくなってしまう」という声もあるでしょう。
そんな方のためにさらに見やすくカスタマイズしてみましょう。
.zshrcに以下の内容を記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function awsp() { if [ $# -ge 1 ]; then export AWS_PROFILE="$1" echo "Set AWS_PROFILE=$AWS_PROFILE." else source _awsp fi export AWS_DEFAULT_PROFILE=$AWS_PROFILE } |
Preztoのインストール
1.見やすくするためにPreztoをインストールします。
1 |
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" |
2.以下のコマンドを実行して、不足しているファイルを追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
setopt EXTENDED_GLOB for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do target="${ZDOTDIR:-$HOME}/.${rcfile:t}" if [[ ! -e "$target" ]]; then ln -s "$rcfile" "$target" echo "✅ Linked: $target" else echo "⚠️ Skipped (already exists): $target" fi done |
3..zpreztorcのファイルをviで開きます。
4.30行目辺りに以下の3つを追加します。(‘prompt’より上に追加してください)
5.その後、.zprofileを開き、export EDITORとexport VISUALをvimに変更します。
6.再度.zpreztorcをviで開き、Promptの箇所を見てみると、テーマが「theme ‘sorin’」となっています。
デフォルトでは「sorin」というテーマを使用していることがわかりますね。
ここのテーマは色々変えられるのですが、今回はデフォルトのままにしておきます。
Preztoテーマを変更
いよいよ試合も大詰めです。
今回は「sorin」を使用しているので、
.zprezto/modules/prompt/functions/prompt_sorin_setupを編集します。
1.環境変数 AWS_PROFILE から、プロンプトに表示する文字列を作る関数を丸ごと追加。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
function prompt_awsprof_precmd { profile="${AWS_PROFILE}" if [[ -z "${profile}" ]]; then _prompt_awsprof="" else _prompt_awsprof="/ AWS:%F{magenta}${profile}%f" fi } |
2.function prompt_sorin_setupに以下を追加。
1 |
add-zsh-hook precmd prompt_awsprof_precmd |
3.Define promptsのPROMPTの内容を以下に変更する。
1 2 3 4 5 |
PROMPT='%(?..%F{red}%B-> [%?]%b%f )%F{magenta}%n%f@%F{yellow}%m%f|%F{green}${_prompt_sorin_pwd}%f${vcs_info_msg_0_} ${_prompt_awsprof} %F{blue}${_prompt_sorin_symbol}%f ‘ |
4..zshrcに以下の行を追加。
1 2 3 |
# Prezto を読み込み source “${ZDOTDIR:-$HOME}/.zprezto/init.zsh” |
5.最後にiTermを再起動してawspでdevを選択すると…
表示されましたね!
感想
すごく便利なのですが、Preztoテーマを適用する部分で結構ハマりました笑
awspとPreztoは別物なのでその間の連携の設定が大変ですね。
ですが、一度設定してしまえばかなり便利なアイテムなのではないでしょうか。
合言葉は「awsp」です!
エコモットでは、モノづくりをしていただける方を募集しています。
弊社ではIoTに関連した、様々な案件にチャレンジすることができます。
ぜひ一緒にこれからの未来を作っていきませんか?
最後までご覧いただき、ありがとうございました!