GCPを使ってみよう(Webサービス構築)Vol.1 Webサイト立ち上げ

cloud, GCP, Google情報, WEB製作, データ活用

Google Cloud Platform(GCP)

は、Googleがクラウド上で提供しているサービスの総称です。

コンピューティング、ストレージ、ビッグデータなど、様々なものがありますが、Google社内でも利用されているものが使えるとあって、聞いたことがある、触ってみたことがあるという人も多いのではないでしょうか。
ただ、GCPはドキュメントが少なく、サービスのリリースや改変も早いためなかなかとっつきにくいという側面もあります。

今回、GCPを利用してWebサービスを立ち上げることになり、その中で試行錯誤して分かったことなどをまとめていこうと思います。
(一度にやるとかなり長くなりますので、何回かに分けてご紹介できればと思います。)

GCEでのWebサーバ構築

GCE(Google Compute Engine)はGoogleのインフラ上に仮想マシンを立ち上げるサービスです。
※GCPを使うにあたり、プロジェクトの作成や権限の設定などいろいろと前準備はありますがそれらについては割愛しています。

・Compute Engine→ VMインスタンスを選択します。

※VMインスタンスとは仮想空間のコンピュータと考えてください。

インスタンスの作成

・リージョンとゾーンを指定します

リージョンとはリソースがホストされるデータセンターの場所を指します。
(国内では東京と大阪から選択できます)
ゾーンは選択したリージョンの中でさらに物理的に分割された環境を指します。

今回は一つのリージョンの一つのゾーンで稼働するサーバですので、不具合が起きれば止まってしまいますが、別のゾーン間で複数サーバを設置すれば、そのゾーンに不具合が起きても別のゾーンでサービスの継続が可能です。
リージョンをまたいだ構成にすれば、そのリージョン(データセンター)全体が停止してもサービスを継続することが可能になります。
なんて便利な。

マシンの構成を選択します。

スペックが低いものは安く、高スペックになるほど高くなるのでサービスの規模に合わせて選びましょう。
※Compute Engineの利用料は従量課金制です。
試験的にWebサーバーを立ち上げるのみであれば最低スペックでも問題ありません。

ブートディスクでディスクの容量とインストールされるOSを選択します。

デフォルトはDebianですが、CentOSなども選べますので自分に合ったものを選びましょう。
※今回はCentOS 7を選択しました。

ファイアウォールについては細かい設定もできますが、手っ取り早くWebサーバを立ち上げたい場合は、
「HTTPトラフィックを許可する」にチェックを入れるだけでOKです。

外部IPアドレスが自動的に割り振られ、インスタンスが作成されます。


apacheのインストールと起動

仮想空間にOSインストール済みのサーバーが立ち上がったので、次はWebサーバとして利用するためにapacheをインストールします。
GCEで便利なのはインスタンスが作成された時点でSSHも利用できるようになっていること。
思えば、データセンターで物理サーバを立ち上げたあと、自席からアクセスできるようにSSHの設定を行うのが最初の難関だったなぁ・・・。

作成されたインスタンスの「SSH」をクリックします。
ブラウザウィンドウでSSHが接続されます。

コンソールが開いたら、achacheをインストール。

rootユーザーを作ることもできますが、sudoコマンドでroot権限の作業ができるので今回はそのままsudoコマンドでインストールをします。

$ sudo yum install httpd -y
$ sudo systemctl start httpd.service

ドキュメントルートに移動し、インデックスページを作成します。
httpの設定を何も変更していなければドキュメントルートは/var/www/html/です。
とりあえず、

<pre>Hello world!</pre>

と記述しましょう。
後はインスタンス作成時に割り振られた外部IPにブラウザからアクセスするだけ。

Webサイトが立ち上がりました。

後記

私は過去、サーバールームに籠ってサーバーの立ち上げやネットワーク構築を行なっていましたが、ネットワーク構築まで含めると、外部からセキュアにアクセスできるようになるまで、下手をすると数日かかっていました。

GCPを利用すれば、それとほぼ同等の作業がブラウザから数クリックで可能になるのは、当初かなり驚かされました。
とはいえ、この程度はローカルのPC内でもできることで、GCPの恩恵ともいえる機能は他にもまだまだございます。


次回は「落ちないウェブサーバー」を目指して、いろいろと試行錯誤したことをお伝えできればと思います。



この記事を書いた人

宮宇地 政人 データコンサルティング部 ディレクター
GCPはクラウドサービスですが、今回の件は物理サーバを触っていたころの経験が結構役に立ちました。
なんでも経験しておくものですね・・・

GCPを使ってみようシリーズ

関連記事一覧