arrow_back

VPC ネットワーキングの基礎

参加 ログイン
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

VPC ネットワーキングの基礎

Lab 1時間 universal_currency_alt クレジット: 1 show_chart 入門
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

GSP210

Google Cloud セルフペース ラボ

概要

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

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

このラボでは、ファイアウォール ルールを含む自動モードの VPC ネットワークと、2 つの VM インスタンスを作成します。また、それらの VM インスタンスの接続性について見ていきます。

目標

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

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

設定と要件

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

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

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

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

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

ラボを開始して Google Cloud コンソールにログインする方法

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

    • [Google コンソールを開く] ボタン
    • 残り時間
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
  2. [Google コンソールを開く] をクリックします。 ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。

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

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

  4. [ラボの詳細] パネルから [パスワード] をコピーして [ようこそ] ダイアログに貼り付けます。[次へ] をクリックします。

    重要: 認証情報は左側のパネルに表示されたものを使用してください。Google Cloud Skills Boost の認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  5. その後次のように進みます。

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

その後このタブで Cloud Console が開きます。

注: 左上にある [ナビゲーション メニュー] をクリックすると、Google Cloud のプロダクトやサービスのリストが含まれるメニューが表示されます。 ナビゲーション メニュー アイコン

タスク 1. default ネットワークについて確認する

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

サブネットを確認する

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

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

  2. [default] ネットワークをクリックします。default ネットワークの詳細とそのサブネットが表示されます。

注: 各サブネットは Google Cloud リージョンとプライベート RFC 1918 CIDR ブロックに関連付けられています。この CIDR ブロックは内部 IP アドレス範囲ゲートウェイに使用されます。

ルートを表示する

ルートは、VM インスタンスと VPC ネットワークに対して、インスタンスから宛先(ネットワーク内部または Google Cloud の外部)にトラフィックを送信する方法を指定するものです。

各 VPC ネットワークにはいくつかのデフォルト ルートが用意されており、サブネット間でのトラフィックのルーティングや、条件を満たすインスタンスからインターネットへのトラフィックの送信に使用されます。

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

  2. [適用されているルート] タブで、default のネットワークと us-central1 リージョンを選択します。

各サブネットのルートと、デフォルト インターネット ゲートウェイ(0.0.0.0./0)のルートが表示されます。

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

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

各 VPC ネットワークには、構成可能な分散仮想ファイアウォールが実装されています。ファイアウォール ルールを使用すると、どのパケットをどの宛先に送信できるようにするかをコントロールできます。

また、あらゆる VPC ネットワークには、すべての受信接続をブロックし、すべての送信接続を許可するという 2 つの暗黙ファイアウォール ルールが存在します。

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

default ネットワークには次の 4 つの内向きファイアウォール ルールが表示されます。

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

default ネットワークを削除する

  1. すべてのファイアウォール ルールを選択して、[削除] をクリックします。

  2. 左側のパネルで [VPC ネットワーク] をクリックします。

  3. [default] ネットワークをクリックします。

  4. ページ上部にある [VPC ネットワークの削除] をクリックし、

  5. その後、[削除] をクリックして、default ネットワークの削除を確定します。

    注: ネットワークが削除されるまで待ってから次に進みます。
  6. 左側のペインで [ルート] をクリックします。

    ルートが表示されていないことを確認します。ページ上部にある [更新] ボタンをクリックしなければならない場合があります。

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

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

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

  1. Cloud コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン) > [Compute Engine] > [VM インスタンス] に移動します。

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

  3. すべての値をデフォルトのままにして、[作成] をクリックします。

    注: エラーが表示されます。
  4. [詳細オプション] セクションを開き、[ネットワーク インターフェース] まで下にスクロールします。

    注: [ネットワーク] ボックスの下に、「このプロジェクトで使用できるその他のネットワークがありません」というエラーが表示されます
  5. [キャンセル] をクリックします。

注: 想定どおり、VPC ネットワークがないと VM インスタンスを作成できません。

タスク 2. VPC ネットワークと VM インスタンスを作成する

VM インスタンスを作成するために、まず VPC ネットワークを作成します。

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

自動モードのネットワークを作成して default ネットワークを再現します。

  1. コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン) > [VPC ネットワーク] > [VPC ネットワーク] に移動して、[VPC ネットワークを作成] をクリックします。

  2. [名前] を「mynetwork」に設定します。

  3. [サブネット作成モード] で [自動] をクリックします。

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

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

    これらのルールは、default ネットワークに含まれていた標準のファイアウォール ルールと同じものです。

注: deny-all-ingress ルールと allow-all-egress ルールも表示されますが、これらは暗黙のルールのため、チェックボックスをオンまたはオフにすることはできません。この 2 つのルールは優先度が低いため(値が大きいほど優先度が低い)、ICMP、カスタム、RDP、SSH の許可ルールが先に検討されます。
  1. [作成] をクリックし、mynetwork が作成されるまで待ちます。

    各リージョンのサブネットが作成されたことを確認します。

  2. mynetwork 名をクリックし、 のサブネットの IP アドレス範囲を書き留めておきます。 次の手順で、これらの IP アドレス範囲を参照します。

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

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。

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

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

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

  1. コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [Compute Engine] > [VM インスタンス] に移動し、

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

  3. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 mynet-us-vm
    リージョン
    ゾーン
    シリーズ E2
    マシンタイプ e2-micro
  4. [作成] をクリックし、インスタンスが作成されるまで待ちます。

  5. [内部 IP] のアドレスが、 内のサブネットの IP アドレス範囲から割り当てられていることを確認します。

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。

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

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

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

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

  2. 以下の値を設定し、他はすべてデフォルト値のままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 mynet-second-vm
    リージョン
    ゾーン
    シリーズ E2
    マシンタイプ e2-micro
  3. [作成] をクリックし、インスタンスが作成されるまで待ちます。

注: このゾーンには、リクエストに対応できる十分なリソースがないというエラーが表示された場合は、異なるゾーンで手順 1~3 を再実行してください。
  1. [内部 IP] のアドレスが、 内のサブネットの IP アドレス範囲から割り当てられていることを確認します。

    [内部 IP] のアドレスは になっているはずです。x.x.x.1 はゲートウェイ用に予約されていて、このサブネットに他のインスタンスは構成されていないからです。

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

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

完了したタスクをテストする

[進行状況を確認] をクリックして、実行したタスクを確認します。タスクが正常に完了すると、評価スコアが付与されます。

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

タスク 3. VM インスタンスの接続性について確認する

VM インスタンスの接続性について確認します。具体的には、tcp:22 を使用して SSH で VM インスタンスに接続し、ICMP を使用して VM インスタンスの内部 IP アドレスと外部 IP アドレスに対して ping を実行します。さらに、ファイアウォール ルールを 1 つずつ削除して、接続性に対する影響を調べます。

VM インスタンスの接続性を検証する

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

  1. コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [Compute Engine] > [VM インスタンス] に移動します。

    mynet-eu-vm の外部 IP アドレスと内部 IP アドレスをメモしておきます。

  2. mynet-us-vm で、[SSH] をクリックしてターミナルを起動し、接続します。場合によっては [SSH] を 2 回クリックする必要があります。

    SSH でインスタンスに接続できます。これは、allow-ssh ファイアウォール ルールによって tcp: 22 に対する任意の送信元(0.0.0.0/0)からの内向きトラフィックが許可されているからです。

    注: また、Compute Engine が SSH 認証鍵を自動的に作成して次のいずれかの場所に保存するため、SSH 接続はシームレスに機能します。

    • デフォルトでは、生成された鍵はプロジェクトまたはインスタンスのメタデータに追加されます。
    • OS Login を使用するようにアカウントが構成されている場合、生成された鍵はユーザー アカウントとともに保存されます。

    SSH 認証鍵を作成し、公開 SSH 認証鍵のメタデータを編集することで、Linux インスタンスへのアクセスを制御することもできます。
  3. mynet-second-vm の内部 IP アドレスに接続されているかどうかをテストするには、mynet-second-vm の内部 IP アドレスを使用して次のコマンドを実行してください。

    ping -c 3 <mynet-second-vm の内部 IP をここに入力>

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

  4. mynet-second-vm の外部 IP アドレスに接続されているかどうかをテストするには、mynet-second-vm の外部 IP を使用して次のコマンドを実行してください。

    ping -c 3 <mynet-second-vm の外部 IP をここに入力>

タスク 4. 理解度チェック

今回のラボで学習した内容の理解を深めていただくため、以下の多岐選択式問題を用意しました。正解を目指して頑張ってください。

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

タスク 5. allow-icmp ファイアウォール ルールを削除する

allow-icmp ファイアウォール ルールを削除しても mynet-second-vm の内部 IP アドレスと外部 IP アドレスに対して ping を実行できるか試してみます。

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

  2. mynetwork-allow-icmp ルールのチェックボックスをオンにします。

  3. [削除] をクリックします。

  4. [削除] をクリックして削除を確定します。

    ファイアウォール ルールの削除が完了するまで待ちます。

  5. mynet-us-vm の SSH ターミナルに戻ります。

  6. mynet-second-vm の内部 IP アドレスに接続されているかどうかをテストするには、mynet-second-vm の内部 IP アドレスを使用して次のコマンドを実行してください。

ping -c 3 <mynet-second-vm の内部 IP をここに入力>

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

  1. mynet-second-vm の外部 IP アドレスに接続されているかどうかをテストするには、mynet-second-vm の外部 IP を使用して次のコマンドを実行してください。

    ping -c 3 <mynet-second-vm の外部 IP をここに入力>
注: 100% パケットロスであることが表示されます。これは、mynet-second-vm の外部 IP アドレスに ping を実行できないことを示しています。先ほど allow-icmp ファイアウォール ルールを削除したため、想定どおりの結果です。

タスク 6. allow-custom ファイアウォール ルールを削除する

allow-custom ファイアウォール ルールを削除しても、mynet-second-vm の内部 IP アドレスに対して ping を実行できるかを試してみます。

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

  2. mynetwork-allow-custom ルールのチェックボックスをオンにして、[削除] をクリックします。

  3. [削除] をクリックして削除を確定します。

    ファイアウォール ルールの削除が完了するまで待ちます。

  4. mynet-us-vm の SSH ターミナルに戻ります。

  5. mynet-second-vm の内部 IP アドレスに接続されているかどうかをテストするには、mynet-second-vm の内部 IP アドレスを使用して次のコマンドを実行してください。

    ping -c 3 <mynet-second-vm の内部 IP をここに入力>
注: 100% パケットロスであることが表示されます。これは、mynet-second-vm の内部 IP アドレスに ping を実行できないことを示しています。先ほど allow-custom ファイアウォール ルールを削除したため、想定どおりの結果です。
  1. SSH ターミナルを終了します。

    exit

タスク 7. allow-ssh ファイアウォール ルールを削除する

allow-ssh ファイアウォール ルールを削除しても SSH で mynet-us-vm に接続できるかを試してみます。

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

  2. mynetwork-allow-ssh ルールのチェックボックスをオンにして、[削除] をクリックします。

  3. [削除] をクリックして削除を確定します。

    ファイアウォール ルールの削除が完了するまで待ちます。

  4. コンソールで、ナビゲーション メニューナビゲーション メニュー アイコン)> [Compute Engine] > [VM インスタンス] に移動します。

  5. mynet-us-vm で、[SSH] をクリックしてターミナルを起動し、接続します。

注: [接続できませんでした] というメッセージが表示されます。このメッセージは、SSH で mynet-us-vm に接続できないことを示しています。先ほど allow-ssh ファイアウォール ルールを削除したからです。

お疲れさまでした

このラボでは、default ネットワークとそのサブネット、ルート、ファイアウォール ルールについて見てきました。default ネットワークを削除して、VPC ネットワークがないと VM インスタンスを作成できないことを確認し、サブネット、ルート、ファイアウォール ルール、2 つの VM インスタンスを持つ新しい自動モード VPC ネットワークを作成しました。また、VM インスタンスの接続性をテストし、接続性に対するファイアウォール ルールの影響を調べました。

次のステップと詳細情報

Google VPC の詳細については Virtual Private Cloud(VPC)ネットワークの概要をご覧ください。

マニュアルの最終更新日: 2024 年 2 月 10 日

ラボの最終テスト日: 2023 年 9 月 1 日

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