💡
EC2を用いた開発サーバ構築(Remote-SSH)
基礎知識
- EC2とは「サーバーに必要なもの一式をクラウドで借りられる」サービスである
- サーバーの管理者の仕事は、主に2種類
- サーバーの設置、サーバーのハードウェアや周辺環境を整える物理的な作業 → EC2ではマネジメントコンソール
- サーバーOSにログインして操作するソフトウェア的な作業 → 非クラウド環境でもECでも、SSHでリモートで操作する
全体的な流れ
- EC2を作成
- VScodeからEC2にSSH接続する
- EC2インスタンスに新しいSSHキーペア(公開鍵と秘密鍵)を作成し、それをGitHubに登録する
- 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接続を行います
- リモートエクスプローラーのアイコンを選択し、+ボタンをクリック
- 「ssh ubuntu@EC2のパブリックIPv4アドレス」を入力して、Enter
- Macの場合、/Users/ユーザー名/.ssh/config ファイルをvscodeで開く(2が完了したら、「configを開く」ボタンが自動的に表示されると思います)
- 以下のように書き込みます
Host <プロジェクト名>
HostName <EC2のIPv4アドレス>
IdentityFile /Users/ユーザー名/.ssh/<設定した鍵の名前>
User ubuntu
- 接続先にHostで指定した<プロジェクト名>が表示されているか確認
- <プロジェクト名>の横にある「→」ボタンを押して、現用ウィンドウでホストに接続する
- これでSSH接続ができればok
上記のやり方で接続ができない場合
私は7で接続が上手くできず、、
原因を探したところ、鍵のパーミッションが関係していたようです
よって、以下のコマンドで鍵ファイルのアクセス権限を変更しましょう!
chmod 600 鍵ファイル名
chmod 400 鍵ファイル名
これでもう一度SSH接続をしてみてください、私はこれで接続できました!
3. EC2インスタンスに新しいSSHキーペアを作成し、それをGitHubに登録する
最後に、EC2にSSHキーペアを作成して、その鍵をGithubに登録していきます
- EC2にSSH接続した状態で以下のコマンドを打ち、公開鍵と秘密鍵を作成する
ssh-keygen -t ed25519 -C “<メールアドレス>”
- 鍵の保存場所やパスフレーズを聞かれますが、何も入力せずにEnterを押して大丈夫です
- 公開鍵の中身をコピーしておく
- Githubのsettingsから、「New SSH key」に3を登録
- Githubの開発プロジェクトの「SSH」URLをコピー
- プロジェクトを取得するため、以下のコマンドを打つ
git clone <5の「SSH」URL>
- ファイルがきちんとcloneされているかを確認
これで開発サーバ関連の準備は終わりです!
お疲れ様でした。
Discussion