Google Cloud Platform(GCP)には、「Google Compute Engine(GCE)」という高性能かつ設定変更が容易な仮想マシン(VMインスタンス)を利用できるサービスがあります。この記事では、VMインスタンスを作成して接続するまでの手順を実際のコンソール画面に沿って解説します。ぜひ参考にしてください。
※ Google Cloud Platformのプロジェクトを作成済みの方向けとなります。プロジェクトは請求先アカウントと関連付ける必要があります。プロジェクトやアカウントをお持ちでない場合は、トライアルのお申し込みをご検討ください。
Google Compute Engine(GCE)についてはこちらの記事で詳しく紹介しています。
コンソールからGoogle Compute Engineを有効にする
初めに、Google Cloud Platformのコンソールにアクセスし、ログインします。
https://console.cloud.google.com/
コンソールからプロジェクトを選択し、Computer Engineを選択します。
初めてComputer Engineを使用する場合はAPIを「有効にする」を選択します。
次に、「インスタンスを作成」を選択します。
VMインスタンスの新規作成方法は4種類
VMインスタンスを作成するための選択フォームが表示されます。
始めに左側の4項目から選択する必要がありますので、それぞれについて解説していきます。
- 新規VMインスタンス
OSやスペックなどの初期設定を1から選んでVMを作成できます。
- テンプレートからVMインスタンスを新規作成
テンプレートを予め用意しておくと、初期設定に一貫性のあるVMを作成できます。
- マシンイメージから新しいVMインスタンス
既存VMインスタンスのマシンイメージ(バックアップ)を取得しておくと、クローンを作成できます。
- Marketplace
既に構成されている様々なソフトウェアやAPIを選択でき、アプリケーションやサービスを迅速に導入できます。
【手順16】1から自由にカスタマイズできる新規VMインスタンスを解説
章のゴール:VMインスタンスの設定項目から作成まで
今回の記事では、VMインスタンスのスペックを1から自由にカスタマイズができる「新規VMインスタンス」にて作成します。
選択肢や入力欄が表示されますので、サービスの用途に沿って最適な設定をしてください。
VMインスタンスに名前を付ける
VMインスタンスが複数存在していても管理がしやすいように、名前・ラベル・タグの設定をします。
- 名前
英小文字・数字・ハイフンを使用して最大62文字まで。
先頭を英小文字にする必要があり、末尾はハイフンにすることはできません。
- ラベル
付与することで、リソース管理・コストの分析・案件ごとの管理が可能です。
- タグ
VMインスタンスの場所を設定
Googleの世界中のデータセンターから、VMインスタンスのデータを保存する場所を選択します。
適切な場所を選ぶことで、サービスのアクセス速度を向上させ、災害によるデータ消失のリスクを軽減できます。
- リージョン
リージョンはデータセンターの物理的な場所で、2024年5月時点では全世界に40ヶ所あります。
日本でサービスを提供する場合、東京または大阪を選ぶと、低遅延で高速通信が可能です。
- ゾーン
ゾーンはリージョン内の区切られたグループで、各リージョンに複数存在します。
例えば、日本と海外のリージョンそれぞれにVMインスタンスを置いて冗長構成を設定することで、どちらかの国に災害が発生しデータ消失するなどのリスクを減らせます。
ゾーンにおいても一方のゾーンに障害が発生しても、他のゾーンでサービスを継続できます。ロードバランサーを使用することで、負荷分散も可能です。
適切なリージョンとゾーンを選び、サービスの低遅延と高可用性を実現しましょう。
用途に合わせてCPUとメモリを設定する
VMインスタンスに適切なリソースを設定することが可能です。
「マシンの構成」からCPU性能やメモリが定義されたマシンタイプを選択します。
マシンタイプは以下の5種があり、それぞれシリーズが分かれています。
- 汎用
バランスの取れたCPUとメモリを提供し、幅広い一般的なワークロードに適しています。
用途例:ウェブサーバー、アプリサーバー、小規模データベース、開発・テスト環境
- コンピューティング最適化
高いCPUパフォーマンスを提供し、CPU集約型のワークロードに適しています。
用途例:高性能コンピューティング、科学計算、ゲームサーバー、エンコード
- メモリ最適化
大容量のメモリを提供し、メモリ集約型のワークロードに適しています。
用途例:インメモリデータベース、ビッグデータ解析
- ストレージ最適化
高いディスクI/O性能を提供し、データ集約型のワークロードに適しています。
用途例:大規模データベース、データウェアハウス、ログ解析
- GPU
高性能なGPU(グラフィックプロセッシングユニット)を提供し、機械学習や並列計算に適しています。
用途例:ディープラーニング、科学的モデリング、3Dレンダリング、動画処理
選択できるマシンタイプはリージョンごとに異なります。
料金もシリーズ別に異なりますので、OSやアプリケーションに応じて選択しましょう。
メモリの暗号化でデータの機密性を向上
機密性の高いデータを扱うVMインスタンスには、メモリを常に暗号化する「Confidential VMsサービス」を有効にできます。
Confidential VMsサービスを有効にすると、メモリを暗号化してセキュリティとプライバシーを強化します。これにより、データが不正アクセスから保護されます。
金融機関などのセキュリティ要件が最も厳しい情報を扱う場合に適しています。
ただし、前項目で解説したマシンタイプのシリーズが「N2D」または「C2D」でないと有効にすることはできません。
コンテナを配置できる
VMインスタンスにコンテナを配置したい場合、「コンテナをデプロイ」から選択できます。
1つのVMインスタンスに対して1つのコンテナをデプロイできます。複数のコンテナをデプロイする必要がある場合は、Google Kubernetes Engine の利用を検討してください。
ブートディスクを最新OSを含む一覧から選択
VMインスタンスを起動するためのOSを含むディスクの設定です。
Debian・CentOS・Redhat・Ubuntu・Windows Serverなどの一般的なOSはここから選択できます。
ここに含まれないOSやアプリケーションを利用する場合は、Marketplaceから探してみてください。
ブートディスクの種類は下記4種から選び、サイズを設定します。
- 標準永続ディスク
HDDタイプのネットワークストレージです。コストが最も低く一般的な使用、バックアップやアーカイブに適します。
- バランス永続ディスク
標準永続ディスクとSSD永続ディスクの中間の性能で、幅広い用途に対応しています。
- SSD永続ディスク
SSDタイプのネットワークストレージです。高I/Oパフォーマンスを必要とするデータベースやアプリケーションに適しています。
- エクストリーム永続ディスク
コストが最も高いですが、最も高いI/Oパフォーマンス性能があり、ミッションクリティカルなアプリケーションやリアルタイムデータ処理に最適です。
作成後に種類の変更はできませんので、最適なディスクを選択してください。
Webサーバとしての利用ならファイアウォールの設定をしよう
GCPコンソールからVMインスタンスへSSH接続はできますが、デフォルトではネットワーク外部からのトラフィックは全てブロックされます。
チェックボックスを有効にすることで、HTTPトラフィック・HTTPSトラフィック・ロードバランサのヘルスチェックが許可されます。
デフォルトは内部IPアドレスが自動で付与される
VMインスタンスには、VPC内で一意の内部IPアドレスを持ちます。
デフォルトでは、接続可能なネットワークインターフェースから自動で設定されます。
変更する場合は、詳細オプション内の「ネットワークインターフェース」にて設定します。
[ ∨ ]を押すと「ネットワークインターフェースの編集」の設定項目が開きます。
- ネットワーク
初めに VMインスタンスが接続可能なネットワーク トラフィックを指定します。
デフォルトの設定は ”default” です。
別のネットワークを構成したい場合、VPCネットワークで設定してください。
- サブネットワーク
次にサブネットワークの範囲のIPv4アドレスを指定します。
同じサブネットワーク範囲を指定した別のVMインスタンスは、内部IPアドレスを使用して互いに通信することができます。
- プライマリ内部IPv4アドレス
サブネットワークの範囲内から、エフェメラルIPまたは静的内部IPを指定します。
エフェメラルの場合、VMインスタンスの再起動で内部IPは変わりませんが、VMインスタンスを削除して再作成すると変更されます。
VMインスタンスを再作成するときに同じ内部IPを再使用したい場合、静的内部IPを選択してください。
外部IPアドレスの設定でインターネット接続が可能
続いて、外部IPアドレスの設定です。
デフォルトでは、外部IPアドレスは自動的に割り当てられ、インターネットへ接続が出来ます。
しかしVMインスタンスを再起動するたびに変更されます。
再起動しても変更されないようにするには、静的外部IPアドレスの設定が必要です。
- 外部IPv4アドレス
以下から選択できます。
・エフェメラル:一時的な外部IPv4アドレスが有効になります。VMインスタンスの再起動で変更されます。
・なし:外部IPv4アドレスが無効になり、インターネットへアクセス出来ません。
・静的外部IPアドレスを予約:外部IPv4アドレスが有効になり、VMインスタンスが停止しても同じ外部IPv4アドレスを使用できます。
- ネットワークサービスティア
外部IPv4アドレスを有効にした場合、以下から選択できます。
・プレミアム:可能な限りGoogleの高品質な回線を通じ、利用者に最も近いGoogleの回線から出ていく、高速ネットワークです。
・スタンダード:可能な限り公共インターネットを利用する、コストに優れたネットワークです。
- パブリック DNS PTR レコード
外部IPアドレスに関連付ける逆引きDNS名を指定することが可能です。
ディスクを追加してストレージ管理を容易にしよう
OSデータが入ったブートディスクとは別に、ディスクを追加することができます。
詳細オプション内の「ディスク」にて設定します。
新しいディスクを追加することで、以下のメリットがあります。
- ストレージ容量を簡単に拡張でき、大量のデータを扱うアプリケーションに対応します。
- OSとデータを分離することで、データ管理が容易になります。
- ディスク別にスナップショットを作成でき、バックアップやリカバリが容易になります。
- 別のVMインスタンスに「既存のディスクを接続」することができます。
高性能なSSDディスクを追加した場合は、データの読み書きを行う速度や効率を最適化できます。
セキュリティを強化して改ざんから保護する
セキュリティの設定項目です。
VMインスタンスの起動や操作をする際の、実行プログラムの改ざんから保護するための一連の機能のことを「Shielded VM」といいます。その内の各機能を有効または無効に設定できます。
- セキュリティブート
VMインスタンスの起動直後に信頼できる状態か確認する機能です。有効にすることで、OSが正規のものであり、改ざんされていないことを確認してから起動します。マルウェアや不正なソフトウェアの起動プロセスへの侵入を防ぐことができます。
- vTPM(Virtual Trusted Platform Module)
TPMを仮想化した機能です。TPMとは起動前と起動時の暗号化キーの安全な生成・管理とシステムの整合性検証を行うハードウェアです。この機能により、ディスクの機密情報の保護が強化されます。
- 整合性のモニタリング
VMインスタンスの起動プロセスと実行中の状態を監視したレポートをモニタリングする機能です。この機能により、正しく起動され、改ざんされていないことを確認できます。vTPMを有効にする必要があります。
長期稼働を見据えて情報を残す
VMインスタンスに関する詳細な情報やメモを管理項目から記入することができます。
この説明欄に、任意で文章を入力できます。
例えば「データベースサーバ用・開発環境」など、VMインスタンスの役割や用途を記入します。
他にも「管理者名・作成日・変更履歴」など、運用管理に必要な情報を記入しておくことで、障害時のオペレーションの参考としても役立ちます。
手違いでの削除を防ぐ
「削除からの保護」の有効または無効の設定ができます。
誤ってVMインスタンスを削除してしまうことを防ぐための機能です。
有効の状態では、VMインスタンスの停止・再起動・編集・削除を行うことができません。
意図しない操作を防ぎ、データの消失リスクを低減することが出来ます。
起動時に自動でスクリプトを実行できる
VMインスタンスが起動する際に自動的に実行されるスクリプトを指定することが出来ます。
起動スクリプトを利用することで、VMインスタンスの初期設定やソフトウェアインストールを自動化し、運用効率を向上させることができます。スクリプトの作成、設定、実行確認を行うことで、効率的に一貫性のある構築が可能となります。
最後にコストを確認して作成
ここまで、各種の設定項目について解説いたしました。それぞれの項目を変更するたびに、右上の料金の月間予測が更新されます。
2024年5月時点の「リージョン:us-sentral1、マシンタイプ:E2 e2-micro、ブートディスク:CentOS7、外部IPv4動的、その他:デフォルト」 で設定時の表示です。
月間予測を確認しておくことで、リソースの使用量に基づいたコストを事前に見積もることができ、予算の管理がしやすくなります。
約20秒ほど待つと、一覧にVMインスタンスが追加されます。作成直後は、ステータスが起動状態(緑色のチェックアイコン)となります。
VMインスタンスへSSH接続しよう
VMインスタンスを作成できましたので、早速接続してみましょう。
一覧の接続列から「SSH」を選択するとブラウザウィンドウが開きます。
「Authorize」を押してブラウザでの接続を許可します。
VMインスタンスに接続ができました!
試しにコマンドを打つと、IPアドレスやバージョンが正常に表示されます。
その他のSSH接続方法について
VMインスタンス一覧の接続列から接続方法に関しての操作ができます。
OSがCentOSやRHELなどの場合、右側の「▼」を選択すると以下の様に表示されます。
- 「ブラウザ ウィンドウで開く」
VMインスタンス一覧の接続列から「SSH」を押すことと同等です。
- 「ブラウザ ウィンドウでカスタムポートを開く」
選択するとポート番号を指定するウィンドウが表示され、ポート番号を指定して接続ができます。
- 「gcloud コマンドを表示」
Google Cloud CLIで実行できるコマンドが表示されます。そのコマンドをGoogle Cloud CLIで実行すると、VMインスタンスにSSH接続できます。
- 「別の SSH クライアントを使用」
選択すると、SSHクライアント(例:PuTTY、OpenSSHなど)を使用して接続方法について書かれた、公式ドキュメントへ飛びます。
要件に合うVMインスタンスを作成してプロジェクトを進めよう
Google Compute Engineでの(VMインスタンスの作成からSSH接続までを紹介いたしました。
まず基本の設定として、プロジェクトの設定を行い、続いてインスタンスの基本設定、マシンタイプ、ブートディスク、ネットワーク設定を行います。最後にインスタンスを作成し、SSHやRDPを使用して接続します。これでクラウド上に仮想マシンが構築され、自由にカスタマイズすることができます。
今回紹介した以外にも、Google Compute Engineにはまだまだ多くの機能があります。
Google Cloudの強力な機能を活用して、スケーラブルで柔軟なインフラを構築し、ビジネスの成長やプロジェクトの成功を目指しましょう。ぜひこの手順を参考に、実際にVMインスタンスを作成してみてください。
執筆者紹介
入社4年目。株式会社電算システム所有のデータセンターに所属し、クラウドサーバーサービス "BizGr@nd" などを運用している。データセンター業務の知識も活かしながらGoogle Cloudの
事業推進を図る。
Google Cloud Professional認定資格の取得に向けて日々勉強中。
<保有資格>
・Cloud Digital Leader Certification
・Associate Cloud Engineer Certification
- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- Compute Engine