AWS入門時に参考にした記事(概要・コマンドラインからの実行・Jupyter Notebookの使用)

2019-10-15 公開

遅ればせながらAWS(Amazon Web Services)を触り始めたので、その際に参考にさせていただいた記事やドキュメントをメモしておく。

データ分析に使用するので、ひとまずの目的は以下の4つ。

  • 概要・全体像把握
  • インスタンス立ち上げ・GPUを用いた深層学習
  • AWS CLI使用(コマンドラインからのインスタンス開始・停止)
  • Jupyter Notebook使用

AWS概要・全体像把握

AWSとは何か、どんなサービスがあるのか

avinton.com

見るべきもの、やるべきこと

qiita.com

各論、トピック

VPCについてなど

bit-drive.ne.jp


読みやすい連載

bit-drive.ne.jp


興味のあるサービスの概要をぱっと掴むのに良い

aws.amazon.com


マンガ連載で分かりやすい。やる気も出る

aws.amazon.com

AWSでGPUを用いた深層学習

インスタンス立ち上げからkerasのサンプルコード実行まで

t.co

AWS CLI使用

コマンドラインからインスタンスを開始・停止したい

AWS CLIのインストール

公式ドキュメント

docs.aws.amazon.com

CLIでのインスタンス起動・停止

上の公式ドキュメントでは分かりにくかったインスタンス起動・停止のコマンドについて

t.co

AWSでのJupyter Notebook使用

Jupyter Notebookへの接続方法

公式ドキュメントが分かりやすい

SSHでポートフォワーディングする手軽な方法

aws.amazon.com

セキュリティ

Jupyter Notebook上のWeb UI内容はAWS上での処理結果がローカルPCに送られてきたものであるため、「データ等の通信内容が丸見えなのでは」と心配になる。

先述のSSHでのポートフォワーディングであれば、Web UIとの通信もSSHなのでリスクは下げられるとのこと。*1


今回は SSH Port Forwarding を使って Web UI をインターネットに晒すことなく使う方法について書く。 このやり方ならリモートサーバに SSH でログインしたユーザだけが Jupyter Notebook を使えるようになる。 また、Web UI との通信も SSH 経由になるので HTTP over SSL/TLS (HTTPS) を使わなくても盗聴のリスクを下げられる。

(引用元: リモートサーバの Jupyter Notebook を SSH Port Forwarding 経由で使う - CUBE SUGAR CONTAINER)

接続を許可するポートを絞るといった対策も

blog.amedama.jp


SSH Port Forwarding を使うと、インスタンスのポートをインターネットに晒すことなく利用できる。

(引用元: Google Compute Engine で SSH Port Forwarding する - CUBE SUGAR CONTAINER)

こちらはGCPについて。参考にメモしておく。

blog.amedama.jp

おわりに

以上で最低限の知識と環境は整った。

データ分析を行ううえでは他にも、必要なパッケージやJupyter Notebook拡張機能のインストール等が必要だが、普段の環境と同じようにやれば良い。

関連

.pyファイルの自動保存

www.kokokocococo555.com

目次表示

www.kokokocococo555.com


関連ツイートのスレッド

*1:SSHは通信内容が暗号化されているはず