EC2インスタンス作成からVSCodeリモート接続まで(Amazon Linux 2 編)
EC2インスタンス作成
- 名前を決める
例:My Amazon Linux2 - AMIの選択
例:Amazon Linux 2
-
インスタンスタイプの選択
例:t2.micro
-
新しいキーペアの作成
キーペアの作成とダウンロード
以下に例を示します。- キーペア名:My Amazon Linux2
- キーペアタイプ:RSA
- プライベートキーファイル形式:.pem
キーペア作成を押してダウンロードします。
本記事ではキーを~/.ssh/
に保存します。
~/ とは?
~/
はホームディレクトリを指す省略表現です。
(例)macの場合は /Users/<あなたのユーザー名>/
を指します。
インスタンスの設定
ネットワーク設定(セキュリティグループ)
例:
- セキュリティグループの作成
- 自分のIPからSSHトラフィックを許可
パブリックIP確認
インスタンスの概要からパブリックIPv4アドレスを確認する。
起動後の接続確認(SSHで入ってみる)
以下のコマンドでSSH接続します。
ssh -i ~/.ssh/My\ Amazon\ Linux2.pem ec2-user@パブリックIPv4アドレス
※パブリックIPv4アドレス はインスタンスの詳細からコピーして差し替えてください。
以下のような表示が出力されると成功です。
Last login: <ログイン日時> from <接続元ホスト名またはIPアドレス>
, #_
~\_ ####_ Amazon Linux 2
~~ \#####\
~~ \###| AL2 End of Life is 2026-06-30.
~~ \#/ ___
~~ V~' '->
~~~ / A newer version of Amazon Linux is available!
~~.. _/
_/ _/ Amazon Linux 2023, GA and supported until 2028-03-15.
_/m/'
macの場合は、ターミナルで ⌘ Command
+ D
を押すとログアウトできます。
ファイル名に空白や日本語ある場合
ファイル名に空白や日本語が含まれているときは、
そのままでは正しく認識されない場合があります。
そのため、以下のいずれかの方法で囲む/エスケープが必要です。
例:ファイル名が「My Amazon Linux2.pem」の場合
My\ Amazon\ Linux2.pem
"My Amazon Linux2.pem"
sshコマンド権限エラー
The authenticity of host '<サーバーIP>' can't be established.
ED25519 key fingerprint is SHA256:<フィンガープリント>.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '<サーバーIP>' (ED25519) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'My Amazon Linux2.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "My Amazon Linux2.pem": bad permissions
ec2-user@<サーバーIP>: Permission denied (publickey).
※固有情報は削除しています。
上記のようなエラーが表示された場合、.pemファイルのパーミッション(権限)が緩すぎることが原因です。
以下に解決策を示します。
chmod 400 My\ Amazon\ Linux2.pem
このコマンドを実行することで、.pemファイルを「所有者のみ読み取り可能」に設定し、他のユーザーからのアクセスを防ぎます。
VSCodeリモート接続
VSCodeにRemote SSH拡張機能をインストール
VSCodeの拡張機能に Remote - SSH
をインストールします。
VSCodeから接続してみる
- VSCodeの左下にある「><」のリモート接続ボタンをクリックします。
- ホストに接続をする...を選択する。
-
コマンドを入力してEnterを押す。
コマンドssh -i ~/.ssh/My\ Amazon\ Linux2.pem ec2-user@パブリックIPv4アドレス
-
リモートエクスプローラを表示する。
-
接続する。
- ターミナルを確認する。
以下のように表示されていれば接続完了!
[ec2-user@ip-パブリックIPv4アドレス]
設定を間違えた場合
接続設定を間違えた場合は、~/.ssh/config
ファイルを編集して修正できます。
インスタンスの起動・終了・削除
該当のインスタンスを選んで、インスタンスの概要を表示する。
その中にある、「インスタンスの状態」のプルダウンメニューから状態を選択する。
このあと何をする?
EC2に接続できたら、次のステップとして以下のようなことができます。
- Apache をインストールして Web サーバーを立ててみる
- Git / Node.js / Python などを入れて開発環境を整える
- ファイアウォールやセキュリティグループを調整して公開テスト
あなたの目的に合わせて、EC2を自由に使いこなしていきましょう!
Discussion