0
0

More than 3 years have passed since last update.

RainのaliasをPowerShellとWSLで設定する

Last updated at Posted at 2021-08-17

はじめに

最近CloudformationのCLIツールであるRainが使いやすいと聞くことがあったので、まずはインストールと設定からやってみることにしました。
https://github.com/aws-cloudformation/rain

ただ、極力自分の環境を汚したくないという思いもあり、以下の記事の下部にあるDockerfileを参考にコンテナ環境でRainを実行させたいと思います。
https://dev.classmethod.jp/articles/try-cloudformation-rain-on-windows/

毎回docker runコマンドを実行するのは手間なので、よく使用するPowershellとWSL(ubuntu20.04)でdocker runコマンドをaliasに設定して、Dockerを使っていることを意識せずにできるようにしてみます。

環境

Windows 10 Home
PowerShell 5.1.19041.1151
Ubuntu-20.04
Rain v1.1.2

前提

wslでDockerが実行できる環境は既に設定済み
AWS CLIインストールとデフォルトプロファイルは設定済み

Docker実行

以下の記事を参考にRainのdocker runコマンドが実行できることまで確認します。
- WindowsでCloudFormation Rainを動くようにしてみた

以下のコマンドでRainのバージョンが確認出来たらOKです。

WSL(ubuntu20.04)

$ docker run --rm -it -v "$HOME/.aws/:/root/.aws" -v "$(pwd):/aws" aws-cfn-rain --version
Rain v1.1.2 linux/amd64

Powershell

PS> docker run --rm -it -v "$HOME/.aws/:/root/.aws" -v "$($pwd.Path):/aws" -e AWS_PROFILE aws-cfn-rain --version
Rain v1.1.2 linux/amd64

alias設定(WSL)

.bashrcファイルを編集して、Rainのaliasを追加します。

$ vi ~/.bashrc
~省略~
# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'
# add Rain alias
alias rain='docker run --rm -it -v "$HOME/.aws/:/root/.aws" -v "$(pwd):/aws" aws-cfn-rain'
~省略~

.bashrcを再読み込みして実行するとrainコマンドだけで実行できるようになっています。
色々と試すのはこれからですが、とりあえずは問題なさそうです。

$ source ~/.bashrc
$ rain --version
Rain v1.1.2 linux/amd64

alias設定(PowerShell)

以下のコマンドを実行します。(.bashrcと同じようなファイルです)

PS> notepad $profile

以下のようにファイルに追記します。
※function awsがありますが、元々aws cliもPowershellのaliasに設定していたので入っていました。

function rain {
    docker run --rm -it -v "$HOME/.aws/:/root/.aws" -v "${PWD}:/aws" aws-cfn-rain $args
}

image.png

$profileを再読み込みして実行するとrainコマンドだけで実行できるようになっています。
こちらも問題なさそうです。

PS> . $profile
PS> rain --version
Rain v1.1.2 linux/amd64

補足

AWS CLIのプロファイルを指定することで使用する認証情報を変更することができます。

PS> rain info --profile default
Account:  XXXXXXXXXXXX
Region:   ap-northeast-1
Identity: arn:aws:iam::XXXXXXXXXXXX:user/user1
Profile:  default
$ rain info --profile default
Account:  XXXXXXXXXXXX
Region:   ap-northeast-1
Identity: arn:aws:iam::XXXXXXXXXXXX:user/user1
Profile:  default

おわりに

Rainの設定ができたので、これを使って実際に構築をしていきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0