偏屈エンジニアブログ

老害エンジニアの技術メモ

ElasticbeanstalkのCLIインストール

Elasticbeanstalkの環境構築が、急に必要になりAmazonLinux2で構築しました
色々面倒だったのでメモとして残す。
VPC作成やIAMの鍵設定とかは省きインスタンスの処理のみ記載してます。
一部間違ってても動いたのでよしとしたので、ノーワランティな記述です。

事前作業:
 AmazonLinux2のイメージを立ち上げて、インスタンスを起動する。
 セキュリティグループは、443/80を一旦全あけして、SSHは自IPのみ解放。
 IAMにElasticbeanstalkに必要そうな権限を付与して、クレデンシャル発行
 →今思うとインスタンスプロファイルでよかったかと思った。
  →ebコマンド実行時にEB系のロールだけだと足りなかったのでAdmin追加
   (急ぎの仕事だったのを言い訳にしたがよくないな)
以下インスタンスでのコマンド履歴

sudo yum update -y
sudo yum install -y git
sudo yum install -y gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel tk-devel libffi-devel xz-devel
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
rm -rf .pyenv
curl https://pyenv.run | bash
echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bashrc
source ~/.bashrc
pyenv -v
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
pyenv install 3.9.16
pyenv global 3.9.16
sudo pip3 install virtualenv
git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git
python ./aws-elastic-beanstalk-cli-setup/scripts/ebcli_installer.py
echo 'export PATH="/home/ec2-user/.ebcli-virtual-env/executables:$PATH"' >> ~/.bash_profile && source ~/.bash_profile

あとはeb initでの初期化してよしなに扱うのみ。
面倒だったのEBの構築スクリプトがPython3.9の構文らしかったので、
デフォルトで入ってたPython3.7ではエラーが出て詰まりました。
エラーをBingAIに聞いたらPython3.9以上がいる記述とのこと
pyenvで入れ直して流したら、今度はvirtualenvいるとか面倒すぎる。
コマンド長いので、コピーして小分けでターミナル投げた方がよいかもです。

参考:
EB CLIのセットアップスクリプトを使ってみた - Qiita
EB CLIのインストール手順(2022年版) | Fire Sign Blog