お金も時間も無いがサーバーを立てたい

 最初に

この記事は、静大情報LT大会(IT) Advent Calendar 2018 の3日目の記事でごぜえます。

adventar.org

 久々に更新をする

2年前ぐらいにとりあえず開いて(パスワードを掛けつつ)、その後飽きて更新をとめておりました。マジで久々すぎて、過去記事を見て涙が出そうになったりならなかったり(更新の仕方すら忘れたなんていえない)

 

貧乏学生なので金が無い

そう、お金が無いのです。しかし我々には男の子の日(サーバーを立てたい欲)という物がありましてサーバーを立てて色々と遊びたい今日のこの頃。

というわけで、今回は 有名なクラウドサーバー2社でサーバーを立てるRTAを走った記録を書く。

レギュレーション

  • ログインしてからタイマースタート
  • サーバーにssh接続を行い、SLを走らせて、画面外に行ったところでタイマーストップ
  • 必要な情報等は、全て知っているものとする
  • 無料枠の範囲で行う。

選手紹介

  • AWS EC2サーバー

aws.amazon.com

皆さんおなじみのAmazonさんのやつ。正式名称は「Amazon Web Service」。自分も無料期間切れるまでは使っていた。今回は無料枠での挑戦。

  •  GCP Compute Engine

cloud.google.com

正式名称は、「Google Cloud Platform」自分の周りで使っている人が余り居ないので知られていないが、Googleさんが取り扱っているクラウドサービス。なんと永久無料枠があるだとか。

 

今回はこの2つでRTAを行う。

環境

 それぞれの手順(サーバーを立てるところからSLを走らせるところまで)

サーバーの立て方

  1.  ログインをする
  2. EC2ダッシュボードを開く
  3. インスタンスの作成を開く
  4. OSの種類を選択(適当、今回はAmazon Linux)

    f:id:shussy8:20181202180444p:plain

  5. インスタンスタイプの選択(無料枠を選ぶ)

    f:id:shussy8:20181202180447p:plain

  6. 立てたときに、使用する.pemファイルを使うならダウンロード(要はSSHを使用するときに使う鍵。)

 以上!! めっちゃ簡単

次にSSHwindows側から繋いで見る(基本は以下のページを見ながらやれば問題ないはずだが、とりあえずこれだけやっておけば問題ないところを抜粋)

SSH を使用した Linux インスタンスへの接続 - Amazon Elastic Compute Cloud

  1. chmod 400を先ほどダウンロードした.pemファイルに掛けて権限付与する
  2. ssh -i [.pemファイル] ce2-user@パブリックDNSでアクセスできる
  3. The authenticity of host 'ec2-番号.us-east-2.compute.amazonaws.com (ip)' can't be established.
    ECDSA key fingerprint is SHA256:キーの中身.
    Are you sure you want to continue connecting (yes/no)?
    と聞かれる。これはshaの認証してもいいですかとの事(多分)なので、とりあえずyesで、

    一度アクセスが拒否されるかもしれないが、とりあえずもう一度アクセス。
    すると入れる。

  4. SLのインストールを行う。コマンドは sudo yum install sl
  5. 落ちてきたら、slを走らせる。

 

  • GCP Compute Engine

まずはサーバーの立て方から

  1. ログインする
  2. 左上のナビゲーションメニューから、Compute Engine>VMインスタンスを選択
  3. 作成をクリック
  4. 上から順に項目を埋めてゆく。今回の場合、無料枠なので、リージョンをus-~、マシンタイプをmicroにする。ブートディスクは好きなものでよい()f:id:shussy8:20181202183553p:plain
  5. 一番下の作成ボタンを押して完成

こちらも数クリックで簡単に出来る。ただし無料枠に入れるためにちょっと設定が必要なのは仕方ない

しかし、ここからSSHで接続してslのインストールを行うまでは、爆速。

f:id:shussy8:20181202190202p:plain

なんとインスタンス一覧の画面でsshという項目があるが、ここからブラウザ経由で接続が出来る。なんて簡単なんだろう。

*1

後はsudo apt install slでインストール完了。

 

RTA開始

今回はこちらのストップウォッチを使用した。小さいウィンドウで行った。

ストップウォッチ|ブラウザ・スマホですぐ使えるWEBアプリ

 

では早速走ってみる。

 

スタートしてとりあえず大急ぎでEC2のコンソールを開き、OSは適当、それ以外は無料枠となっているので作成ボタンを押す。そしてpemキーを名前を適当につけダウンロードをし、インスタンス作成。すかさずDNSを確認してCygwinを開き、落ち着いてchmodをかました後ssh、質問を聞かれたがyesで答えて、yumでインストールしてsl。ここでタイマーストップ。
 さて果たして時間は…

f:id:shussy8:20181202215840p:plain

 140秒!!

普通に早くね?と思った。サーバー建てようと思って140秒で建てれるものじゃあない。slのインストール時間を除くと2分ぐらいだろうか。

 

  • GCP Compute Engine

 スタートしてとりあえずVMインスタンスの作成画面に入り、マシンをmicro、ストレージを30Gにして作成。そして待つ。この待ち時間がもどかしい感じもある。インスタンスが生成できたらsshをブラウザ経由でつなぎ、apt install slを打つ。そしてslが無事に走る。さて、果たしてタイムは…

 

f:id:shussy8:20181202215843p:plain

105秒!!!

ええ…さらに早くなるのか…

slのインストール時間を除くとおそらく80秒程度、早い。

 

結果

僅差だと思うがGCPの方が早かった。おそらく一番でかかったのはブラウザ経由でそのままsshできるところ。この差で勝ったのではなかろうか。おそらくGCPのほうも手元に暗号化鍵を落としてきて繋ぐとかになるともう少し時間がかかりそうなので、そのてんだと余り変わりは無いのかもしれない。インスタンスの立ち上げはAWSの方が圧倒的に早かった(体感)のでsshに繋ぐところをつめればさらに早くなると思う。

 

再走ポイント

  • EC2にcygwinから繋ぐとき、user名を忘れそうになって一度コマンドを消した
  • pemキーの名前をつけるとき、6文字の名前にしたが1文字でよかったのでは
  • 初めてのsshを繋ぐときになにか聞かれるのを忘れてて一瞬あせった
  • あれ?これEC2の再走ポイントしかなくね?

完走した感想

どちらにせよ、サーバーを立てるのに5分もかからないようなことになっているのは凄いと思う。あと、サーバーを立てるのは割りと敷居が高い事のように思われるが、このようにクラウドの力を借りると数クリックで簡単に建てれてしまう。これでいつでもサーバー建て放題じゃん。やったね。再走しろとか他のもやれとの声があればやるかも知れない。

最後に

こんなに簡単にサーバーが立てれるのならもっと早めにやっておけばよかったとAdvent Calendarネタながら思った。とりあえずでやってみたけど面白かったので、よければ皆さんもぜひ。あと、今後ブログ定期的に更新しようかなーと少し思った。