Open4

今さらながら EC2 に AWS Session Manager で接続して git の設定などをする

トラハック@toraco株式会社トラハック@toraco株式会社

AWS SSM ( Session Manager ) で EC2 にアクセスする

  1. EC2 を開く
  2. 該当インスタンスを開く
  3. 接続ボタンを押下
  4. セッションマネージャーを選択
  5. 接続ボタンを押下

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 に公開鍵を登録する

  1. GitHub を開く
  2. 右上のアイコンからSettignsを押下
  3. SSH and GPG keysを押下
  4. New SSH Keyを押下
  5. 以下情報を入力して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
トラハック@toraco株式会社トラハック@toraco株式会社

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
トラハック@toraco株式会社トラハック@toraco株式会社

ssm-user に切り戻して、デプロイスクリプトを配置する。
初回は手動でシェルを実行するが、CI/CD で自動実行されるようにしておく。

sudo su - ssm-user
cd ~ 
touch deployer.sh
vi deployer.sh
bash deployer.sh