メインコンテンツまでスキップ

接続方法と使い方

リモート開発環境として利用する ec2-sandbox を立ち上げてから、接続して利用する方法についての詳細です。

VSCode を利用する場合

Node.js または Python 利用時に最もカジュアルに利用されている VSCode (Visual Studio Code) というエディタを利用する場合の接続方法です。

1. SSH 設定ファイルの作成・編集

以下の流れに沿って SSH 接続設定ファイル(~/.ssh/config) 確認・編集を行います。

  • ホームディレクトリに .ssh/config ファイルがない場合、あらかじめ作成しておく
  • VSCode を立ち上げ、 [ ファイル ] → [ ファイルを開く... ]
  • 左側 [ ホーム ] → .ssh フォルダを選択 → config ファイルを選択して開く

開けたら、以下のように設定内容を追記します。

Host ec2-sandbox-x86_64-{region}-{alias} # 選択肢として表示される名前(任意の値でOK)
HostName xxx.xxx.xxx.xxx # ec2-sandbox インスタンスの Public IP を指定
IdentityFile ~/.ssh/{private_key_file} # キーペア作成時のプライベートキー
User ec2-user # Amazon Linux 2023 デフォルトユーザー名

# ...
【 Private サブネット構成のみ 】 Sesson Manager プラグインのインストールとセッション開始

Private サブネット構成の場合、SSH 設定ファイルで記載した proxyCommand が利用できるように、AWS CLI および Session Manager のプラグインをインストールします。

プラグインをインストールしたら、SSH 接続を開始する前に、一旦ターミナルを開き、以下のようセッションを開始してから VSCode を起動してください。

aws ssm start-session ^
--region {AWS_REGION} ^
--target i-xxx ^
--document-name AWS-StartSSHSession

2. Remote SSH 拡張機能インストール

VSCode のコマンドパレットを開き、以下の流れに沿って拡張機能をインストールします。

Ctrl + Shift + P

  • 上記ショートカットでコマンドパレットが開き、"Install Extensions" を入力・選択
  • "Remote - SSH" を入力し、Microsoft 製の [ Remote - SSH ] を選択、Install ボタンを押す
  • 完了後、コマンドパレットから "Reload Window" を選択して画面をリロード

3. リモート接続

拡張機能インストール及びリロード後、再度コマンドパレットを開き、以下の流れに沿って拡張機能をインストールします。

  • "Remote-SSH: Connect To Host" を入力・選択
  • 「1. SSH 設定ファイルの作成・編集」で登録した Host の項目を選択
  • 新しいウィンドウが開き、接続が完了

4. 使い方

「3. リモート接続」でエラーなく新しいウィンドウが立ち上がったら、設定自体は完了です。 slsops-ec2-sandbox AMI を利用している場合、以下のように使い方を確認していきます。

  • 右側サイドバーの [ Explorer ] アイコンを選択
  • [ Open Folder ] を選択し、_sample フォルダを選択、[ OK ] ボタンを押す
  • VSCode のメニューから [ Terminal ] → [ New Terminal ] を選択
  • cd hello-api && node index.js を実行

最後に、動作確認します。

  • ブラウザで http://{ec2-sandbox-public-ip}:3000/ を開く
{ "message": "設定は完了です。お疲れ様でした。" }

以降、自由にファイルの作成・編集、ターミナルを利用してプログラムを実行するなど、開発機としてご利用いただけます。別途 AWS 認証情報を指定しなくても、インスタンスロールを利用した AWS CLI の操作も可能です。

5. インストールされているもの

以下のように確認可能です。

# AWS CLI
aws --version # aws-cli/2.25.0 Python/3.9.23 Linux/6.1.141-155.222.amzn2023.x86_64 source/x86_64.amzn.2023
q --version # v1.12.2(Amazon Q Developer)
sudo systemctl status amazon-ssm-agent # loaded (/etc/systemd/system/amazon-ssm-agent.service; enabled; preset: enabled)
sudo systemctl status amazon-cloudwatch-agent # loaded (/etc/systemd/system/amazon-cloudwatch-agent.service; disabled; preset: disabled)

# Node.js
nodenv --version # nodenv 1.5.0+51.8948584
node -v # v22.14.0
npm -v # 10.9.2

# Python
pyenv --version # pyenv 2.5.4-3-g67f474d3
python --version # Python 3.13.2
pip --version # pip 25.1.1 from /home/ec2-user/.pyenv/versions/3.13.2/lib/python3.13/site-packages/pip (python 3.13)
poetry --version # Poetry (version 2.1.3)

# Terraform
tenv --version # version v4.7.6
terraform --version # Terraform v1.12.2

# Java
java --version
# openjdk 24.0.1 2025-04-15
# OpenJDK Runtime Environment Corretto-24.0.1.9.1 (build 24.0.1+9-FR)
# OpenJDK 64-Bit Server VM Corretto-24.0.1.9.1 (build 24.0.1+9-FR, mixed mode, sharing)

# Docker
docker --version # Docker version 25.0.8, build 0bab007
docker compose version # Docker Compose version v2.17.0

# TigerVNC
sudo systemctl status vncserver@:1 # loaded (/usr/lib/systemd/system/vncserver@.service; enabled; preset: disabled)

6. デスクトップ環境の使い方

このec2-sandboxにはデスクトップ環境がインストールされています。アプリケーションによってはlocalhostでサーバーを立ち上げてブラウザなどから確認を行いながら開発を進める必要があるためです。

TigerVNCサーバーというローカルPCからデスクトップ環境にアクセスするためのサーバーがインストールされており、アクセス用の初期パスワードにslsops1234が設定されています。まずは使用前に以下コマンドを実行してパスワードをご自身のものに変更してください。対話式でパスワードの設定が行えます。

vncpasswd

プライベートサブネットにec2-sandboxを設置している場合はssmを使ってポートフォワーディングを行ってから接続を行ってください。

aws ssm start-session \
--profile <AWSアカウントプロファイル> \
--region ap-northeast-1 \
--target <インスタンスID> \
--document-name AWS-StartPortForwardingSession \
--parameters portNumber=“5901”,localPortNumber=“5901"

その後は、ローカルPCにTigerVNCRealVNCなどのクライアントツールをインストールしてローカルからec2-sandbox上のデスクトップに接続してください