苦学生の為のタダ鯖指南 〜GCPでE2-Microインスタンス編〜
Googleが提供するクラウドサービス、Google Cloud Platform(以下GCP)の所謂「Always Free枠[1]」を使用して、タダでサーバーを建てようという記事です。
大体やっすい小型ノートPC[2]を超える位の性能は出るので、勉強目的なら大抵何でも出来ます。
TL;DR
- Googleのクラウドサービスで無料でVM(仮想マシン)を使用する
- アメリカの、2 vCPU, 1GB RAM, 30GBストレージなサーバー
- クレカ登録不要な安心仕様
- 新規登録時に300ドル分[3]のクーポンが貰える(90日の有効期限あり)
- 外部公開には別途ドメインが必要
- 一応固定グローバルIPも無料で貰える
- 基本的に無料だが分かりづらい点や注意点あり
必要なもの
以降進めていくために最低限必要なもの。
- Googleアカウント
これが無いと始まりません。 - 携帯電話番号
SMSが受け取れるやつ。一部キャリアは受け取れないようです。
あると良いもの
GCPでのタダ鯖生活にあると良いもの。
- 独自ドメイン
外部にサービスを公開するなら必須。勿論、サーバーで遊ぶだけなら要りません。 - ローカルのSSHクライアント環境
GCPのVMはブラウザからSSH接続出来ますが、まあローカル環境の方がレスポンス[4]は良いです。これは追々で大丈夫です。 - 若干の英語力
GCPの公式ドキュメントは日本語化されてない場所が多々あるので、その対策。
この記事を読んでいく上で知っておいて欲しいこと
読み進むうえで留意しておくべきあれこれ。
- 金が絡むので最終判断はご自分で
GCPに限らずですが、クラウドは非常に料金体系が分かりずらい。この記事の通りにやって金が掛かった!どうしてくれる![5]と言われても困るので、あくまで自己責任でお願いします。 - 注意!注釈密集地帯
記事の構成の都合上[6]、与太話が非常に多いです。そういった事柄は注釈の方に格納した結果[7]、注釈が非常に多くなっています。ここまで読み進めていると分かると思いますが、Zennは注釈を表示するとき記事下部に一々飛ぶので面倒です。読み飛ばしても大丈夫なように記事構成はしているつもりです。
まずは新規登録から
なにはともあれ、GCPへの新規登録から始めます。
Google Cloud Platform
基本的には登録フローに合わせてやっていくだけなので省略。使用するGoogleアカウントの選択と、SMSでの本人確認が必要です。
新規登録を終えて
無事アカウントの作成が終われば、晴れてGCP生活の幕開けです。
あなたは今下の2つを持っています。
- Always Free枠
永年無料で利用できるあれこれ。大雑把には こちら 、詳しくは こちら 。 - 有効期限が90日間の、300ドルクーポン(が紐づいた請求先アカウント)
もしGCPのAlways Free枠を超えるような動きをしても、こちらのクーポンが相殺してくれる安心親切仕様です。
我々は苦学生なので、上手いことAlways Free枠でタダ鯖を得ることを考えていきます。300ドルクーポンの有効期限が切れるまでに要件が達成できれば勝ちです。
新しいプロジェクトの作成
GCPでは様々なサービスが提供されていますが。それら全てが何かの「プロジェクト」に紐づけられるようになっています。
そのため、VMを作成する前にVMを所属させるプロジェクトを作成しておく必要があります。
初作成時の画面はもう出せないので割愛。[10]
プロジェクトを作成するためには、プロジェクト名と所属組織の指定が必要です。
プロジェクト名はお好きにどうぞ。VMの名前はこの後決めるので、それと被らなければ[11]何でもいいと思います。デフォルトもおススメ。
組織名については、基本「組織なし」を選択してください。
両方とも入力が終われば左下の「作成」をクリック。作成には10秒ほど掛かります。
作成が終われば、上画像の様[12]にようこそ画面が表示されます。
VMインスタンスの作成
GCPでは、仮想マシンのことを「VMインスタンス」と呼んでいます。「Compute Engine」というサービスの中の一つとして、VMインスタンスが提供されています。
VMを作成する画面へ行くには様々な方法[13]がありますが、今回は検索ボックスを使用する方法を使います。
VMインスタンス一覧への移動とAPI有効化
ヘッダー部分の検索ボックスに、「vm」と入力します。サジェストに「VM インスタンス」と出てくるので、こちらをクリックしてください。[14]
すると、「Compute Engine API」という画面が出てくると思います。GCPでは、各機能を使用するときに色々有効化する必要が多々あります。
今回はVMインスタンスの作成と利用にCompute Engine APIが必要かつデフォルトで無効[15]なので、有効化する画面が出てきています。
「有効にする」と書かれた青色のボタンをクリックしてください。
有効化には1分弱掛かります。終わったら自動でリロードして画面が切り替わるので待ちましょう。
上手いこと読み込みが終われば、VMインスタンスの一覧画面に自動で画面が切り替わります。
VMインスタンスの作成
ここからは実際に、これからタダで使っていくサーバーを建てる作業に入ります。
いくつかパラメーターがありますが、記事内で指定されたものは全て合わせないと無料枠から出る可能性大なので気をつけてください。
VMインスタンス画面のヘッダーの少し下にある「インスタンスを作成 VMをインポート 更新 開始/再開 .....」と表示されているファンクションバーから、「インスタンスを作成」を選択します。
サーバースペックの選択(必須)
ここでサーバーの物理的な配置場所(リージョン)やスペックなどなどを決めていくわけですが、GCPの無料枠で使用できるリージョン、スペックは決まっています。
- 選択できるリージョン
1. アメリカ西海岸、オレゴン州(us-west1)
2. アメリカ中西部、アイオワ州(us-central1)
3. アメリカ南東部、サウスカロライナ州(us-east1)
この中でおすすめなのは日本に一番物理的に近いオレゴン州です。
ゾーンは自由に選択して大丈夫です。
- 選択できるサーバースペック
E2-Microインスタンスのみ(シリーズ : E2, マシンタイプ : e2-micro)
vCPUが 0.25 ~ 2 (1個の共有コア)、 メモリが1GBになっていることを確認してください。
- ブートディスクのタイプ
標準永続ディスクを最大30GBまで
ブートディスクは、ブートディスクのセクションの「変更」ボタンをクリックで変更できます。
「ブートディスクの種類」はデフォルトでバランス永続ディスクになっており、こちらはタダでは無いので「標準永続ディスク」に変えておきましょう。
また、ここで使用するOSも選択できます。DebianでもUbuntuでもCentOSでも好きなのを選んでください。Windowsはタダではないのでダメです。
ライセンスの種類として「PAYG(従量課金制)」と表示されている場合は料金の掛かる[16]OSイメージを選択してしまっているので、変えてください。
サーバースペックの選択(任意)
他、何点か変えておくと良い項目がいくつかあります。
-
ブートディスクのサイズ
標準で10GBですが、特に理由が無ければ30GBに変えてしまいましょう。 -
ファイアウォール
すぐにWebサーバーとして公開する予定があるのであれば、HTTP、HTTPS双方許可してしまいましょう。
尚、別にこれを許可しなかったからといってyumやaptでのパッケージインストールが出来ないみたいなことはありません。[17] -
グローバルIPの設定
外部にサーバーを公開する場合、固定グローバルIPアドレス(GCPでは外部IPv4アドレスと呼ばれる)の取得が必要です。標準では「エフェメラル」と呼ばれる、インスタンスの再起動時などに変わってしまう可能性のある可変のグローバルIPアドレスが付与される設定になっています。
グローバルIPの設定(任意)
「ネットワークインターフェース」セクションの「default default (10.128~)」と表示されている行の「 v 」を押し、ネットワークインターフェースの編集画面を開きます。
「外部IPv4アドレス」で「エフェメラル」と表示されている文字をクリック。
「IPアドレスを作成」をクリック。
好きな名前を付けて「予約」をクリックしてください。
これで固定のグローバルIPアドレスを予約できました。
尚、ここで予約したアドレスも無料ですが、インスタンスとの紐づけが無い場合は課金[18]されます。しかも、インスタンスを削除しても予約したIPアドレスは自動で削除されないので気を付けてください。
この時点で画面右側に表示されている予算は1000円弱を表していると思いますが、実際には課金されないので安心してください。
必要な箇所を変え終わったら、画面下の「作成」という青ボタンを押してください。
インスタンスが建つまでは1分ほど掛かります。
見事ステータスが緑色のチェックマークになれば、タダ鯖完成です!
タダ鯖が建った後にすること
きちんとタダ鯖が建っていることを確認する必要があります。
サーバーを建ててから5日後くらい経ってから以下の作業はするようにしてください。
どの画面からでも大丈夫です。ヘッダーにある検索ボックスに「レポート」と入力して、出てくるサジェストから「レポート」(下に薄く「課金」と書かれているもの)を選択してください。
真ん中にデカデカとグラフが表示されていますが、このグラフが持ち上がっていないならひとまず請求は無しです。やったね!
尚、グラフが伸びている場合は請求確定です。[19]色んな意味でお疲れ様でした。
ちなみに、グラフが伸びていない場合、状態は2パターンが考えられます。
- Always Free枠に収まっているので請求が発生していない => やったね!
- Always Free枠外で課金されているが300ドルの無料クーポンが身代わりになっている => 請求は無いがマズい
グラフの下にある列(自分が設定したプロジェクト名が設設定されているはずです)の「費用」欄を確認してください。
5日で1~2円であればやったね!パターンです。以下は読まなくても大丈夫。お疲れさまでした。
200円前後課金されているならマズいパターンです。次に進んでください。
課金されている場合に確認すること
- 固定グローバルIPアドレスの確認
- 請求先アカウントの確認
固定グローバルIPアドレスの確認
インスタンスを作り直したなどで、固定グローバルIPアドレスがアタッチされないまま予約されている可能性があります。この場合は1日当たり80円ほどの課金になっている筈です。[21]余分なIPアドレスを予約していないか確認していきましょう。
ヘッダーの検索ボックスに「ip」と入力し、「IPアドレス」という項目をクリックしてください。(このとき、プロジェクトを選択するよう言われた場合は作成したプロジェクトを選択してください)
すると、現在自分が持っているIPアドレスが一覧で出てきます。
もしAlways Free枠内の場合は、「アクセスタイプが内部のエフェメラルなIPアドレスと、アクセスタイプが外部のエフェメラルなIPアドレス1つづつ」、又は「アクセスタイプが内部のエフェメラルなIPアドレスと、アクセスタイプが外部の静的なIPアドレス1つづつ」のどちらかの筈です。[22]
もし静的な外部IPアドレスが2つ以上あるなら、インスタンスが2つ建っているだけ[23]か、どちらかのIPアドレスが使われていません。
削除したいIPアドレスにチェックを入れ、「静的アドレスを解放」をクリックしてください。
請求先アカウントの確認
グラフが伸びている場合はこちらも確認を。
高確率で300ドルのクーポンが適用出来ていません。この場合「クーポンが付与された請求先アカウントと別の請求先アカウントを使用してプロジェクトを運用している」可能性が高いです。
つまり、どこかのタイミングで態々2つ目の請求先アカウントを作っています。
どの画面からでも大丈夫です。ヘッダーにある検索ボックスに「課金」と入力して、出てくるサジェストから「課金」を選択してください。
GCPアカウントが持つ請求先アカウントがすべて表示されます。恐らく、この時点で2つのアカウントが表示されている筈。[24]
更に請求先アカウント名をクリックすることで、その請求先アカウントのレポートに飛ぶことが出来ます。
レポート画面に「クレジット」、「Free Trial」と書かれた項目が存在するのが300ドルの無料クレジットが付与された請求先アカウント(1番初めに存在していたアカウント)。こちらにプロジェクトの請求先アカウントを切り替えることで、ひとまず今後の請求はクレジットがある限り逃れられます。
一つ前の画面に戻ります。ヘッダーの少し下辺りに、「自分の請求先アカウント マイ プロジェクト」と表示されている箇所がある筈です。「マイ プロジェクト」をクリック。
すると、作成したプロジェクトが出てくる筈です。
右端の「アクション」の点々から、「お支払い情報を変更」をクリック。無料クレジットが付与された請求先アカウントを選択してください。
タダ鯖が建ちました
長々とお疲れ様でした。上手いこといけば、これでタダ鯖ゲットです。
固定グローバルIPもあり、そこそこの性能もあるので大抵何でも出来る筈です。
GCPの使い方の練習にもなるので、是非一度触ってみてください。
-
Free Tierとも、日本語で無料枠とも。「Always Free枠」は主にOCIでの呼び方です。(今のところ)永年無料という体で提供されているクラウドサービスのこと ↩︎
-
皆大好きノート版のせろりんよりは速い気がします ↩︎
-
円安が恐ろしい勢いで進行している2022年11月現在では41000円ほどになっている ↩︎
-
ブラウザ版は一度GCPのクラウドコンソールを開く必要がある上、毎回SSH接続時にSSH認証鍵の転送が発生するので20秒ほど待たされます ↩︎
-
ネットワークの帯域使用料…とかね… ↩︎
-
? ↩︎
-
与太話をしないという選択肢はありません() ↩︎
-
筆者もLINEMO(ソフバン系SIM)で弾かれました。povo2.0(au系SIM)は通りました ↩︎
-
楽天モバイルなんかは特にブロックに積極的な上でブロック解除に積極的な印象 ↩︎
-
プロジェクトが無いことには何も出来ないので、恐らく分かりやすい場所に作成画面はあるとは思いますが…。 ↩︎
-
可読性向上のため ↩︎
-
面倒なのでマスキングしていませんが、プロジェクト番号とプロジェクトIDは他人に知られたからといってどうということは無いはずです。 ↩︎
-
ようこそ画面の「VMを作成」ボタンでも行けますし、左上のナビゲーションメニュー(「三」マーク)を押して出るメニューにもCompute Engineが固定されている筈です ↩︎
-
Compute Engine API有効化後は仮想マシン一覧画面へ飛ぶようになります ↩︎
-
基本的に全てのAPIがデフォルトで無効です ↩︎
-
しかも、24時間稼働でもした月には結構な金額を請求されます ↩︎
-
あくまでも外から中への許可みたいです ↩︎
-
1月1000円位取られてしまいます ↩︎
-
クレジットカードを登録していない場合は伸びないと思いますが… ↩︎
-
私は伸びました ↩︎
-
2022年10月時点。実体験に基づく ↩︎
-
内部IPアドレスについては、同じゾーンのインスタンスに対する下り通信は無料の模様。他は1円/GB~? ↩︎
-
E2-Microインスタンスを12時間x2台でそれぞれに割り当てているような場合は、インスタンスが停止中もアドレス自体は割り当てられているので無課金の筈 ↩︎
-
閉鎖したアカウントは(当然と言えば当然ですが)表示されません。実際の閉鎖は1か月後ですが ↩︎
Discussion