AWS CloudShell にrbenvを入れて使ってみる

12/25/2020

Amazon Linux 2 環境を使って事前セットアップなしに aws cli が扱える AWS CloudShell が先日リリースされました。

現在某プログラミングスクールにて副業でコードレビューを行なっているのですが、生徒さんはdockerを扱う前にrubyでコーディングしたアプリを提出する課題があります。

それぞれrubyのバージョンが異なるためrbenvを使って対応しているのですが、大量にgit cloneしたファイルやパッケージでローカル環境を汚したくないので、CloudShellにrbenvを入れて使ってみます。

CloudShellを起動する

AWS コンソール右上にちっちゃいTerminalマークがあり、これをクリックするとCloudShellが起動します。

cloudshell_link

起動後自動でセットアップが走り、数分立つとshellが使えるようになります。

rbenvを入れる

dev.to にそれっぽい記事がありこちらで導入できました。

libyaml-0.so.2 のインストールでエラーが出る場合は libyaml を入れればOK。

libyamlを加味してruby 2.7.2を入れる場合は以下のようになります。

sudo yum -y groupinstall "Development Tools"
sudo yum -y install git-core zlib zlib-devel gcc-c++ patch readline readline-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel libyaml

wget https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz
tar xzf yaml-0.2.5.tar.gz 
cd yaml-0.2.5
./configure --prefix=$HOME
make && make install
cd ..
rm -rf yaml-0.2.5
rm yaml-0.2.5.tar.gz

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
cd ~/.rbenv && src/configure && make -C src
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
~/.rbenv/bin/rbenv init
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source ~/.bash_profile
mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

RUBY_CONFIGURE_OPTS=--with-libyaml-dir=$HOME rbenv install 2.7.2
rbenv global 2.7.2
gem env home

最後に

シンクライアントな端末からAWSリソースを管理すると便利そうです。

1GBの制限はありますが複数リージョンで使えるのでどんどん使っていきたいと思います。

©️ 2020 ふじい Dev-Remo-Work.