arrow_back

カスタム ネットワークを作成してファイアウォール ルールを適用する

ログイン 参加
700 以上のラボとコースにアクセス

カスタム ネットワークを作成してファイアウォール ルールを適用する

ラボ 30分 universal_currency_alt クレジット: 1 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
700 以上のラボとコースにアクセス

GSP159

概要

このハンズオンラボでは、安全なネットワーク アーキテクチャを設計して実装する方法を学びます。Cloud Shell とコマンドライン言語「gcloud」を使用して 3 つのサブネットワークを持つカスタム ネットワークを作成し、ファイアウォール ルールを適用して VM インスタンスに許可されるトラフィックを制御します。

学習内容

このラボでは、以下の作成方法について学びます。

  • カスタム ネットワーク
  • 3 つのサブネットワーク
  • ネットワーク タグを持つファイアウォール ルール

設定と要件

[ラボを開始] ボタンをクリックする前に

こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。

このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。

このラボを完了するためには、下記が必要です。

  • 標準的なインターネット ブラウザ(Chrome を推奨)
注: このラボの実行には、シークレット モードまたはシークレット ブラウジング ウィンドウを使用してください。これにより、個人アカウントと受講者アカウント間の競合を防ぎ、個人アカウントに追加料金が発生することを防ぎます。
  • ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
注: すでに個人の Google Cloud アカウントやプロジェクトをお持ちの場合でも、このラボでは使用しないでください。アカウントへの追加料金が発生する可能性があります。

ラボを開始して 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 のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニューをクリックします。

Cloud Shell をアクティブにする

Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。

  1. Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。

接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。

  1. (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
gcloud auth list
  1. [承認] をクリックします。

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

出力:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
gcloud config list project

出力:

[core] project = <project_ID>

出力例:

[core] project = qwiklabs-gcp-44776a13dea667a6 注: Google Cloud における gcloud ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。

リージョンとゾーンについて

一部の Compute Engine リソースは、リージョンまたはゾーンに属します。リージョンとは、リソースを実行できる特定の地理的位置です。各リージョンには、1 つまたは複数のゾーンがあります。たとえば、リージョン us-central1 は米国中部のリージョンを指し、ゾーン us-central1-aus-central1-bus-central1-cus-central1-f が含まれています。

リージョン ゾーン
米国西部 us-west1-a、us-west1-b
米国中部 us-central1-a、us-central1-b、us-central1-d、us-central1-f
米国東部 us-east1-b、us-east1-c、us-east1-d
西ヨーロッパ europe-west1-b、europe-west1-c、europe-west1-d
東アジア asia-east1-a、asia-east1-b、asia-east1-c

ゾーン内にあるリソースをゾーンリソースと呼びます。仮想マシン インスタンスと永続ディスクはゾーンに属します。永続ディスクを仮想マシン インスタンスにアタッチするには、両方のリソースを同じゾーン内に配置する必要があります。同様に、インスタンスに静的 IP アドレスを割り当てるには、インスタンスが静的 IP と同じリージョンに存在している必要があります。

Compute Engine ページのリージョンとゾーンのドキュメントで、リージョンとゾーンの詳細と一覧をご確認ください。

リージョンとゾーンを設定する

Cloud Shell で次の gcloud コマンドを実行して、ラボのデフォルトのリージョンとゾーンを設定します。

gcloud config set compute/zone "{{{project_0.default_zone | Zone}}}" export ZONE=$(gcloud config get compute/zone) gcloud config set compute/region "{{{project_0.default_region | Region}}}" export REGION=$(gcloud config get compute/region)

タスク 1. Cloud Shell でカスタム ネットワークを作成する

taw-custom-network というネットワークを作成し、--subnet-mode custom フラグを使用して、このネットワークに独自のサブネットワークを追加できるようにオプションを定義します。

  • カスタム ネットワークを作成します。
gcloud compute networks create taw-custom-network --subnet-mode custom

出力:

NAME MODE IPV4_RANGE GATEWAY_IPV4 taw-custom-network custom このネットワーク上のインスタンスは、ファイアウォール ルールが作成されるまでアクセスできません。 たとえば、以下を実行して、インスタンス間のすべての内部トラフィック、SSH、RDP、ICMP を許可できます。 $ gcloud compute firewall-rules create --network taw-custom-network --allow tcp,udp,icmp --source-ranges $ gcloud compute firewall-rules create --network taw-custom-network --allow tcp:22,tcp:3389,icmp

次に、新しいカスタム ネットワークにサブネットを 3 つ作成します。各コマンドで、サブネットが属するリージョンとネットワークを指定します。

  1. IP 接頭辞を指定して、subnet- を作成します。
gcloud compute networks subnets create subnet-{{{project_0.default_region | Region}}} \ --network taw-custom-network \ --region {{{project_0.default_region | Region}}} \ --range 10.0.0.0/16

出力:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.default_region | Region}}}/subnetworks/subnet-{{{project_0.default_region | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.default_region | Region}}} {{{project_0.default_region | Region}}} taw-custom-network 10.0.0.0/16
  1. IP 接頭辞を指定して、subnet- を作成します。
gcloud compute networks subnets create subnet-{{{project_0.default_region_2 | Region}}} \ --network taw-custom-network \ --region {{{project_0.default_region_2 | Region}}} \ --range 10.1.0.0/16

出力:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.default_region_2 | Region}}}/subnetworks/subnet-{{{project_0.default_region_2 | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.default_region_2 | Region}}} {{{project_0.default_region_2 | Region}}} taw-custom-network 10.1.0.0/16
  1. IP 接頭辞を指定して、subnet- を作成します。
gcloud compute networks subnets create subnet-{{{project_0.default_region_3 | Region}}} \ --network taw-custom-network \ --region {{{project_0.default_region_3 | Region}}} \ --range 10.2.0.0/16

出力:

Created [https://www.googleapis.com/compute/v1/projects/cloud-network-module-101/regions/{{{project_0.default_region_3 | Region}}}/subnetworks/subnet-{{{project_0.default_region_3 | Region}}}]. NAME REGION NETWORK RANGE subnet-{{{project_0.default_region_2 | Region}}} {{{project_0.default_region_2 | Region}}} taw-custom-network 10.2.0.0/16
  1. ネットワークを一覧表示します。
gcloud compute networks subnets list \ --network taw-custom-network

出力:

NAME REGION NETWORK RANGE subnet-{{{project_0.default_region_3 | Region}}} {{{project_0.default_region_3 | Region}}} taw-custom-network 10.1.0.0/16 subnet-{{{project_0.default_region_2 | Region}}} {{{project_0.default_region_2 | Region}}} taw-custom-network 10.2.0.0/16 subnet-{{{project_0.default_region | Region}}} {{{project_0.default_region | Region}}} taw-custom-network 10.0.0.0/16 カスタム ネットワークとサブネットワークの作成

この時点で、ネットワークには、インターネットへのルートと作成した各インスタンスへのルートが用意されています。ただし、インスタンスへのアクセスを許可するファイアウォール ルールが存在しないため、他のインスタンスからのものも含め、アクセスは許可されません。

アクセスを許可するには、ファイアウォール ルールを作成する必要があります。

タスク 2. ファイアウォール ルールを追加する

仮想マシン(VM)インスタンスへのアクセスを許可するには、ファイアウォール ルールを適用する必要があります。ファイアウォール ルールを VM インスタンスに適用するには、ネットワーク タグを使用します。

ネットワーク タグは、VM インスタンスのグループ全体でファイアウォール ルールを管理するための強力なツールです。たとえば、ウェブサイトを運用する VM クラスタがある場合、個々のインスタンスごとにファイアウォール ルールを手動で設定する必要はなく、関連するすべての VM に「web-server」といったタグを付与するだけで、そのタグを持つインスタンスへの HTTP トラフィックを許可するファイアウォール ルールを作成できます。このアプローチにより、ファイアウォール管理が簡素化されるだけでなく、タグベースのルールを更新することでアクセス制御を柔軟かつ迅速に調整できるようになります。

注: タグはメタデータ サーバーにも反映されるため、インスタンス上で実行中のアプリケーションにも使用できます。

まず、HTTP インターネット リクエストを許可するためにファイアウォールを開いてから、ファイアウォール ルールを追加します。

Cloud Shell を使用してファイアウォール ルールを追加する

次に、taw-custom-network 用に nw101-allow-http というファイアウォール ルールを追加します。これは、http タグを持つネットワーク内の VM にのみ適用されます。

  • 次のコマンドを実行してファイアウォール ルールを作成します。
gcloud compute firewall-rules create nw101-allow-http \ --allow tcp:80 --network taw-custom-network --source-ranges 0.0.0.0/0 \ --target-tags http

出力:

追加のファイアウォール ルールを作成する

ICMP、内部通信、SSH、RDP を許可するファイアウォール ルールを追加で作成します。

  1. 次のコマンドを使用して、さらにファイアウォール ルールを作成します。
  • ICMP
gcloud compute firewall-rules create "nw101-allow-icmp" --allow icmp --network "taw-custom-network" --target-tags rules
  • 内部通信
gcloud compute firewall-rules create "nw101-allow-internal" --allow tcp:0-65535,udp:0-65535,icmp --network "taw-custom-network" --source-ranges "10.0.0.0/16","10.2.0.0/16","10.1.0.0/16"
  • SSH
gcloud compute firewall-rules create "nw101-allow-ssh" --allow tcp:22 --network "taw-custom-network" --target-tags "ssh"
  • RDP
gcloud compute firewall-rules create "nw101-allow-rdp" --allow tcp:3389 --network "taw-custom-network"
  1. コンソールを使用してネットワーク内のファイアウォール ルールを確認します。次のようになります。

注: ネットワーク コンソールに表示されるルートについて

Google Cloud ネットワーキングでは、サブネットワーク間で、またはインターネットにパケットを振り向けるためにルートを使用します。ネットワーク内にサブネットワークが新規に作成(または事前に作成)されると、サブネットワーク間でのパケットのルーティングを可能にするために、リージョンごとに自動的にルートが作成されます。これらのルートは変更できません。

ただし、インスタンス、VPN ゲートウェイ、デフォルトのインターネット ゲートウェイにトラフィックを送信するために、追加ルートを作成することができます。このルートは、希望のネットワーク アーキテクチャに合わせて変更できます。ルートとファイアウォールは連携してトラフィックを送信先に届けます。

[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。

ファイアウォール ルールの作成

ネットワーク内に VM を作成するときは、適切なファイアウォール ルールに対応するタグを VM に付けます。ファイアウォール ルールにより、VM へのインターネット トラフィックが許可され、VM がネットワーク経由で通信できるようになります。

お疲れさまでした

gcloud コマンドを使用してネットワークを作成し、異なるリージョンに 3 つのサブネットワークを作成し、さまざまなファイアウォール ルールを適用して VM へのアクセスを許可しました。

Google Cloud トレーニングと認定資格

Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。

マニュアルの最終更新日: 2025 年 1 月 17 日

ラボの最終テスト日: 2024 年 5 月 14 日

Copyright 2025 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。

始める前に

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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