Np-Urのデータ分析教室

オーブンソースデータなどWeb上から入手できるデータを用いて、RとPython両方使って分析した結果を書いていきます

AWS上でR(ついでにR studioも)を使用する方法を世界一簡単に解説した

前回は自分のPC上でRの環境をセットアップする方法について書きました。
randpy.hatenablog.com

今回は、PCの環境を汚したくないという方に向けて、AWS(アマゾンウェブサービス)を使ったRの環境構築方法についてご紹介します。
AWS自体初めて触る、という方も大丈夫です!

なお、AWSはちょくちょくサイトのUIが変更されるので、以下にスクショ撮りながらまとめましたが、多少デザインが変わっている可能性があるのでご注意ください。ただ大幅に変更されることは無いと思うので、何となく察しながら進んでもらえれば幸いです。

そもそもAWSって何さ?

簡単にAWSについてご紹介します。
AWSとは、クラウド上で色々するためのサービスです。(超ざっくりですいません……)

もう少し具体的に言うと、

  1. 仮想サーバーを立てる
  2. データベースとして使う
  3. コンテンツ配信

などに使わるサービスとなっています。
今回はAWS上に仮想サーバーを立てて、そこでRを使ってみるということしてみたいと思います。

クラウド上で使えるため、Rが手元の環境になくても、また一度環境構築さえできればブラウザさえあれば世界中どこからでもRを使えるようになります(とても便利!)。

AWSにユーザー登録

AWSにまだアカウントが無い方は、下記を参考にユーザー登録をしましょう。

まずはユーザー登録から登録画面に行ってください。

f:id:Np-Ur:20170604212552p:plain

そこから、メールアドレスを入力して「サインイン」に進みましょう。下記のような画面に移るので、必要事項を入力して「アカウントの作成」をクリックしてください。
f:id:Np-Ur:20170604212605p:plain

次の画面で住所やクレジットカードなどを求められるので入力して更に進んでください。

AWSにログインしてサーバーを立てる

無事にアカウント登録はできましたでしょうか?
早速ログインして仮想サーバーを立てる工程にいきます。

まずはログインしましょう。
AWSのトップページから「サインイン」をクリックしましょう。
f:id:Np-Ur:20170604215432p:plain

次に先ほど登録したメールアドレスとパスワードを入力してください。
f:id:Np-Ur:20170604215655p:plain

その後、コンピューティング階層の「EC2」を選択してください。
f:id:Np-Ur:20170604220855p:plain

これが仮想サーバーとなります。

EC2のサービス画面に進んだら、「インスタンスの作成」をクリックしてください。
f:id:Np-Ur:20170604221107p:plain

様々なサービスが選べますが、最も一般的なAmazon Linuxを選択するのがよいでしょう。
f:id:Np-Ur:20170605235855p:plain


次はインスタンスタイプを選ぶフローとなります。メモリやストレージの大きさから最適なプランを選ぶことができます。それぞれに詳しいプランについては、EC2 インスタンスの料金をご覧ください。

もし新規にAWSにユーザー登録した場合、その中の「t2.micro」が750時間無料で使えます。
f:id:Np-Ur:20170605202453p:plain
メモリは小さいので、大規模な計算をさせたい場合は適切ではありませんが、「試しに使ってみたい!」という場合はこちらで十分だと思います。

次に色々細かい設定をすることができますが、最初はセキュリティーグループだけで良いでしょう。

f:id:Np-Ur:20170605203016p:plain

このあと立てたサーバーにSSHログインをしてRをインストールするのですが、そのための設定をします。
f:id:Np-Ur:20170605204222p:plain

左のタイプから「SSH」を選択し、右のソースの部分を「マイIP」にして自分のパソコンからのみログインできるようにしましょう。
次にR studioを使えるようにするために、左のタイプから「カスタムTCPルール」を選択し、ポート範囲を「8787」と入力し、また右のソースを「マイIP」にしてください。

ここまでできたら右下の「確認と作成」ボタンをクリックし、その後「起動」をクリックしてください。(本当にあと一歩でサーバーが立ち上がります。もう少し頑張りましょう!)

最後にキーペアを作成します。キーペアとは、サーバーにログインするためにパスワードのようなものです。
f:id:Np-Ur:20170605204042p:plain

自分で分かるような名前を設定して、「キーペアのダウンロード」をクリックしてダウンロードを完了させてください。(とても大事なので無くさないようにしてください)
ダウンロードしたら、「インスタンスの作成」を押せば完了です!

少し時間はかかりますが、以下のように「インスタンスの状態」という項目が「running」となっていれば完璧です!

f:id:Np-Ur:20170605212813p:plain
なお,後ほどこの「パブリックDNS」と「IPv4 パブリック IP」の部分は使うのでどこかにメモって置いてください。


お疲れさまでした!!

AWSにログイン

インスタンスが立ち上がったら、早速ログインしましょう。
WindowsユーザーとMacユーザー向けにそれぞれログイン方法を紹介するので、ご安心ください。

Windowsからログインする方法

色々方法はありますが、恐らくPutty(SSH接続するツール)を使ってログインするのが簡単だと思います。
もしPuttyを持っていない方は、こちらからPCにインストールしてください。

PuttyからSSH接続するためには、先ほどのキーペアをPuttyからログインできるように変換する必要があります。
Puttyを入れるとPuttygenというツールも一緒にインストールされるので、それを開いてください。

f:id:Np-Ur:20170605211035p:plain
「load」をクリックして先ほど、ダウンロードしたキーペア(拡張子が.pemのやつです)を選択しましょう。
その後、「Save private key」をクリックすると、以下のような警告メッセージが出ますが,気にせず「はい」をクリックしてください。
f:id:Np-Ur:20170605211407p:plain

すると、PuttyからSSH接続できる、拡張子がppkのファイルが保存されます。そしたらPuttygenは閉じてしまって大丈夫です。

次にPuttyを開いてください。
「Host Name」のところに、
「ec2-user@[パブリックDNS]」と入力してください。「パブリックDNS」の部分は先ほどメモったやつをコピペしてください。

f:id:Np-Ur:20170605213246p:plain

次に、Connection >> SSH >> Auth と進み、Browseから先ほどダウンロードしたppkファイルを選択してください。

f:id:Np-Ur:20170605213810p:plain

その後「Opne」をクリックするとSSH接続ができるはずです。アラートが出ますが、「はい」で大丈夫です。
以下のような画面が出れば大成功です!

f:id:Np-Ur:20170605214023p:plain

お疲れ様でした!


Macからログインする方法

MacからはSSH接続が非常に簡単です。
ターミナルを開いて、

先ほどダウンロードしたキーペアがある場所まで移動し、

$ chmod 600 testtest.pem

のように入力してください。(testtest.pemの部分はpemファイルの名前で適宜書き換えてください。)
これで接続できるように権限を変更することができました。

次に、同じくターミナル上で

$ ssh -i "キーペアがあるディレクトリ/testtest.pem" ec2-user@[パブリックDNS]

を入力すればSSHログインできるはずです。
[パブリックDNS]には先ほどメモったものをそのまま貼り付けてもらえれば大丈夫です!

もしエラーが出た場合は、エラー内容をググればいっぱい情報が出てくるはずです。

AWSにログインできたらRをインストール

現在SSH接続できている状態かと思います。
やっとですが、Rをインストールしていきましょう。

まず

$ sudo yum update

してアップデートを完了させます。途中何か聞かれたら「yes」を選択すれば大丈夫です。

次に以下のコマンドでRを入れます。

$ sudo yum install R

簡単ですね!

次にR studioを入れます。

$ wget https://download2.rstudio.org/rstudio-server-rhel-1.0.143-x86_64.rpm
$ sudo yum install --nogpgcheck rstudio-server-rhel-1.0.143-x86_64.rpm

このファイル名の部分は最新のファイル名に以下を参考に置き換えてください。
https://www.rstudio.com/products/rstudio/download-server/

これでR studioも入ったので起動します。

$ sudo rstudio-server start

これで起動したはずなので、
http://[IPv4 パブリック IP]:8787
にアクセスしてみましょう。

例えば[IPv4 パブリック IP]が「11.11.11.11」だとしたら、
http://11.11.11.11:8787
にアクセスしてください。

f:id:Np-Ur:20170605235053p:plain

ここでユーザー名とパスワードを求められるのですが、まだパスワードを設定していないと思うので

$ sudo passwd ec2-user

これで「ec2-user」というユーザーにパスワードを設定できます。

2回入力を求められるので注意してください。

f:id:Np-Ur:20170605235419p:plain

ユーザー名に「ec2-user」、パスワードに先ほどの設定したものを入力してください。
以下のような画面が現れれば完了です。
f:id:Np-Ur:20170605235634p:plain

お疲れさまでした!

次回からデータ分析に入ります。
今後はPCを使って分析しても良いですし、R studioを使っても大丈夫です!

お楽しみに!