ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

VPC ネットワーキング

ラボ 45分 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。

概要

Google Cloud Virtual Private Cloud(VPC)は、Compute Engine 仮想マシン(VM)インスタンス、Kubernetes Engine コンテナ、App Engine フレキシブル環境にネットワーキング機能を提供しています。つまり、VPC ネットワークがなければ VM インスタンス、コンテナ、App Engine アプリケーションを作成することはできません。そのため、新しい Google Cloud プロジェクトには、すぐに使えるように デフォルトの ネットワークが用意されています。

VPC ネットワークは、Google Cloud 内で仮想化されているという点を除き、物理ネットワークと同様のものと考えることができます。VPC ネットワークは、複数のデータセンター内のリージョン仮想サブネットワーク(サブネット)のリストで構成されるグローバル リソースであり、すべてグローバルな広域ネットワーク(WAN)で接続されています。VPC ネットワークは、Google Cloud 内で互いに論理的に分離されています。

このラボでは、ファイアウォール ルールを含む自動モードの VPC ネットワークと、2 つの VM インスタンスを作成します。その後、自動モードのネットワークをカスタムモードのネットワークに変換し、さらに以下のネットワーク図の例に示すカスタムモード ネットワークを追加で作成します。また、ネットワーク間の接続性もテストします。

VPC ネットワーク アーキテクチャ図

目標

このラボでは、次のタスクの実行方法について学びます。

  • デフォルトの VPC ネットワークについて確認する
  • ファイアウォール ルールを含む自動モードのネットワークを作成する
  • 自動モードのネットワークをカスタムモードのネットワークに変換する
  • ファイアウォール ルールを含むカスタムモードの VPC ネットワークを作成する
  • Compute Engine を使用して VM インスタンスを作成する
  • VPC ネットワーク間の VM インスタンスの接続性を調べる

設定と要件

各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。

  1. [ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。

    • [Google Cloud コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。

    ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。

    {{{user_0.username | "Username"}}}

    [ラボの詳細] パネルでもユーザー名を確認できます。

  4. [次へ] をクリックします。

  5. 以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。

    {{{user_0.password | "Password"}}}

    [ラボの詳細] パネルでもパスワードを確認できます。

  6. [次へ] をクリックします。

    重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  7. その後次のように進みます。

    • 利用規約に同意してください。
    • 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルには登録しないでください。

その後、このタブで Google Cloud コンソールが開きます。

注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックするか、[検索] フィールドにサービス名またはプロダクト名を入力します。ナビゲーション メニュー アイコン

タスク 1. デフォルトのネットワークについて確認する

各 Google Cloud プロジェクトは default ネットワークを備えています。このネットワークには、サブネット、ルート、ファイアウォール ルールが含まれています。

サブネットを確認する

デフォルトの ネットワークには、各 Google Cloud リージョンのサブネットが含まれています。

  • Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [VPC ネットワーク] をクリックします。
  • デフォルトの ネットワークとそのサブネットが表示されます。
    各サブネットはそれぞれ 1 つの Google Cloud リージョンとプライベート RFC 1918 CIDR ブロックに関連付けられています。この CIDR ブロックは内部 IP アドレス範囲ゲートウェイに使用されます。

ルートを表示する

ルートは、VM インスタンスと VPC ネットワークに対して、インスタンスから宛先(ネットワーク内部または Google Cloud の外部)にトラフィックを送信する方法を指定するものです。各 VPC ネットワークにはいくつかのデフォルト ルートが用意されており、サブネット間でのトラフィックのルーティングや、条件を満たすインスタンスからインターネットへのトラフィックの送信に使用されます。

  1. 左側のペインで [ルート] をクリックします。

  2. [ネットワーク] プルダウン リストで [default] をクリックします。

  3. [リージョン] プルダウン リストで [] をクリックします。

  4. [表示] をクリックします。

各サブネットのルートと、デフォルト インターネット ゲートウェイ(0.0.0.0/0)のルートが表示されます。
これらのルートは自動的に管理されますが、カスタムの静的ルートを作成して一部のパケットを特定の宛先に送信することもできます。たとえば、NAT ゲートウェイとして構成されたインスタンスにすべての送信トラフィックを送るルートを作成することも可能です。

ファイアウォール ルールを表示する

各 VPC ネットワークには、構成可能な分散仮想ファイアウォールが実装されています。ファイアウォール ルールを使用すると、どのパケットをどの宛先に送信できるようにするかをコントロールできます。また、あらゆる VPC ネットワークには、すべての受信接続をブロックし、すべての送信接続を許可するという 2 つの暗黙ファイアウォール ルールが存在します。

  • 左側のペインで、[ファイアウォール] をクリックします。
    デフォルトの ネットワークには、次の 4 つの上り(内向き)のファイアウォール ルールがあります。

    • default-allow-icmp
    • default-allow-rdp
    • default-allow-ssh
    • default-allow-internal

    これらのファイアウォール ルールにより、任意の送信元(0.0.0.0/0)からの ICMPRDPSSH の上り(内向き)トラフィックと、このネットワーク(10.128.0.0/9)内の TCPUDPICMP のすべてのトラフィックが許可されます。[ターゲット]、[フィルタ]、[プロトコル / ポート]、[アクション] の各列でこれらのルールの設定がわかります。

ファイアウォール ルールを削除する

  1. 左側のペインで、[ファイアウォール ポリシー] をクリックします。
  2. [VPC ファイアウォール ルール] から、デフォルトのネットワークファイアウォール ルールをすべて選択します。
  3. [削除] をクリックします。
  4. [削除] をもう一度クリックして、ファイアウォール ルールの削除を確定します。

デフォルト ネットワークを削除する

  1. ナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [VPC ネットワーク] をクリックします。
  2. デフォルトの ネットワークを選択します。
  3. [VPC ネットワークの削除] をクリックし、「デフォルト」と入力します。
  4. [削除] をクリックして、デフォルトの ネットワークの削除を確定します。

ネットワークが削除されるまで待ってから次に進みます。

  1. 左側のペインで [ルート] をクリックします。

ルートが表示されていないことを確認します。

  1. 左側のペインで、[ファイアウォール] をクリックします。

ファイアウォール ルールが表示されていないことを確認します。

注: VPC ネットワークがない場合は、ルートもありません。

VM インスタンスを作成してみる

VPC ネットワークがない場合は VM インスタンスを作成できないことを確認します。

  1. ナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。
  2. [インスタンスを作成] をクリックします。
  3. デフォルト値をそのまま使用して [作成] をクリックします。

[ネットワーキング] タブにエラーが表示されます。

  1. [問題に移動] をクリックします。

    [ネットワーク インターフェース] に「使用できるその他のネットワークがありません」というエラーが表示されます。

  2. [キャンセル] をクリックします。

注: 想定どおり、VM インスタンスの作成には VPC ネットワークが必要です。

タスク 2. 自動モードのネットワークを作成する

ラボの冒頭で述べたように、自動モードのネットワークと 2 つの VM インスタンスを作成します。自動モードのネットワークは各リージョン内にサブネットを自動的に作成するため、簡単に設定して使用できます。ただし、VPC ネットワーク内で作成されるサブネットを完全に制御することはできません(使用するリージョンや IP アドレス範囲などを自由に設定することはできません)。

自動モードのネットワークを選択する際の考慮事項の詳細については、Google VPC ドキュメントをご覧ください。このラボでは、プロトタイピングを目的として自動モードのネットワークを使用することを想定します。

必要な API を有効にする

  • Cloud Shell ターミナルで、gcloud を使用してラボで使用するサービスを有効にします。
gcloud services enable \ iap.googleapis.com \ networkmanagement.googleapis.com

ファイアウォール ルールを含む自動モードの VPC ネットワークを作成する

  1. ナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [VPC ネットワーク] をクリックします。
  2. [VPC ネットワークを作成] をクリックします。
  3. [名前] に「mynetwork」と入力します。
  4. [サブネット作成モード] で [自動] をクリックします。

自動モードのネットワークは、各リージョンのサブネットを自動的に作成します。

  1. [ファイアウォール ルール] で、選択可能なすべてのルールのチェックボックスをオンにします。

これらのルールは、デフォルト ネットワークに含まれている標準のファイアウォール ルールと同じです。deny-all-ingress ルールと allow-all-egress ルールも表示されますが、これらは暗黙のルールなので、選択したり無効にしたりすることはできません。この 2 つのルールは優先度が低いため(値が大きいほど優先度が低い)、ICMP、カスタム、RDP、SSH の許可ルールが先に検討されます。

  1. [作成] をクリックします。

  2. 新しいネットワークの準備ができたら、[mynetwork] > [サブネット] をクリックします。 のサブネットの IP アドレス範囲を書き留めておいてください。

注: デフォルト ネットワークを削除しても、上述のように自動モードのネットワークを作成すればすぐに作り直すことができます。

IAP ファイアウォール ルールを追加する

  1. VPC を作成した後、[VPC ネットワーク] > [ファイアウォール] に移動します。

  2. [ファイアウォール ルールを作成] をクリックします。

  3. 次の詳細情報を入力します。

    • 名前: allow-iap-ssh

    • ネットワーク: mynetwork

    • 優先度: 1000

    • トラフィックの方向: 上り(内向き)

    • 一致したときのアクション: 許可

    • ターゲット: 指定されたターゲットタグ

    • ターゲット タグ: iap-gce

    • ソースフィルタ: IPv4 の範囲

    • ソース IP 範囲: 35.235.240.0/20

    • プロトコルとポート: [指定したプロトコルとポート] をオンにして、「tcp:22」と入力します。

  4. [作成] をクリックします。

に VM インスタンスを作成する

リージョンに VM インスタンスを作成します。リージョンとゾーンを選択するとサブネットが決まり、そのサブネットの IP アドレス範囲から内部 IP アドレスが割り当てられます。

  1. ナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] > [VM インスタンス] をクリックします。

  2. [インスタンスを作成] をクリックします。

  3. 以下を指定します。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 mynet-us-vm
    リージョン
    ゾーン
  4. [シリーズ] で [E2] を選択します。

  5. [マシンタイプ] で、[e2-medium(2 vCPU、4 GB メモリ)] を選択します。

  6. [OS とストレージ] をクリックします。

  7. 表示されるイメージが「Debian GNU/Linux 12(bookworm)」でない場合は、[変更] をクリックして [Debian GNU/Linux 12(bookworm)] を選択し、[選択] をクリックします。

  8. [ネットワーキング] をクリックします。

  9. [ネットワーク タグ] に「iap-gce」と入力します。

  10. [作成] をクリックします。

に VM インスタンスを作成する

リージョンに VM インスタンスを作成します。

  1. [インスタンスを作成] をクリックします。

  2. 以下を指定します。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 mynet-notus-vm
    リージョン
    ゾーン
  3. [シリーズ] で [E2] を選択します。

  4. [マシンタイプ] で、[e2-medium(2 vCPU、4 GB メモリ)] を選択します。

  5. [OS とストレージ] をクリックします。

  6. 表示されるイメージが「Debian GNU/Linux 12(bookworm)」でない場合は、[変更] をクリックして [Debian GNU/Linux 12(bookworm)] を選択し、[選択] をクリックします。

  7. [ネットワーキング] をクリックします。

  8. [ネットワーク タグ] に「iap-gce」と入力します。

  9. [作成] をクリックします。

注: どちらの VM インスタンスでも、[外部 IP] のアドレスは一時的なもの(エフェメラル)です。インスタンスが停止すると、インスタンスに割り当てられているエフェメラル外部 IP アドレスは解放されて汎用の Compute Engine プールに戻され、他のプロジェクトで使用できるようになります。

停止したインスタンスが再起動されると、インスタンスに新しいエフェメラル外部 IP アドレスが割り当てられます。または、静的な外部 IP アドレスを予約して、明示的に解放するまで無期限でプロジェクトに割り当てることもできます。

VM インスタンスの接続性を確認する

mynetwork で作成したファイアウォール ルールでは、mynetwork の外部(外部 IP)からと内部(内部 IP)での、SSH および ICMP の上り(内向き)トラフィックが許可されます。

  1. ナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。

mynet-notus-vm の外部 IP アドレスと内部 IP アドレスを書き留めます。

  1. mynet-us-vm VM インスタンスに SSH 接続するには、次のコマンドを実行します。
gcloud compute ssh mynet-us-vm \ --zone={{{ project_0.default_zone | Zone 1}}} \ --tunnel-through-iap

続行を確認するメッセージが表示されたら、「Y」と入力します。

パスフレーズの入力を求められたら、パスフレーズを空白にしたまま Enter キーを押し、もう一度 Enter キーを押します。

注: allow-ssh ファイアウォール ルールによって、tcp:22 に対する内向きトラフィックがすべて許可(送信元は任意: 0.0.0.0/0)されているため、SSH でインスタンスに接続できます。また、Compute Engine が SSH 認証鍵を自動的に作成して次のいずれかの場所に保存するため、SSH 接続はシームレスに機能します。
  • デフォルトでは、生成された鍵はプロジェクトまたはインスタンスのメタデータに追加されます。
  • OS Login を使用するようにアカウントが構成されている場合、生成された鍵はユーザー アカウントとともに保存されます。

重要: SSH アクセスは、メタデータの更新が許可され、インスタンスに伝播される場合にのみ機能します。ポリシーや構成ミスなどによってメタデータの更新がブロックされている場合、ファイアウォール ルールでポート 22 が許可されていても、SSH アクセスが失敗することがあります。

SSH 認証鍵を作成し、公開 SSH 認証鍵のメタデータを編集することで、Linux インスタンスへのアクセスを制御することもできます。
  1. 次のコマンドを実行して、mynet-notus-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、mynet-notus-vm の内部 IP アドレスに置き換えます。
ping -c 3 <mynet-notus-vm の内部 IP アドレスをここに入力>

allow-custom ファイアウォール ルールで許可されているため、mynet-notus-vm の内部 IP アドレスに ping を実行できます。

  1. 次のコマンドを実行して、mynet-notus-vm の外部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、mynet-notus-vm の外部 IP アドレスに置き換えます。
ping -c 3 <mynet-notus-vm の外部 IP アドレスをここに入力>
  1. コマンド exit を入力して SSH セッションを終了し、Cloud Shell に戻ります。

注: 想定どおり、mynet-us-vm に SSH で接続し、mynet-notus-vm の内部 IP アドレスと外部 IP アドレスに対して ping を通すことができます。同様に、mynet-notus-vm に SSH で接続し、mynet-us-vm の内部 IP アドレスと外部 IP アドレスに対して ping を通すこともできます。

カスタムモードのネットワークに変換する

これまでのところ、自動モードのネットワークは正常に機能しています。次のタスクでは、これをカスタムモードのネットワークに変換し、新しいリージョンが利用可能になっても自動的にサブネットが作成されないようにします。サブネットが自動的に作成されると、手動で作成したサブネットや静的ルートで使用される IP アドレスとの重複が発生したり、ネットワーク計画全体に影響したりする可能性があります。

  1. ナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [VPC ネットワーク] をクリックします。
  2. [mynetwork] をクリックしてネットワークの詳細を表示します。
  3. [編集] をクリックします。
  4. [サブネット作成モード] で [カスタム] を選択します。
  5. [保存] をクリックします。
  6. [VPC ネットワーク] ページに戻ります。

mynetwork の [モード] が [カスタム] に変わるまで待ちます。

待機中に [更新] をクリックして、現在の状態を確認することもできます。

[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。 VPC ネットワークと VM インスタンスを作成する

注: 自動モードのネットワークは簡単にカスタムモードのネットワークに変換できます。この変換を行うことで、より柔軟にネットワークを構成できるようになります。本番環境ではカスタムモードのネットワークを使用することをおすすめします。

タスク 3. カスタムモードのネットワークを作成する

このタスクでは、以下のサンプル図のように SSHICMPRDP の上り(内向き)トラフィックを許可するファイアウォール ルールを含む 2 つのカスタム ネットワーク(managementnetprivatenet)と、VM インスタンス(vm-appliance 以外)を作成します。

VPC ネットワーク アーキテクチャ図

これらのネットワークの IP CIDR 範囲は重複していないため、ネットワーク間に VPC ピアリングなどのメカニズムを設定できます。お使いのオンプレミス ネットワークとは異なる IP CIDR 範囲を指定すると、VPN または Cloud Interconnect を使用したハイブリッド接続の構成も可能になります。

managementnet ネットワークを作成する

Cloud コンソールを使用して managementnet ネットワークを作成します。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で [VPC ネットワーク] > [VPC ネットワーク] をクリックします。

  2. [VPC ネットワークを作成] をクリックします。

  3. [名前] に「managementnet」と入力します。

  4. [サブネット作成モード] で [カスタム] をクリックします。

  5. 次のように指定し、残りの設定はデフォルトのままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 managementsubnet-us
    リージョン
    IPv4 範囲 10.240.0.0/20
  6. [完了] をクリックします。

  7. [同等のコマンドライン] をクリックします。

    これらのコマンドは、gcloud コマンドラインを使用してネットワークとサブネットを作成できることを示しています。後ほど、このようなコマンドに同様のパラメータを指定して、privatenet ネットワークを作成します。

  8. [閉じる] をクリックします。

  9. [作成] をクリックします。

privatenet ネットワークを作成する

gcloud コマンドラインを使用して privatenet ネットワークを作成します。

  1. Google Cloud コンソールで、Cloud Shell をアクティブにするアイコン(Cloud Shell をアクティブにするアイコン)をクリックします。
  2. プロンプトが表示されたら、[続行] をクリックします。
  3. 次のコマンドを実行して privatenet ネットワークを作成します。[承認] をクリックします(求められた場合)。
gcloud compute networks create privatenet --subnet-mode=custom
  1. 次のコマンドを実行して privatesubnet-us サブネットを作成します。
gcloud compute networks subnets create privatesubnet-us --network=privatenet --region={{{project_0.default_region|Region 1}}} --range=172.16.0.0/24
  1. 次のコマンドを実行して privatesubnet-notus サブネットを作成します。
gcloud compute networks subnets create privatesubnet-notus --network=privatenet --region={{{project_0.default_region_2|Region 2}}} --range=172.20.0.0/20
  1. 次のコマンドを実行して、使用可能な VPC ネットワークを一覧表示します。
gcloud compute networks list

出力は次のようになります。

NAME: managementnet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: mynetwork SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: privatenet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4:
  1. 次のコマンドを実行して、使用可能な VPC サブネットを(VPC ネットワーク別に並び替えて)一覧表示します。
gcloud compute networks subnets list --sort-by=NETWORK 注: managementnet ネットワークと privatenet ネットワークはカスタムモードのネットワークであるため、作成したサブネットのみが含まれます。mynetwork もカスタムモードのネットワークですが、最初に自動モードのネットワークとして開始したため、各リージョンにサブネットが作成されています。
  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [VPC ネットワーク] をクリックします。
    Cloud コンソールにも同じネットワークとサブネットが一覧表示されることを確認します。

managementnet 用のファイルウォール ルールを作成する

managementnet ネットワーク上の VM インスタンスに対する SSHICMP、および RDP の上り(内向き)トラフィックを許可するように、ファイアウォール ルールを作成します。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [ファイアウォール] をクリックします。

  2. [ファイアウォール ルールを作成] をクリックします。

  3. 次のように指定し、残りの設定はデフォルトのままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 managementnet-allow-icmp-ssh-rdp
    ネットワーク managementnet
    ターゲット ネットワーク上のすべてのインスタンス
    ソースフィルタ IPv4 範囲
    送信元 IPv4 範囲 0.0.0.0/0
    プロトコルとポート 指定したプロトコルとポート
注: すべてのネットワークを指定するために、[ソース IPv4 の範囲] には /0 を含めます。
  1. [tcp] を選択し、ポート「22」と「3389」を指定します。

  2. [その他のプロトコル] を選択して、icmp プロトコルを指定します。

  3. [同等のコマンドライン] をクリックします。

    これらのコマンドは、gcloud コマンドラインでもファイアウォール ルールを作成できることを示しています。後ほど、これらのコマンドに同様のパラメータを指定して、privatenet のファイアウォール ルールを作成します。

  4. [閉じる] をクリックします。

  5. [作成] をクリックします。

privatenet 用のファイアウォール ルールを作成する

gcloud コマンドラインを使用して privatenet ネットワーク用のファイアウォール ルールを作成します。

  1. Cloud Shell に戻ります。必要に応じて、Cloud Shell をアクティブにするアイコン(Cloud Shell をアクティブにするアイコン)をクリックします。
  2. 次のコマンドを実行して、privatenet-allow-icmp-ssh-rdp ファイアウォール ルールを作成します。
gcloud compute firewall-rules create privatenet-allow-icmp-ssh-rdp --direction=INGRESS --priority=1000 --network=privatenet --action=ALLOW --rules=icmp,tcp:22,tcp:3389 --source-ranges=0.0.0.0/0

出力は次のようになります。

NAME: privatenet-allow-icmp-ssh-rdp NETWORK: privatenet DIRECTION: INGRESS PRIORITY: 1000 ALLOW: icmp,tcp:22,tcp:3389 DENY: DISABLED: False
  1. 次のコマンドを実行して、すべてのファイアウォール ルールを(VPC ネットワーク別に並び替えて)一覧表示します。
gcloud compute firewall-rules list --sort-by=NETWORK

出力は次のようになります。

NAME: managementnet-allow-icmp-ssh-rdp NETWORK: managementnet DIRECTION: INGRESS PRIORITY: 1000 ALLOW: tcp:22,tcp:3389,icmp DENY: DISABLED: False NAME: mynetwork-allow-custom NETWORK: mynetwork DIRECTION: INGRESS PRIORITY: 65534 ALLOW: all DENY: DISABLED: False NAME: mynetwork-allow-icmp NETWORK: mynetwork DIRECTION: INGRESS PRIORITY: 65534 ALLOW: icmp DENY: DISABLED: False NAME: mynetwork-allow-rdp NETWORK: mynetwork DIRECTION: INGRESS PRIORITY: 65534 ALLOW: tcp:3389 DENY: DISABLED: False NAME: mynetwork-allow-ssh NETWORK: mynetwork DIRECTION: INGRESS PRIORITY: 65534 ALLOW: tcp:22 DENY: DISABLED: False NAME: privatenet-allow-icmp-ssh-rdp NETWORK: privatenet DIRECTION: INGRESS PRIORITY: 1000 ALLOW: icmp,tcp:22,tcp:3389 DENY: DISABLED: False

mynetwork ネットワークのファイアウォール ルールはあらかじめ作成されています。複数のプロトコルとポートを、1 つのファイアウォール ルール(privatenetmanagementnet)で定義することも、それぞれ別のルール(defaultmynetwork)に分けて定義することも可能です。

  1. Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [ファイアウォール] をクリックします。
    Cloud コンソールにも同じファイアウォール ルールが一覧表示されることを確認します。

[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。 ファイアウォール ルールを含むカスタムモードの VPC ネットワークを作成する

次に、2 つの VM インスタンスを作成します。

  • managementnet-us-vmmanagementsubnet-us に作成
  • privatenet-us-vmprivatesubnet-us に作成

managementnet-us-vm インスタンスを作成する

Cloud コンソールを使用して managementnet-us-vm インスタンスを作成します。

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] > [VM インスタンス] をクリックします。

  2. [インスタンスを作成] をクリックします。

  3. 次のように指定し、残りの設定はデフォルトのままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 managementnet-us-vm
    リージョン
    ゾーン
    シリーズ E2
    マシンタイプ e2-micro(2 vCPU、1 コア、1 GB メモリ)
    ブートディスク Debian GNU/Linux 12(bookworm)
  4. [ネットワーキング] をクリックします。

  5. [ネットワーク インターフェース] で、プルダウンをクリックして編集モードにします。

  6. 次のように指定し、残りの設定はデフォルトのままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    ネットワーク managementnet
    サブネットワーク managementsubnet-us
注: 選択可能なサブネットは、選択したリージョンのサブネットに限定されます。
  1. [完了] をクリックします。

  2. [同等のコード] をクリックします。

    これらのコマンドは、gcloud コマンドラインでも VM インスタンスを作成できることを示しています。これらのコマンドに同様のパラメータを指定して、privatenet-us-vm インスタンスを作成します。

  3. [作成] をクリックします。

privatenet-us-vm インスタンスを作成する

gcloud コマンドラインを使用して privatenet-us-vm インスタンスを作成します。

  1. Cloud Shell に戻ります。必要に応じて、Cloud Shell をアクティブにするアイコン(Cloud Shell をアクティブにするアイコン)をクリックします。
  2. 次のコマンドを実行して privatenet-us-vm インスタンスを作成します。
gcloud compute instances create privatenet-us-vm --zone={{{project_0.default_zone|Zone 1}}} --machine-type=e2-micro --subnet=privatesubnet-us --image-family=debian-12 --image-project=debian-cloud --boot-disk-size=10GB --boot-disk-type=pd-standard --boot-disk-device-name=privatenet-us-vm
  1. 次のコマンドを実行して、(ゾーンで並び替えた)すべての VM インスタンスを一覧表示します。
gcloud compute instances list --sort-by=ZONE
  1. Cloud コンソールのナビゲーション メニューナビゲーション メニュー)で、[Compute Engine] > [VM インスタンス] をクリックします。

VM インスタンスが Cloud コンソールに一覧表示されることを確認します。

  1. [] で [ゾーン] を選択します。

    にはインスタンスが 3 つ、 にはインスタンスが 1 つあります。ただし、これらのインスタンスは 3 つの VPC ネットワーク(managementnetmynetworkprivatenet)に分散されており、どのインスタンスも他のインスタンスと同じゾーンまたはネットワーク内にありません。次のタスクでは、これが内部の接続性に及ぼす影響について調べます。

[進行状況を確認] をクリックして、目標に沿って進行していることを確認します。 VM インスタンスを作成する

注: 各 VM インスタンスのネットワーク情報を詳しく調べるには、[内部 IP] 列にある [nic0] リンクをクリックします。表示されるネットワーク インターフェースの詳細ページに、サブネットと IP CIDR の範囲、そのインスタンスに適用されるファイアウォール ルールとルート、その他のネットワーク分析情報が示されます。

タスク 4. ネットワーク間の接続性を調べる

VM インスタンス間の接続性を調べます。具体的には、VM インスタンスが同じゾーン内にある場合と、同じ VPC ネットワーク内にある場合についてそれぞれの影響を確認します。

外部 IP アドレスに ping する

VM インスタンスの外部 IP アドレスに ping して、公共のインターネットからインスタンスにアクセスできるかどうかを調べます。

  1. Google Cloud コンソールのナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。
    mynet-notus-vmmanagementnet-us-vmprivatenet-us-vm の外部 IP アドレスをメモします。
  2. mynet-us-vm VM インスタンスに SSH 接続するには、次のコマンドを実行します。
gcloud compute ssh mynet-us-vm \ --zone={{{ project_0.default_zone | Zone 1}}} \ --tunnel-through-iap
  1. 次のコマンドを実行して、mynet-notus-vm の外部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、mynet-notus-vm の外部 IP アドレスに置き換えます。
ping -c 3 <mynet-notus-vm の外部 IP アドレスをここに入力>

応答があるはずです。

  1. 次のコマンドを実行して、managementnet-us-vm の外部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、managementnet-us-vm の外部 IP に置き換えます。
ping -c 3 <managementnet-us-vm の外部 IP を入力>

応答があるはずです。

  1. 次のコマンドを実行して、privatenet-us-vm の外部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、privatenet-us-vm の外部 IP に置き換えます。
ping -c 3 <privatenet-us-vm の外部 IP を入力>

応答があるはずです。

注: VM インスタンスが異なるゾーンや VPC ネットワークにある場合でも、すべての VM インスタンスの外部 IP アドレスに ping を通すことができます。これにより、これらのインスタンスへの公開アクセスが、先ほど設定した ICMP ファイアウォール ルールによってのみ制御されていることを確認できます。

内部 IP アドレスに ping する

VM インスタンスの内部 IP アドレスに ping して、VPC ネットワーク内からインスタンスにアクセスできるかどうかを調べます。

  1. Cloud コンソールのナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。
    mynet-notus-vmmanagementnet-us-vmprivatenet-us-vm の内部 IP アドレスをメモします。
  2. mynet-us-vm の SSH セッションに戻ります。
  3. 次のコマンドを実行して、mynet-notus-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、mynet-notus-vm の内部 IP アドレスに置き換えます。
ping -c 3 <mynet-notus-vm の内部 IP アドレスを入力> 注: mynet-notus-vm の内部 IP アドレスは ping のソース(mynet-us-vm)と同じ VPC ネットワークにあるため、両方の VM インスタンスのゾーン、リージョン、大陸が異なっていても、ping を通すことができます。
  1. 次のコマンドを実行して、managementnet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、managementnet-us-vm の内部 IP に置き換えます。
ping -c 3 <managementnet-us-vm の内部 IP を入力> 注: 100% パケットロスで、ping に対する応答はありません。
  1. 次のコマンドを実行して、privatenet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、privatenet-us-vm の内部 IP に置き換えます。
ping -c 3 <privatenet-us-vm の内部 IP を入力> 注: この場合も 100% パケットロスで、ping に対する応答はありません。managementnet-us-vmprivatenet-us-vm の内部 IP アドレスに ping を通すことはできません。これらの IP アドレスは同じゾーンにありますが、ping のソース(mynet-us-vm)とは別の VPC ネットワーク内にあるためです。

タスク 5. まとめ

このラボでは、デフォルト ネットワークについて確認し、VPC ネットワークが VM インスタンスの作成に不可欠であることを確かめました。そのために、サブネット、ルート、ファイアウォール ルールを含む新しい自動モードの VPC ネットワークと 2 つの VM インスタンスを作成し、VM インスタンスの接続性をテストしました。本番環境には自動モードのネットワークの使用は推奨されないため、自動モードのネットワークをカスタムモードのネットワークに変換しました。

次に、Cloud コンソールと gcloud コマンドラインを使用して、ファイアウォール ルールを含む 2 つのカスタムモード VPC ネットワークと VM インスタンスを追加で作成しました。その後、VPC ネットワーク間の接続性をテストして、外部 IP アドレスに対しては ping が通るものの、内部 IP アドレスに対しては ping が通らないことを確認しました。

デフォルトでは、VPC ネットワークは分離されたプライベート ネットワーク ドメインです。そのため、内部 IP アドレスによるネットワーク間通信は、VPC ピアリングや VPN などのメカニズムを設定しない限り許可されません。

ラボを終了する

ラボが完了したら、[ラボを終了] をクリックします。ラボで使用したリソースが Google Skills から削除され、アカウントの情報も消去されます。

ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。

星の数は、それぞれ次の評価を表します。

  • 星 1 つ = 非常に不満
  • 星 2 つ = 不満
  • 星 3 つ = どちらともいえない
  • 星 4 つ = 満足
  • 星 5 つ = 非常に満足

フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。

フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。

Copyright 2026 Google LLC All rights reserved. Google および Google のロゴは、Google LLC の商標です。その他すべての社名および製品名は、それぞれ該当する企業の商標である可能性があります。

始める前に

  1. ラボでは、Google Cloud プロジェクトとリソースを一定の時間利用します
  2. ラボには時間制限があり、一時停止機能はありません。ラボを終了した場合は、最初からやり直す必要があります。
  3. 画面左上の [ラボを開始] をクリックして開始します

シークレット ブラウジングを使用する

  1. ラボで使用するユーザー名パスワードをコピーします
  2. プライベート モードで [コンソールを開く] をクリックします

コンソールにログインする

    ラボの認証情報を使用して
  1. ログインします。他の認証情報を使用すると、エラーが発生したり、料金が発生したりする可能性があります。
  2. 利用規約に同意し、再設定用のリソースページをスキップします
  3. ラボを終了する場合や最初からやり直す場合を除き、[ラボを終了] はクリックしないでください。クリックすると、作業内容がクリアされ、プロジェクトが削除されます

このコンテンツは現在ご利用いただけません

利用可能になりましたら、メールでお知らせいたします

ありがとうございます。

利用可能になりましたら、メールでご連絡いたします

1 回に 1 つのラボ

既存のラボをすべて終了して、このラボを開始することを確認してください

シークレット ブラウジングを使用してラボを実行する

このラボを実行するには、シークレット モードまたはシークレット ブラウジング ウィンドウを使用することをおすすめします。これにより、個人アカウントと受講者アカウントの競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。