スポンサーリンク

【初心者向け】個人用サーバーを無料で立てる方法!誰でもわかるGCP解説

スポンサーリンク

これから、ブログを初めたい!自分のサーバーを持ちたい!

だけど、レンタルサーバーでは、毎月の利用料が発生してしまいますよね。

無料で使えるサーバーは、ないのだろうか?かと悩んでいませんか。

Googleが提供するクラウドサービスを活用すると、サーバーの性能は低いですが、個人で利用するなら十分に利用価値のあるサーバーを、無料で利用できるようにできます。

この記事では、クラウド環境、つまり、インターネット環境上に、linuxサーバーを無料で立てる方法をご紹介します。

初子

こんにちは!初子です。

この記事では、ときどき、わたしが、優しく解説しますので、初心者にもわかりやすくしています。

よろしくお願いします。

スポンサーリンク

Google Cloud Platform/Google Compute Engineとは

GCP(Google Cloud Platform)は、Google Inc.社が提供する、企業でも個人でも利用できる、クラウドサービスの総称です。

初子

インターネット上に、自作PCを作れるパソコン部品(CPU・メモリ・ディスクなど)が用意されているサービスと考えると良いですね。

わざわざ部品を買いそろえたり、ドライバーで組み立てなくても、サービス提供されている部品を、自由に組み合わせる事で、自分で好きなサーバーを作る事ができるんです。

このGCPで有効にしたサーバー部品の使用量(CPUの性能や、メモリ容量、ネットワーク使用量など)に応じて、利用料金が発生する仕組みになっています。

ところが、利用開始してから1年間つかえる300ドル分の無料クレジットや、ずっと無料で利用できる無料枠が用意されており、その範囲内で利用すると、お金をかけずに自分のサーバーを持つことができます

ちなみに、Google Compute Engine(GCE)は、Google Cloud Platform(GCP)の一部のサービスで、サーバーの基本セット(CPU,メモリ,DISK,ネットワーク,OS)を提供してくれる、GCPの中心的なサービスです。

初子

Google Cloud Platform(GCP)と、Google Compute Engine(GCE)は、混同してつかわれる事が多いですが、あまり気にしなくて良いですよ。

あくまで、GCPは、GCE+αの総称と考えてくださいね。

スポンサーリンク

Google Cloud Platform(GCP)の無料枠とは

さきほど説明したように、GCPの無料枠には、「有効期限が1年間の無料クレジット」と、「永久無料枠」があります。

無料クレジットは、GCPのどんな利用料に対してもこの無料クレジットが自動適用され、特に手続きをしなくても利用料が発生しません。当然ながら、1年以内に使い切ってしまった場合は、その後は、料金が発生しますし、1年間で使いきれなかったクレジットは、消滅し、2年目以降は料金が発生ます。

この無料枠は、Googleが、GCPを知ってもらうために、無料で提供しているもので、使える性能は、最小限の範囲に限定されていいます。

例えば、 f1-microと呼ばれる、CPU(0.2基分) x 1、メモリ 614MBの、常時起動する仮想サーバー環境(VMインスタンス)が、永久無料で利用できます。

初子

CPU(0.2基分) x 1、メモリ 614MBって、どんな性能かというと、ちょっと古めのパソコン程度と考えると良いと思います。

ただし、多くの皆さんが使っている、Windowsパソコンには、さまざまなアプリがいっぱい入っているため、同じ用途でつかおうとすると、使い物にはなりませんが、特定用途では十分に使えます。

例えば、遊びや、学習用途、それから、アクセス数が少ないウェブサーバーなどには、十分だと思います。

無料枠に関する詳細は、Google社のHPに詳しく掲載されていますが、無料サーバーを作るために必要な、基本的なものを紹介していきましょう。

GCP無料枠
  • f1-micro (CPU×1,メモリ:614MB)のVMインスタンス(仮想サーバー)
  • 30 GB 月の HDD
  • 5 GB 月のスナップショット
  • 1 GB の北米から全リージョン宛てのネットワーク下り(外向き)
  • 5 GB 月の Regional Storage

ただし、特定の米国リージョンに限る

この範囲内で利用すれば、永久にサーバを無料で利用する事ができます。

初子

仮想サーバーについては、先ほど説明しましたが、その他の用語を少し解説しますね。

HDD・・・データの保存領域です。OSなどのシステムファイル領域や、写真・ファイルなどを自由に利用できる、ユーザー領域も含まれます。

スナップショット・・・仮想サーバーを一時的に、丸ごとバックアップできる領域です。圧縮されますので、5GBあれば、2~3世代分のバックアップは十分にとれます。

リージョン・・・Googleがサーバーを設置している場所(データセンターの場所)を示します。米国リージョンは、米国にサーバーが設置されています。

ネットワーク下り・・・ウェブサーバーであれば、表示データの転送量です。ウェブサーバーからウェブブラウザーへのデータ量ですので、写真や動画、アクセス数に応じて、容量が不足する可能性があります。

Regional Storage・・・仮想サーバー以外に、さまざまなデータを保存しておく領域です。後ほど説明しますが、課金データの詳細情報を保存できます。

この無料枠で、唯一注意しなければならないのは、「ネットワーク下り」の使用量だと思います。

不特定多数の人に、大量のデータ・写真をダウンロードされると、無料枠を超過してしまう事や、悪質なサーバー攻撃などの被害を受ける可能性があります。これについては、また、後で、防御する設定を紹介します。

スポンサーリンク

無料サーバーの構築方法

Google Cloud Platform(GCP)の利用を開始する手順

GCPの無料サーバーを利用するには、下記の2つの準備が必要です。

  • Googleアカウント
  • クレジットカード

Androidスマートフォンをもっている人は、既にアカウントをもっていると思いますが、まだ、持っていない人は、アカウントを作成しましょう。下記の手順のながれで、作成してくださいね。

事情によりクレジットカードを持っていない人は、デビットカードでも利用できます。

GCP無料トライアルページにアクセスします。

Google Cloud Platform
Google Cloud Platform lets you build, deploy, and scale applications, websites, and services on the same infrastructure as Google.

1年間有効の無料クレジットを得るために、かならず、専用の無料トライアルページから、GCPの利用開始をおこなってください。

Googleアカウントでログインします。

Googleアカウントを入力して、「次へ」を押してください。もし、Googleアカウントを持っていない場合には、「アカウンを作成」を押して、アカウントを作成しましょう。

無料トライアルを開始するための情報を入力します。

利用規約を読んでから、チェックをいれて、「続行」ボタンを押してください。

画面の右側に「無料トライアル期間が終了しても、自動的に請求されることはありません」と記載されていますので、安心ですね。

ただし、逆にいうと、下記の注意点がある事を理解しておきましょう。

注意

無料トライアル期間が終了するまでに、有料切替を行わないと、GCPが自動的に利用できなくなりますので、無料枠で継続利用したい場合は、1年以内に、有料切替が必要です

放置すると、起動中のインスタンスや、データなどが削除されてしまいます。

アカウントの種類・住所を入力します。

「アカウントの種類」は、「個人」に設定してください。

「住所」は、クレジットカードに登録されているもとの同じ情報を入力しましょう。

氏名・お支払い方法を入力します。

「氏名」と、「お支払い方法」には、クレジットカード番号を入力してください。

「無料トライアルを開始」ボタンで、無料トライアルが開始します。

無料トライアル開始されました。

プロジェクトを作成する

GCPのサービスを利用するには、必ず「プロジェクト」を作成します。

初子

プロジェクトは、1つの課金単位と考えてください。用途によって、どれくらいの利用料がかかっているかを、複数プロジェクトに分割することで、区別できます。

無料枠で利用する範囲は、1つのプロジェクトで十分だと思いますので、なにも考えずに、下記の手順どおりに進めましょうね。

プロジェクトの作成画面を表示します。

上部の青色バーにある「プロジェクトの選択」ボタンを押すと、プロジェクト選択画面がポップアップします。

「新しいプロジェクト」ボタンを押して、プロジェクトを作成していきます。

プロジェクト名を決めて、プロジェクトを作成します。

好きな「プロジェクト名」を入力して、「作成」ボタンを押してください。

プロジェクト名は、後でも変更できますが、プロジェクト名の下に記載されているプロジェクトIDは、GCP側で、世界中でユニークな識別子を、勝手に割り振られてしまいます

プロジェクトIDは、無料枠の範囲で利用するには、あまり利用する事はないと思いますが、覚えやすいIDを付けておきたい方は、変更しておく必要があります。

無料サーバーを作る手順

これで、ようやく、無料サーバーを作れる状態になりました。

ウェブブラウザーには、下記のダッシュボード画面が表示されていると思います。

このダッシュボード画面を起点として、さまざまな設定をしていきますので、よく覚えておいてください。

左上にあるメニューボタン(以降、GCPコンソールハンバーガーメニューと呼びます)から、設定を選んでいきます。

初子

今後、いつでもこの画面を表示したい場合には、下記のURLをブックマークしておくと良いですね。

Google Cloud Platform
Google Cloud Platform lets you build, deploy, and scale applications, websites, and services on the same infrastructure as Google.

Google Cloud Platform

仮想サーバーのインスタンスを作成していきます。

GCPコンソールのハンバーガーメニューの「コンピューティング」カテゴリーから、[Compute Engine]-[VM インスタンス]を選択してください。

はじめて利用する場合には、「Compute Engine を準備しています。1 分以上かかることがあります 」と表示され、しばらく待ちます。

初子

仮想サーバーのインスタンスという難しい言葉をつかってしまいましたが、仮想サーバーは、自宅に設置する箱型のサーバーと対比して、インターネット上にあるサーバーの事をしめすのはおわかりと思います。

仮想サーバーの事を、VM(Virtual Machine)とも呼びます。

インスタンスとは、仮想サーバーを動作させるための仕様・設定に基づき、実際に、実行・処理できる状態にしたものを示します。

VMインスタンスの作成を開始します。

VMインスタンス画面から、「作成」ボタンを押してください。

VMインスタンスの仕様を入力します。

「名前」を入力してください。上記の例では、webserverとしています。

「リージョン」は、「us-west1(オレゴン)」選択してください。オレゴン以外の、アイオワ・サウスカロライナなどのリージョンも、無料枠が適用されますが、それらのリージョンは、日本からの距離が遠いため、一番、日本に近い、西海岸のオレゴンを選択するのがおすすめです

「マシンタイプ」 は、「f1-micro」を選択してください。f1-micro以外は、無料枠が適用されません

引き続き、VMインスタンスの仕様を入力します。

「ブートディスク」は、そのままでもかまいませんが、好きなOS・HDD容量に変更もできます。

OSの公式イメージは、Linux(RHEL系、Debian系)や、Windows Serverなどがありますが、無料枠で利用する場合には、プレミアムイメージ以外のものを選びましょう。

初子

使用容量が小さく、最小限の機能がインストールされている状態のOSとして、「Ubuntu 18.04 LTS minimal」がおすすめです。

Ubuntuは、Debian系と呼ばれるLinux OSの1つで、初心者にはわかりやすい機能が備わっているのが特徴です。

このブログでは、今後、「Ubuntu」を前提に、各種コマンドを説明していきますね。

標準のHDD容量は、10GBですが、無料枠は30GBまで拡張できます。ただし、特に必要がなければ、下記の理由で、まずは、10GBで作成する事をおすすめします

ポイント

HDD容量が、まず、10GBで良い理由は、容量が不足した場合は、後でHDD容量を拡張できますが、一度、拡張した容量は、小さく変更できません。

よって、必要に応じて、別ディスク(通常のサーバーでいうと、外部ディスクの様なもの)として、追加・削除した方が、柔軟性が高いためです。

また、f1-microインスタンスは、起動時間で課金されますので、複数同時起動をしなければ、複数のサーバーを切り替えて利用する事で、無料枠の範囲内で利用する事もできます。

つまり、10GBの仮想サーバーを、3台準備しておき、必要に応じて、起動して使い分けるような使い方も、無料枠の範囲で使えます。

「ファイアウォール」は、ウェブサーバーとして利用する場合には、http/httpsにチェックをいれてください。後で、設定する事も可能ですが、多少、手順が面倒ですので、将来的に利用する可能があるなら、チェックを入れておくことをおすすめします。

初子

ファイアウォールとは、日本語で「防火壁」です。つまり、サーバーへの接続を防御する機能の事をいいます。接続できる通信方法を設定する事で、必要最小限の接続のみを許可する事が可能です。

http/httpsとは、ウェブサーバーの通信方式の名称です。

通信経路が暗号化されたり、正規サーバーであることを証明したりできる通信方式は、httpsと、最後にs(エス)がつきます。

暗号処理は、比較的にサーバー負荷がかかるため、勉強用に使う程度であれば、httpでも良いですが、不特定多数へ公開する場合や、個人情報を扱う場合には、httpsを利用するのが一般的です。

なお、作成画面の右側に「$4.28 の月間予測 これは 1 時間に約 $0.006 です」という表示がありますが、あくまでこれは、無料枠が適用されなかった場合の料金なので、心配しないでください。

仮想サーバーの起動を確認します。

仮想サーバーの作成が完了すると、名前の左にあるアイコンが、緑色に変わります。

ここで、起動に失敗することは、ほぼありませんが、Googleのデータセンターの利用状況が不足している場合は、VMインスタンスの作成や起動に失敗する事があります。その場合には、焦らず、時間をおいて再度、試してみましょう。

また、正常に起動すると、内部IP・外部IPが付与されている事が確認できます。

初子

内部IP・外部IPについて、少し説明しましょうね。

まず、IPとは、IPアドレスの事を示します。IPアドレスは、コンピューターにネットワーク経由で接続する場合の番地の様なものです。

外部IPは、インターネット上に公開される、世界に1つだけの番地です。

内部IPは、このGCPプロジェクト内で1つの番地です。1つのプロジェクト内で、複数の仮想サーバーを作った場合には、この番地を利用して接続できますが、インターネットからは、直接接続する事はできません。

それでは、出来上がった仮想サーバーにログインしてみましょう。

VMサーバーの右側にある、「SSH」ボタンを押してください。

そうすると、別画面がポップアップしてきます。少し時間がかかりますが、30秒程度すると、linuxを利用したことがある人は見慣れた、下記のコマンドプロンプトが表示されます。

初子

SSH(SecureShell)とは、暗号化された通信経路により、サーバーへコマンドを投入できる機能です。

無料サーバーの設定手順(ネットワーク接続制限)

この状態で、最低限のサーバー性能ですが、無料でサーバーを利用できる環境が整いましたが、使っている間に、意図せず、課金されてしまうのではないかと心配ではないでしょうか。

前述もしていますが、このサーバーはインターネット上に公開されているため、自分以外の人により、外部からのアクセスされてしまうと、ネットワーク利用料が発生してしまう可能性があります

主な対策は、下記の2つです。

  • 接続元のIPアドレスを制限して、自分だけがアクセスできるようにする。
  • 良く利用される、接続ポート番号を変更して、不正アクセスを防止する。
初子

接続ポート番号とは、あるサーバーに対して、アプリケーションごとに接続を区別するための、入り口です。

英語の「ポート」は、日本語の「港」という意味ですので、サーバーが日本国土であれば、ポートは日本国土に入る入り口として、横浜港・神戸港などのイメージになりますね。

接続ポート番号を変更するとは、横浜港など、だれでも知っている港の場所を閉鎖し、裏横浜港を開港するイメージになり、アクセス数を削減する事ができます。

個人で立てたサーバーは、他人に知られない限り、めったなことでアクセスが来ることがありませんが、中国などからIPアドレスやポート番号を、総当たりで不正攻撃してくることがあり、想定外の課金がされてしまう事があるため、対策されておくことをおすすめします。

接続元IPアドレスの制限方法

サーバーをインターネット上に公開せず、自分だけで楽しむ場合には、自宅のIPアドレスのみに接続許可をあたえることで、想定外の課金を防止する事ができます。

なお、接続元IPアドレスで、サーバーへの接続を制限するには、ISP(インターネット接続プロバイダー)との契約で、固定IPアドレスの契約をしていないと、IPアドレスが変更される可能性があるため、変更のたびに設定変更をする必要があります。

初子

個人でのISPは、特に申請を行わない限り、固定IPアドレスの契約にはなっていません。

マンションなどの集合住宅での契約を行っている場合は、固定IPアドレスでなくても、頻繁にIPアドレスが変更されることはないようです。

固定IPの契約をしていない場合は、インターネットに公開しないウェブサーバーであれば、後述するポート番号の変更でも、想定外の課金をかなり削減する事が可能です。

ファイアウォールの設定メニューを選択します。

GCPコンソールのハンバーガーメニューの「ネットワーキング」カテゴリーから、[VPCネットワーク]-[ファイアウォールルール]を選択してください。

ウェブサーバーのポート番号への接続制限を設定します。

ウェブアクセスの制限を変更する場合には、[default-allow-http]及び、[default-allow-http]をクリックしてください。

自分だけが接続できるように設定します。

「ソースIPの範囲」に、自宅のIPアドレスを設定してください。

自宅のIPアドレスは、「確認くん」を利用すると確認できます。

[0.0.0.0]は、すべての接続を許可する設定です。

接続先ポート番号の制限方法

不正攻撃を受ける代表的なポート番号は、sshのポート番号と、http/httpsのポート番号です。これらのポートを、自分だけが知る番号に変更する事で、不正攻撃を防ぐことができます。

ポート番号は、1024から65535までの番号に変更してください。

まず、sshのポート番号は、標準で22番ですが、2022番に変更してみましょう。

sshサーバーの待ち受けポート番号を変更します。

VMサーバーの起動確認で利用した、コマンドコンソール画面から、下記のコマンドを入力して、ssh機能のポート番号を変更していきます。

$ sudo cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org
$ sudo sed -i -e "s/#Port 22/Port 2022/g" /etc/ssh/sshd_config
$ sudo systemctl restart ssh

sshポート番号の接続を変更します。

ファイアウォールの設定画面から、sshアクセスの制限を変更する場合には、[default-allow-ssh]をクリックしてください。

sshポート番号の接続を変更します。

「指定したプロトコルとポート」のtcpを、22から2022へ変更して、保存してください。

ssh接続ができるか確認します。

2022へ変更したポート番号を利用して、ssh接続できる事を確認します。

VMインスタンス一覧画面から、SSHボタンのプルダウンリストを開き、「ブラウザ ウィンドウでカスタムポートを開く」を選んでください。

ポップアップ画面が表示されるので、変更したポート番号(2022)を入力してください。

コマンドプロンプトが表示されれば、成功です。

http/httpsも、同様な手順で変更できます。

初子

ウェブサーバーの構築方法は、この記事では、紹介していません。

他の方の情報を参照して、ウェブサーバーのポート番号の変更をおこなってください。

無料サーバーの設定手順(課金情報)

実際に使い始めた際、本当に無料で運用できているのか気になるかと思います。

Googleからの請求は、登録したクレジットカードで、月に1回発生しますが、日々課金データを確認できるので、何か設定変更をした際などは、数日間、その情報を見てチェックすると良いですね。

課金情報の確認方法

課金情報の確認をします。

GCPコンソールのハンバーガーメニューから、[お支払い]を選択してください。

概要画面に、日ごとの課金状態と、右側の下部に「無料トライアルのクレジット」情報が表示されます。課金単位は、それぞれのサービスの使用量に対して、小数点以下の米ドルで決まっているため、クレジットを適用した際に、マイナス計算されてしまいます。

プラス課金されていない事を、確認しておきましょう。

課金情報の詳細ログの保存方法

無料トライアル期間中のGoogleからの課金は、下記の優先順位で計算されます。

  1. それぞれの、サービス毎に、サービス利用料を計算
  2. 無料枠のサービス使用に関するサービス利用料に関して、差し引かれる
  3. 残りのサービス利用料を、無料クレジットを使った、差し引かれる

先ほど説明した、課金情報の確認は、全体の合計値でしたが、これでは、無料枠が適用されたのか、無料クレジットで差し引かれたのか、正確に把握できません。

下記の設定を行う事で、詳細な課金情報を収集でき、無料トライアル期間が終了しても、知らないうちに課金される事を防げます。

課金情報の保存先を作成します。

GCPコンソールのハンバーガーメニューの「ストレージ」カテゴリーから、[Storage]-[ブラウザ]を選択してください。

「ストレージブラウザ」画面の上部にある「バケットを作成」ボタンを押してください。

「バケット名」に、名前を付けてください。ここでは、[myprojectname-billing-storage]とします。

バケット名は、GCPの世界で、唯一の名前をつける必要があります。例えば、自分のプロジェクト名を頭文字につけるなど、わかりやすく、重複しにくい名前をつけると良いでしょう。

なお、公開設定をする場合には、個人情報などにつながる名前(例えば、氏名など)は、やめましょう

初子

「バケット」とは、データを保存するための「かご」をイメージすると良いですね。

バケットの中には、複数のファイルを格納する事ができます。このバケット単位に、格納されているファイルの容量で、課金されます。

どのデータで課金されているのかわかりやすいように、用途ごとにバケットを作成して、使い分けると良いですね。

「続行」を選択して、次の情報を入力していきます。

課金情報の保存場所を指定します。

Storageに関するの無料枠の条件は、「5 GB の Regional Storage(期間合計、米国リージョンのみ)」です。課金データについては、かなり容量が小さいため、5GBを超過する事をきにする必要はないと思います。

よって、無料枠でデータが保存されるように、「ロケーションタイプ」は、「Region」を選択し、「ロケーション」は、「us-west1(オレゴン)」を選択してください。

それ以外の設定を変更する必要がなければ、「作成」を選択してください。その他、詳細情報を変更したければ、「続行」を選択して入力していきます。

課金情報の出力設定をします。

GCPコンソールのハンバーガーメニューから、[お支払い]-[課金データのエクスポート]を選択します。

「ファイルのエクスポート」から課金ログのエクスポート設定を行います。

「バケット名」には、先ほど作成した、「myprojectname-billing-storage」を指定します。

「レポート接頭辞」には、「billing-report」を指定してください。

「形式」には、「CSV」を指定してください。

「保存」ボタンを押せば、課金情報のエクスポート設定が完了します。

出力された課金情報を確認します。

1日に1回出力されるので、1日待って、課金情報が出力されている事を確認しましょう。

「ストレージブラウザ」から、先ほど作成した「myproject-billing-storageバケット」確認します。

1日に1回、CSVファイルが生成されているのが確認できると思います。

ダウンロードしたい日付のファイルを、右のリストメニューから「ダウンロード」しましょう。

EXCELなどで表示すると、GCPサービス単位に、課金情報を出力されているのがわかると思います。

例えば、

[Regional Storage US]は、無料枠内で利用されているため、Costは、ゼロになっています。[Micro Instance with burstable CPU running in Americas]も、同様です。

[Network Inter Region Egress from Los Angeles to London]は、無料枠外で、課金されていますが、Free Trial Creditにより、マイナスで差し引きされています。

これを、確認すると想定外に課金されているもののサービスが細かく把握できますね。

なお、アメリカと日本の時差の関係で、課金データの出力は、日本時間の0時すぎに3日前の17時から前々日の17時までの課金データが作られます。それにより、1つの課金データファイルに、同じサービスの課金データが、2行出力されるものがありますが、これは日付がまたがるために2行に分割されて出力されています。

課金請求アラートの設定方法

GCPには、万一に備えて、一定額以上の請求額に到達した場合にメールで通知してくれる機能がありますので、設定しておくと、さらに安心です。

課金請求アラートの設定をします。

GCPコンソールのハンバーガーメニューから、[お支払い]を選択してください。

お支払いメニューから、「予算とアラート」を選択し、「予算を作成」ボタンを押してください。

「名前」を設定してください。ここでは、「myprojectname全体の予算アラート」としています。

「次へ」ボタンを押してください。

課金請求アラートの金額を設定をします。

アラート発行条件の金額を設定してください。ここでは、100円としています。

「次へ」ボタンを押してしてください。

課金請求アラートの条件を設定をします。

変更する必要は、ないと思いますが、お好きなしきい値に変更してください。

「終了」ボタンを押してください。これで、設定は完了です。

スポンサーリンク

まとめ

この記事では、無料サーバを作るまでを、詳しく説明しました。

ウェブサーバーとして利用するには、apacheやnginxなどのウェブサーバーアプリケーションのインストールや設定が必要になります。また、ブログ運営する場合には、wordpressなどのアプリケーションも必要です。

GCPでは、これらの代表的なアプリケーションがあらかじめインストールされた状態のVMサーバーを、「カスタムイメージ」とい形で、数多く提供されていますので、これらのイメージを活用すると、さらに、簡単に利用することができますので、色々、試してみると面白いですね。

コメント