Google Cloud (GCP) の VPC 作成手順について説明

記事タイトルとURLをコピーする

G-gen の武井です。さっそくですが、この度はじめて弊社 Tech Blog に投稿させてもらうことになりました。はじめての投稿ということもあり、まずは「Google Cloud 基本のキ」シリーズの1つとして、Google Compute Engine (GCE) 等の IaaS サービスを利用する上では欠かせない Virtual Private Cloud (仮想ネットワーク、以下 VPC) の構築手順について触れていきたいと思います。

ちなみに、VPC については過去の投稿もありますのでこちらも目を通していただけると幸いです。
blog.g-gen.co.jp

VPC の概要

VPC を作成する場合、GUI コンソールである Cloud コンソールから作成する方法の他にも、CLI や IaC などを利用して作成することもできますが、今回は Cloud コンソールから作成します。 Cloud コンソールから VPC のサービス画面に遷移し、そこから「VPC ネットワークの作成」をクリックすると、VPC (およびサブネット等) の設定に移っていきます。

オートサブネットモード

話の順番が少し逆転してしまうかもしれませんが、解説の便宜上、まずはサブネットについて説明します。

オートサブネットモードによって VPC 内に作成されるサブネット一覧

見ていただくと、画面中央、各リージョンに対してそれぞれ /20 のプレフィックスで切られたサブネットの一覧が表示されているかと思います。これは何かと言いますと、「オートサブネットモード」を利用した場合に、これから作成する VPC の中に払い出されるサブネットの一覧になります。
オートサブネットモードとはサブネット作成を自動化する Google Cloud 独自の機能のことで、このモードを選択して VPC を作成すると、その時点で利用可能なリージョンに自動的にサブネットが作成されます。例えば、「テスト環境等でサクッと何かを検証してみたいときにネットワークの検討まではしたくない!」なんてときに便利な機能になるかと思います。
試しに「yutakei-test-vpc」というリソース名で VPC を払い出した際の画面が以下となりますが、上記画面で一覧表示されていたものと同じ IP アドレス、プレフィックスで各リージョンにサブネットが作成されているのがお分かりいただけるかと思います。

オートサブネットモードで実際に払い出されたサブネット

なお、従来どおり管理者がサブネットと IP 範囲を定義する「カスタムサブネットモード」というモードも用意されており、本番環境等でお使い頂く場合、こちらのカスタムサブネットモードの利用がベストプラクティスとなります。モードの選択については、VPC を作成する際の画面から選択いただけます。

サブネット作成モードの選択

グローバルリソース

さて、ここまでのお話の中で違和感を感じられた方も多くいらっしゃるかもしれません。特に AWS を利用された経験のある方はそうだと思うんですが、実は Google Cloud の VPC では、リージョンをまたがるようにして VPC を構成することができるんです。

一般的に、他のパブリッククラウドでは VPC はリージョナルリソースとして定義されていますので、払い出された VPC は特定のリージョンに紐づく形で管理されます。
しかし Google Cloud の場合、VPC はグローバルリソースとして定義されていますので、例えば東京リージョン (asia-northeast1) と大阪リージョン (asia-northeast2) を使って2つのリージョンにまたがるような形で1つの VPC を形成することができます。また、各リージョンには通常3つのゾーン (AWS で言う AZ) がありますので、サービスの特性に応じて VPC や サブネットを柔軟に設計・構築することが可能となります。
例えばこれと同じような構成を AWS で実現させる場合、それぞれのリージョンに VPC を払い出し、VPC 間の通信が可能になるよう、VPC 間をピアリングで接続し、ルート情報を双方の VPC で追加したりする必要が出てくるので、設定や管理面での手間を省くことができます。

VPCやサブネットを柔軟に構成できる

VPC の作成

Google Cloud コンソールへのログイン

今回は「Google Cloud 基本のキ」シリーズということもありますので、あらためて Cloud コンソールにログインするところから説明したいと思います。

以下が Google Cloud を管理するための GUI コンソール (Cloud コンソール) になります。

Cloud コンソールにて組織リソースを選択

まずは Google アカウントで Cloud コンソールにログインし、その後 VPC を払い出していく流れになりますが、VPC をはじめ、各種 Google Cloud リソースを利用する上で最初にやらなければいけないこととして、画面の赤枠内にて、組織、フォルダ、プロジェクトといった組織リソース (リソース階層) を正しく選択する必要があります。

組織リソースとは、Google Cloud を利用する組織の階層構造を管理する、他のパブリッククラウドにはない独自の概念になりますが、VPC 等の各種リソースはそのリソース階層の最も下位に位置づけられるため、上位にあたる各種組織リソースは間違えないよう注意が必要です。 なお、組織リソースやリソース階層については今回の本題から外れてしまうため、詳細については別途こちらの記事を参照いただくと理解が深まるかと思います。 blog.g-gen.co.jp

VPC 名の設定

前述の通り、画面上から「VPC ネットワークの作成」をクリックし、遷移先の画面で詳細を設定していきます。 まず始めに VPC 名、説明 (任意) を設定します。

VPC設定

サブネットの設定

次にサブネットを設定します。サブネットモードは「カスタム」か「自動」を選択しますが、前述の通り、自動 (オートサブネットモード) はテスト環境等一時的な場面での利用にとどめ、本番環境等を想定して利用する場合はカスタムモードの選択がベストプラクティスになります。カスタムモードを選択すると、追加で以下の項目について設定します。

  • サブネット名
  • 説明
  • リージョン
  • IP アドレス範囲
    • プレフィックス長で設定
  • セカンダリ IP 範囲 (任意)
  • Google アクセス (任意)
    • 他のリソースの API アクセスに外部 IP を使わない、AWS で言う VPC エンドポイントに相当する機能
  • フローログ (任意)
    • VPC へのインバウンド (上り)、アウトバウンド (下り) トラフィックに関するログを生成、保管する機能
  • 追加のサブネット設定 (任意)
    • 設定項目は上記同様

サブネット設定-1
サブネット設定-2

ファイアウォールルール (IPv4 / IPv6)

VPC へのインバウンド、アウトバウンドトラフィックを制御する機能で、AWS で言うセキュリティグループやネットワーク ACL に相当します。
以下のように、デフォルトルールを VPC 作成の段階で適用することもできますし、あとから別途ファイアウォールのメニューで具体的に定義することも可能です。
セキュリティの観点からすると、例えば RDP や SSH のインバウンドルールが以下の画面では接続元を any としていますので、必要最小限に絞り込んだルールを別途作成するほうが望ましいでしょう。

ファイアウォールルール設定

その他設定事項

その他の設定事項としては以下が挙げられます。いずれもオンプレミス環境との VPN 接続を想定した項目となります。

  • 動的ルーティングモード
    • オンプレミスと VPN 接続する際、グローバルを選択することで VPC 側のルート情報がオンプレミス側に広報されます
  • DNS サーバーポリシー
    • オンプレミスと VPN 接続する際、オンプレミス側の DNS を参照させることができます
  • 最大伝送単位 (MTU)
    • オンプレミスと VPN 接続する際、1460 に設定することを推奨します (VPN トンネル内ではオリジナルパケットがトンネルヘッダでカプセル化されるため)

その他設定事項

ここまで設定し終えたら、最後に作成をクリックして VPC を作成します。

VPC の作成後

VPC 作成後は要件通り作成できたのかを確認し、必要に応じて修正や追加の編集を加えることができます。
VPC ネットワーク一覧に作成した VPC が表示されるかと思いますので、そちらをクリックすることで詳細確認と編集が可能な画面に遷移します。今回私は東京リージョンと大阪リージョンをまたがるような形で VPC を作成しました。

作成された VPC
VPC 詳細画面

サブネット

初回作成後、サブネットタブからサブネットの削除や追加が可能です。

サブネットの編集画面

静的 IP アドレス

今回は作成していませんが、例えば Compute Engine を作成すると、自動的に 内部 IP アドレスが割り当てられますが、内部 IP をスタティックに割り当てたいといった要望がある場合にはこちらのタブから管理することができます。

静的 IP アドレスの編集画面

ファイアウォールポリシー、ファイアウォールルール

役割や目的は同じなんですが、先にも述べたとおり Google Cloud にはリソース階層という概念があります。そのため、前者であれば組織リソースやフォルダリソースにアタッチすることで、配下のリソースにも同じポリシーを適用することができ、後者であれば、例えば特定のプロジェクトの特定の VPC にのみユニークなルールを適用したい場合などに利用することができます。

ファイアウォールルールはファイアウォールルールタブから編集できます

ファイアウォールルールの編集画面

ファイアウォールポリシーについては Google の公式サイトをご確認ください。 cloud.google.com

ルート

VPC 内外へ通信するためのルート情報を管理します。デフォルトでは、インターネットへのデフォルトルートや、VPC 内のサブネットを宛先としたルートは登録される仕様となっています。このあたりは AWS も同じ仕様かと思います。

ルートの編集画面

VPC ネットワークピアリング

同一プロジェクト内の他の VPC や、別のプロジェクトの VPC に対して通信を行いたい場合、VPC ネットワークピアリングを設定します。設定すると、宛先となる VPC (サブネット) へのルート情報が自動的に登録されます。
また、ローカル VPC または 接続先 VPC がオンプレミスと VPN 接続している場合、オンプレミス側のルート情報をインポートしたり、また、オンプレミス側へ VPC 側のルートのエクスポートも行えます。

VPC ネットワークピアリングの編集画面

プライベートサービス接続

こちらも今回は利用していませんが、例えば Cloud SQL で作成した DB インスタンスにプライベート IP 接続を設定した場合など、他のリソースとの接続にプライベートサービス接続を利用した場合に管理する項目になります。

プライベートサービス接続の編集画面

武井 祐介 (記事一覧)

クラウドソリューション部

2022年4月より G-gen にジョイン。前職では AWS を中心にインフラ環境の設計構築、運用保守業務を担当。先日 Associate Cloud Engineer に続いて Professional Cloud Architect を取得。次は Professional DataEngineer の取得に向けて勉強中。

GWに念願の松山選手と同じゴルフシューズを手に入れることができて上機嫌な最近です。