この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
こんにちは!AWS事業本部、岩本町オフィスの島川です。
macOS用のパッケージマネージャーであるbrewコマンド。
Githubで公開されているようなコマンドのインストールはこれが前提であることが多いです...。
Windows端末を使っていて、開発・検証をやろうとするとぶつかる壁であります。
そこで今回Windows10の機能であるWSL(Windows Subsystem for Linux)でUbuntuを起動し、brewでコマンドをインストールするまでをやってみました。
インストールしてみるコマンドはremind101/assume-roleです。
※AWSのAssume Role機能の実行を便利にしてくれるコマンド
なお、WSLを使う理由としては下記のとおりです。
- すぐに使える。用意にかかる時間が少ない。
- リソース消費が少ない。
- Linuxだから取り回しが良い。何かと都合がよい。
WSLの初期セットアップについては下記ブログが参考になります。
Windows 10 上にUbuntu18.04をインストールしPython3を実行するまで(Windows Subsystem for Linux)
やってみた
環境について
- Windows10 バージョン1809
- WSLはバージョン1709以降である必要があるので注意です
- WSL Ubuntu 18.04 LTS
- Microsoft Storeからインストール済
brewコマンドをインストールする
- まずはbrewコマンドを打ってみる
$ brew
Command 'brew' not found, but can be installed with:
sudo apt install linuxbrew-wrapper
入っていなかったようで、インストールコマンドを教えてくれました。linuxbrew-wrapperはその名の通りlinux版のbrewです。
- パッケージをアップデートする。
$ sudo apt update
- brewコマンド(linuxbrew-wrapper)をインストール
$ sudo apt install linuxbrew-wrapper
- brew doctorでコマンドをチェック
$ brew doctor
私の環境ではパーミッションと環境変数で怒られたので以下作業を行いました。
$ echo 'umask 002' >> ~/.bash_profile
$ echo 'export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="/home/linuxbrew/.linuxbrew/sbin:$PATH"' >> ~/.bash_profile
Terminalを再起動して再度実行
$ brew doctor
Your system is ready to brew.
診断OKでした。
brewを使ってコマンドをインストールする
$ brew install remind101/formulae/assume-role
→インストールできたので実行してみます!
$ assume-role
assume-role is a command line tool to help assume roles through a bastion account with MFA.
Store your bastion account credentials here ~/.aws/credentials
Usage: assume-role [account_name] [role] [mfa_token] [aws-region]
account_name account id or alias
aliases stored in ~/.aws/accounts as JSON {"alias": account_id}
[default 'default']
role the role to assume into the account
[default 'read']
mfa_token The MFA token for the user
only valid if not using SAML for auth
aws_region region to assume into default set in ~/.aws/config
PATHもちゃんと通ってます。便利。
remind101/assume-roleコマンドのセットアップについてはこちら参考になります。
さいごに
Windowsでも簡単にLinux環境を用意することができるWSLぜひ使ってみてください。
おまけ
ホスト側とファイル共有したい
$ df -h
Filesystem Size Used Avail Use% Mounted on
rootfs 238G 62G 176G 26% /
none 238G 62G 176G 26% /dev
none 238G 62G 176G 26% /run
none 238G 62G 176G 26% /run/lock
none 238G 62G 176G 26% /run/shm
none 238G 62G 176G 26% /run/user
C: 238G 62G 176G 26% /mnt/c
/mnt/cにCドライブがマウントされているようで、ここを使ってファイルのやり取りができました。