💡

EC2を用いた開発サーバ構築(Remote-SSH)

2023/08/27に公開

基礎知識

  • EC2とは「サーバーに必要なもの一式をクラウドで借りられる」サービスである
  • サーバーの管理者の仕事は、主に2種類
    • サーバーの設置、サーバーのハードウェアや周辺環境を整える物理的な作業 → EC2ではマネジメントコンソール
    • サーバーOSにログインして操作するソフトウェア的な作業 → 非クラウド環境でもECでも、SSHでリモートで操作する

全体的な流れ

  1. EC2を作成
  2. VScodeからEC2にSSH接続する
  3. EC2インスタンスに新しいSSHキーペア(公開鍵と秘密鍵)を作成し、それをGitHubに登録する
  4. githubから作業リポジトリをclone

図で整理

EC2が開発サーバ

1.EC2の作成

私は以下の設定でEC2を作成しました

  • EC2の名前:プロジェクト名

  • マシンイメージ:ubuntu

  • インスタンスタイプ:t2micro(無料利用枠の対象)

  • キーペアを作成

    • キーペアの名前:プロジェクト名-ssh-key
    • キーペアのタイプ:ED25519
    • プライベートキーファイル形式: .pem
      →キーペアを作成するとダウンロードされるので、Macの場合 /Users/ユーザー名/.ssh/に移動させる
  • ネットワーク設定:セキュリティグループを作成する & 自分のIPからのSSHトラフィックを許可する

最後に「インスタンスを起動」をclick

2. SSH接続する

次は、VScodeからEC2にSSH接続します

VScodeの拡張機能「Remote SSH」を使って、SSH接続を行います

  1. リモートエクスプローラーのアイコンを選択し、+ボタンをクリック
  2. 「ssh ubuntu@EC2のパブリックIPv4アドレス」を入力して、Enter
  3. Macの場合、/Users/ユーザー名/.ssh/config ファイルをvscodeで開く(2が完了したら、「configを開く」ボタンが自動的に表示されると思います)
  4. 以下のように書き込みます
Host <プロジェクト名>
  HostName <EC2のIPv4アドレス>
  IdentityFile /Users/ユーザー名/.ssh/<設定した鍵の名前>
  User ubuntu
  1. 接続先にHostで指定した<プロジェクト名>が表示されているか確認
  2. <プロジェクト名>の横にある「→」ボタンを押して、現用ウィンドウでホストに接続する
  3. これでSSH接続ができればok

上記のやり方で接続ができない場合

私は7で接続が上手くできず、、
原因を探したところ、鍵のパーミッションが関係していたようです

よって、以下のコマンドで鍵ファイルのアクセス権限を変更しましょう!

chmod 600 鍵ファイル名
chmod 400 鍵ファイル名

これでもう一度SSH接続をしてみてください、私はこれで接続できました!

3. EC2インスタンスに新しいSSHキーペアを作成し、それをGitHubに登録する

最後に、EC2にSSHキーペアを作成して、その鍵をGithubに登録していきます

  1. EC2にSSH接続した状態で以下のコマンドを打ち、公開鍵と秘密鍵を作成する
ssh-keygen -t ed25519 -C “<メールアドレス>”
  1. 鍵の保存場所やパスフレーズを聞かれますが、何も入力せずにEnterを押して大丈夫です
  2. 公開鍵の中身をコピーしておく
  3. Githubのsettingsから、「New SSH key」に3を登録
  4. Githubの開発プロジェクトの「SSH」URLをコピー
  5. プロジェクトを取得するため、以下のコマンドを打つ
git clone <5の「SSH」URL>
  1. ファイルがきちんとcloneされているかを確認

これで開発サーバ関連の準備は終わりです!
お疲れ様でした。

Discussion