0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【データサイエンス環境構築】 SpyderでAWSのEC2インスタンスにリモートアクセスする

0
Last updated at Posted at 2026-08-22

はじめに

本記事では、Pythonのデータサイエンス特化IDEであるSpyderで、AWSのEC2インスタンスにリモートアクセスする手順を説明します。
これにより、Spyderの素晴らしい操作性の下でAWSの豊富な計算リソースを使用することができます。

手順の全体的な流れとしては目次の通りです。

  1. AWSのEC2インスタンスを起動する
  2. ローカルPCのターミナルでEC2インスタンスに接続する
  3. Spyderと接続するためのPython仮想環境を作成する
  4. ローカルPCのSpyderでリモートアクセスする

ローカル環境は以下の通りです。

  • Windows 11
  • Spyder 6.1.6 (standalone)

Macでも手順に大差はありません。

1. AWSのEC2インスタンスを起動する

AWSコンソールにログインし、EC2のアプリを立ち上げた画面で「インスタンスを起動」を押します。

1-aws_ec2.png

インスタンスの設定

続く画面ではインスタンスの性能を設定できます。
今回の構成は以下にします。

  • インスタンスの名前: spyder_remote
  • OS: Ubuntu

2-インスタンスを起動1.png

3-インスタンスを起動2.png

キーペアの作成

続いてキーペアの作成です。
キーペア(ログイン)」とある箇所の「新しいキーペアを作成」を押すと下のような画面が表示されます。
今回は以下の構成にします。

  • キーペア名: spyder_key
  • キーペアのタイプ: RSA
  • プライベートキーファイル形式: .pem

これで「キーペアを作成」を押下すると、自身のPCに「spyder_key.pem」というファイルがダウンロードされます。
このファイルは後で使用しますが、ひとまずダウンロードフォルダに置いたままにします。

4-キーペア作成.png

ネットワークの設定

同じ画面を下にスクロールすると、ネットワークの設定ができます。
今回は、セキュリティグループを作成し、トラフィックを許可するIPアドレスは自分のIPアドレスに限定します。

5-ネットワークの設定.png

ここまで設定したら、画面右側にある「インスタンスを起動」を押します。
そうすると下の画像のページに遷移するので、真ん中の「インスタンスに接続」を押します。

6-インスタンスに接続する.png

すると下の画像のページに遷移します。
一旦ブラウザ上での操作はここで終わりです。
このページの「SSHに関する情報」はアクセス手順の中で後ほど訪れるため、すぐに確認できるようにしておくとスムーズです。

7-linuxインスタンスに接続.png

SSHに関する情報

  • ユーザー名: ubuntu
  • パブリックDNS: ec2-192-0-2-1.ap-northeast-1.compute.amazonaws.com

2. ローカルPCのターミナルでEC2インスタンスに接続する

ターミナルのスクショは、セキュリティに関わる箇所を一部AIで加工しています。
そのため表記が不自然な箇所がありますが、ご了承ください。

コマンドプロンプトを開きます(Macだとターミナル)。

まず、先ほどダウンロードしたspyder_key.pemファイルをカレントディレクトリに移動させます。

次に、先ほどのブラウザの画面で「接続方法」の箇所にある、「インスタンスに、そのパブリックDNSを使用して接続する」のコマンドをコピペして実行します。
(Macだとこのとき、先にchmod 400のコマンドを実行します。)

コマンド実行でエラーが起きなければ、EC2インスタンスへの接続は成功です。
lspwdをすると、コマンドがローカルではなくAWSサーバー上で実行されていることが分かります。

move "Downaloads\spyder_key.pem" .
ssh -i "spyder_key.pem" ubuntu@ec2-192-0-2-1.ap-northeast-1.compute.amazonaws.com

9-ssh接続.jpg

3. Spyderと接続するためのPython仮想環境を作成する

ここからはEC2上でPythonの仮想環境を構築します。

pipのインストール

まずは以下のコマンドでpipをインストールします。

sudo apt update && sudo apt install python3-pip

10-pipのインストール.jpg

インストール終了後は、python3 -m pip listなどでpipコマンドが使えるようになっていることが確認できます。
この時点でpip installコマンドを使おうとすると、下の画像のようにexternally-managed-environmentというエラーが出るので、venvをインストールして仮想環境を構築します。

11-pipインストールエラー.jpg

仮想環境の作成

以下のコマンドでvenvをインストールします。

sudo apt install python3.14-venv

12-venvのインストール.jpg

次に、spyder_envという名前の仮想環境を作成して、アクティベートします。

python3 -m venv spyder_env && source spyder_env/bin/activate

13-仮想環境の作成.jpg

上の画像のように、ユーザー名(ubuntu)の左に(spyder_env)と表示されれば成功です。

Spyderと接続する準備

続いてこの環境にspyder-kernelsをインストールします。
このとき、ローカルのSpyderのバージョンに合わせたバージョンを指定してください。私の場合Spyder6.1.6なので、spyder-kernels==3.1を指定します。

pip install spyder-kernels==3.1

14-spyderカーネルのインストール.jpg

次に以下のコマンドを実行してリモートアクセスに必要なjsonファイルを作成します。

python -m spyder_kernels.console

下の画像のkernel-31426.jsonがファイル名になります。
この辺りのリモートアクセスの準備の手順は、Spyderの公式ドキュメントに記載されています。

15-spyder_kernel_console.jpg

次に、新しくコマンドプロンプトを立ち上げます。
ここからの一連の手順は、先に画像を貼って、順にコマンドを説明していきます。

16-ssh.jpg

まず、以下のコマンドを実行して、EC2上のjupyter runtimeディレクトリのパスを取得しています。
ここでubuntu@ec2...の箇所は、「SSHに関する情報」のユーザー名@パブリックDNSという構成になっているので、適宜変更してください。

ssh -i "spyder_key.pem" ubuntu@ec2-192-0-2-1.ap-northeast-1.compute.amazonaws.com "source spyder_env/bin/activate && jupyter --runtime-dir"

コマンドを実行した結果、以下のパスが出力されています。

/home/ubuntu/.local/share/jupyter/runtime

ここで、先ほどのkernel-31426.jsonファイルは、jupyter runtimeディレクトリ下に存在するので、以下のコマンドでローカルPCにこのファイルをコピーしています。

scp -i "spyder_key.pem" ubuntu@ec2-192-0-2-1.ap-northeast-1.compute.amazonaws.com:/home/ubuntu/.local/share/jupyter/runtime/kernel-31426.json .

実行後は、dir kernel-31426.jsonでファイルがローカルにコピーされていることを確認しています。

これでコマンドプロンプトを用いた操作は終了です。

4. ローカルPCのSpyderでリモートアクセスする

ローカルPCのSpyderを立ち上げ、「コンソール」から「既存のカーネルに接続」を選択します。

17-spyderコンソール.png

そうすると以下の画像のポップアップが表示されるので、「リモートカーネル(SSH経由)を設定する」と認証方法の「SSHキーファイル」のチェックボックスを選択します。
その後、以下の情報を入力してOKを押します。

  • 接続情報ファイル: scpでコピーしたjsonファイルのパス
  • ホスト名: パブリックDNS
  • ポート: 22
  • ユーザー名: ユーザー名
  • SSHキーファイル: ローカルPC上の.pemファイルのパス

パブリックDNSとユーザー名は「SSHに関する情報」からコピペします。

18-既存のカーネルに接続.png

そうするとコンソールペインに、EC2インスタンスに接続されたコンソールが立ち上がります。
これで完了です。
lspwdなどで実際に接続されていることを確認します。

19-接続成功.png

後はpip installで必要なライブラリをインストールしたり、ローカルに保存されているPythonスクリプトを実行したり、自由にSpyderを使えます。
もちろん変数エクスプローラーも有効です。

Spyderのコンソールは、コマンドが上手く実行できないことがしばしばあります。
ライブラリのインストールなども、基本的にはターミナル経由で行った方がトラブルが少ないです。

20-スクリプト実行.png

不要になったEC2インスタンスは停止するのを忘れずに。
それではSpyderで快適なデータサイエンスライフを!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?