初学者でもできる Google Compute Engine での VM インスタンス作成と nginx のセットアップ
はじめに
こんにちは、SRE 部の家野です。
今回は、Google Compute Engine(以下、GCE)の VM インスタンスの作成方法から、nginx を利用したウェブサーバーの構築までの手順を紹介します。
記事の目的と概要
私自身が新卒で Google Cloud について聞いたことはあっても、実際には何なのかよく分からなかった経験があります。
そのため、これから Google Cloud を利用する方々に新卒視点で詳しく説明したいと思い、この記事を執筆しています。GCE の基本的な概要から、具体的なインスタンスの作成方法、さらにウェブサーバーの構築手順までを解説します。この記事を通じて、初心者の方でも GCE を使って簡単に VM インスタンスを作成し、ウェブサーバーをセットアップできるようになることを目指しています。
対象読者
- Google Cloud 初学者の方
- GCE ってそもそも何?という方
- GCE って何ができるの?という方
GCE の概要
GCE とは何か
GCE とは、Google Cloud で提供されている仮想マシン(VM)です。
このサービスを利用することで、Google のコンピュータ上に Linux や Windows の仮想マシンを簡単に作成できます。
VM インスタンスのスペック(CPU やメモリ)も柔軟に変更できるため、必要に応じてリソースを増減することができます。
これにより、自分のパソコンの性能に依存せずに、Google の高性能なコンピュータを利用して、様々な作業を行うことができます。
GCE の主な機能と特徴
-
カスタマイズ性の高い VM インスタンスを作成可能:
- CPU とメモリの組み合わせを自由に選べる
- 標準的なものから高性能なものまで、多様なマシンタイプが用意されている
- 必要に応じて、CPU 数やメモリ容量をカスタマイズ可能
-
高いスケーラビリティ性:
- システムの負荷や需要に応じて、リソースを増減できる
- インスタンステンプレートを使えば、同じ設定の VM を簡単に作成可能
- マネージドインスタンスグループを利用すれば、自動スケーリングも可能
-
高いセキュリティ性:
- デフォルトでハードウェアレベルのセキュリティが組み込まれている
- データは自動的に暗号化され、セキュアブートを有効にすることで、マルウェアの防止やシステムの整合性を確保
- また、Identity and Access Management(IAM)を使って、リソースへのアクセスを厳密に管理可能
-
他の Google 提供サービスと簡単に連携可能:
- GCE は、Google Cloud の他のサービス(Cloud Storage、App Engine、BigQuery など)と簡単に統合可能
- Google アカウントを使えば、他の Google サービスとの連携もスムーズに行える
GCE を利用するメリット
-
高可用性:
- 世界中のリージョンとゾーンで利用可能なため、地理的冗長性を確保し、災害時にもデータの損失を最小限に抑えられる
- ライブマイグレーション機能により、メンテナンスによるダウンタイムを回避し、サービスの継続性を確保
- ヘルスチェックと自動修復機能により、インスタンスの障害を迅速に検出し、サービスの中断を最小限に抑える
-
コスト効率化:
- 従量課金制により、使用したリソースにのみ料金が発生し、無駄なコストを削減
- 継続使用割引やプリエンプティブル VM など、コスト最適化のための多様な選択肢がある
- 用途に応じて最適な料金プランを選び、コストを抑えることが可能
-
簡単な管理:
- 需要に応じてリソースの増減を自動で調整でき、運用管理の手間を削減
- インスタンステンプレートを使えば、同じ設定の VM を簡単に作成でき、設定ミスを防ぐことができる
- マネージドインスタンスグループを利用して、複数のインスタンスを一括管理し、効率的なリソース配分と高可用性を実現
- Ops エージェントを利用してリソースのメトリクスを収集し、問題を迅速に検出・対応できるため、システムの安定性を向上
GCE の作成方法 (GUI)
今回は、実際に VM インスタンスを作成します。その後、nginx をインストールし、VM インスタンスに設定された外部 IP に http 接続できるところまでを紹介します。
VM インスタンスの作成手順
-
ダッシュボードの画面から、左上のナビゲーションメニューで、[Compute Engine] > [VM インスタンス] をクリックします。
ナビゲーションメニューにマウスカーソルを置いた画面 -
VM インスタンスの画面に移動したら、[インスタンスを作成]をクリックします。
-
[インスタンスの作成]ページで、[名前]に「test-nginx」と入力します。
-
[リージョン]に「asia-northeast1(東京)」、[ゾーン]に、「asia-northeast1-a」を選択します。
-
[マシンタイプ]は、「e2-small」を選択します。
-
[ファイアウォール]では、「HTTP トラフィックを許可する」を選択します。
VM インスタンスの作成時に「HTTP トラフィックを許可する」または「HTTPS トラフィックを許可する」を選択すると、GCE は自動的に必要なネットワークタグとファイアウォールルールを設定し、外部からの HTTP および HTTPS トラフィックを許可します。 -
[詳細オプション] > [ネットワーキング] > [ネットワークインターフェイス]では、[ネットワーク]に「default」、[サブネットワーク]に「default IPv4」を選択します。
-
必要な項目を選択したら、[作成]をクリックして VM インスタンスを起動します。
nginx のインストール方法
-
VM インスタンスが作成されたら、その VM インスタンスのリストから[SSH]ボタンをクリックして、接続します。
SSH 接続後の画面 -
以下のコマンドを入力し、「nginx」のパッケージが入っていることを確認します。
apt list | grep nginx
「nginx」のパッケージが入っていることを確認。
- 「nginx」をインストールします。
以下のコマンドを入力し、「nginx」をインストールします。
sudo apt-get install nginx
- インストールした「nginx」を起動し、確認します。
sudo systemctl start nginx #起動
sudo systemctl status nginx #ステータスの確認
「nginx」の起動(active)を確認
curl localhost
この手順を実行することでも、「nginx」が正しく動作していることを確認できます。
「nginx」が起動していることを確認できました。次に、手元の端末からアクセスできることを確認します。
- 新しいタブを開き、VM インスタンスに設定されている外部 IP アドレスを入力してアクセスします。
私の場合は、ブラウザに”34.85.90.166”を入力し、アクセスをします。
外部 IP アドレスを利用してアクセスが完了した後の画面
以上で、VM インスタンスを起動して、「nginx」をインストールし、外部 IP からアクセスできるようにする作業は完了しました。
まとめ
本記事では、GCE の基本的な概要、メリット、特徴、インスタンスの作成方法、そしてウェブサーバーの導入方法について紹介しました。
まだまだ Google Compute Engine の奥は深く、私自身もすべてを網羅できているわけではありませんが、初めて触る方に、簡単にウェブサーバーのセットアップができることを伝えたかったです。本記事を通して少しでも GCE を理解していただければ嬉しいです。
ここまで読んでいただきありがとうござました。
Discussion