Open4
今さらながら EC2 に AWS Session Manager で接続して git の設定などをする
AWS SSM ( Session Manager ) で EC2 にアクセスする
- EC2 を開く
- 該当インスタンスを開く
-
接続
ボタンを押下 - セッションマネージャーを選択
-
接続
ボタンを押下
git をインストールする
sudo yum install -y git-all
認証鍵を生成する
AWS SSM でアクセスした場合、ユーザーは ssm-user となっているが ec2-user に切り替えたい
sudo su --login ec2-user
c.f. https://www.bioerrorlog.work/entry/session-manager-ec2-user
鍵を生成する
cd ~/.ssh/
ssh-keygen -t rsa
公開鍵の中身をクリップボードにコピーしておく
cat <YOUR_PUBLIC_KEY_NAME>.pub
GitHub に公開鍵を登録する
- GitHub を開く
- 右上のアイコンから
Settigns
を押下 -
SSH and GPG keys
を押下 -
New SSH Key
を押下 - 以下情報を入力して
Add SSH Key
を押下
a. Title: 任意の名前(公開鍵名にしておくとわかりやすい)
b. Key type: Authorization Key
c. Key: コピーした公開鍵の中身(ssh-rsa AAAAB3Nza..
)
AWS SSM に戻って EC2 で git clone する
以下のように clone を試みたがエラー
git clone git@github.com:[username]/[repository_name].git
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
SSHエージェントを起動して鍵を追加する必要があったので .bashrc に以下を記述する
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/your_key_name
Node 環境を準備する
パッケージマネージャーは yarn を使っているが npm や Node をインストールしないといけない
まずは Node.js のバージョン管理のために nvm をインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
. ~/.nvm/nvm.sh
nvm install 20.10.0
yarn をインストールする
npm install --global yarn
yarn -v
pm2 をインストール
npm install -g pm2
ssm-user に切り戻して、デプロイスクリプトを配置する。
初回は手動でシェルを実行するが、CI/CD で自動実行されるようにしておく。
sudo su - ssm-user
cd ~
touch deployer.sh
vi deployer.sh
bash deployer.sh