arrow_back

複数の VPC ネットワークの操作

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

複数の VPC ネットワークの操作

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

概要

このラボでは、複数の VPC ネットワークと VM インスタンスを作成し、ネットワーク間で接続性をテストします。具体的には次のネットワーク図のように、ファイアウォール ルールと VM インスタンスを持つカスタムモード ネットワークを 2 つ(managementnetprivatenet)作成します。

2 つの VM インスタンスに接続された vm-appliance 仮想マシンと、management ネットワークおよび privatenet ネットワーク

この Qwiklabs プロジェクトには、ファイアウォール ルールと 2 つの VM インスタンス(mynet-notus-vmmynet-us-vm)が設定された mynetwork ネットワークがすでに作成されています。

目標

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

  • ファイアウォール ルールを含むカスタムモードの VPC ネットワークを作成する
  • Compute Engine を使用して VM インスタンスを作成する
  • VPC ネットワーク間の VM インスタンスの接続性を調べる
  • 複数のネットワーク インターフェースを持つ 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. ファイアウォール ルールを含むカスタムモードの VPC ネットワークを作成する

上り(内向き)トラフィック(SSHICMP、および RDP)を許可するファイアウォール ルールとともに、managementnetprivatenet の 2 つのカスタム ネットワークを作成します。

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

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

  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [VPC ネットワーク] をクリックします。
    default ネットワークと mynetwork ネットワーク、そのサブネットがあることを確認します。

    Google Cloud プロジェクトはいずれも、開始時に default ネットワークを備えています。また、このラボでは、ネットワーク図に示されているように mynetwork ネットワークがあらかじめ作成されています。

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

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

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

  5. [新しいサブネット] で、次のように指定し、残りの設定はデフォルトのままにします。

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 managementsubnet-us
    リージョン
    IPv4 範囲 10.130.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 | "filled at lab start" }}} --range=172.16.0.0/24
  1. 次のコマンドを実行して、privatesubnet-notus サブネットを作成します。
gcloud compute networks subnets create privatesubnet-notus --network=privatenet --region={{{ project_0.default_region_2 | "filled at lab start" }}} --range=172.20.0.0/20
  1. 次のコマンドを実行して、使用可能な VPC ネットワークのリストを表示します。
gcloud compute networks list

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

NAME: default SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: managementnet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: mynetwork SUBNET_MODE: AUTO BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: NAME: privatenet SUBNET_MODE: CUSTOM BGP_ROUTING_MODE: REGIONAL IPV4_RANGE: GATEWAY_IPV4: 注: defaultmynetwork は自動モードのネットワークで、各リージョンにサブネットが自動的に作成されます。managementnetprivatenet はカスタムモードのネットワークで、サブネットがない状態で開始されるため、サブネットはユーザーが柔軟に作成できます。
  1. 次のコマンドを実行して、使用可能な VPC サブネットのリストを表示します(VPC ネットワークで並べ替えます)。
gcloud compute networks subnets list --sort-by=NETWORK

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

NAME: default REGION: northamerica-south1 NETWORK: default RANGE: 10.224.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: default REGION: europe-north2 NETWORK: default RANGE: 10.226.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: managementsubnet-us REGION: us-east1 NETWORK: managementnet RANGE: 10.130.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: us-central1 NETWORK: mynetwork RANGE: 10.128.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: europe-west1 NETWORK: mynetwork RANGE: 10.132.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: us-west1 NETWORK: mynetwork RANGE: 10.138.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: asia-east1 NETWORK: mynetwork RANGE: 10.140.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: us-east1 NETWORK: mynetwork RANGE: 10.142.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: asia-northeast1 NETWORK: mynetwork RANGE: 10.146.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: asia-southeast1 NETWORK: mynetwork RANGE: 10.148.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: us-east4 NETWORK: mynetwork RANGE: 10.150.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: NAME: mynetwork REGION: australia-southeast1 NETWORK: mynetwork RANGE: 10.152.0.0/20 STACK_TYPE: IPV4_ONLY IPV6_ACCESS_TYPE: INTERNAL_IPV6_PREFIX: EXTERNAL_IPV6_PREFIX: 注: default ネットワークと mynetwork ネットワークは自動モードのネットワークであるため、想定どおり各リージョン内にサブネットが存在します。managementnet ネットワークと privatenet ネットワークはカスタムモードのネットワークであるため、ユーザーが作成したサブネットのみが含まれています。
  1. Google Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[VPC ネットワーク] > [VPC ネットワーク] をクリックします。
    Cloud コンソールにも同じネットワークとサブネットが一覧表示されることを確認します。

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

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

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

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

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

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

  5. [その他のプロトコル] をクリックして、「icmp」と入力します。

注: すべてのネットワークを指定するために、[送信元 IPv4 範囲] には /0 を含めます。
  1. [同等のコマンドライン] をクリックします。

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

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

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

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 NETWORK DIRECTION PRIORITY ALLOW DENY default-allow-icmp default INGRESS 65534 icmp default-allow-internal default INGRESS 65534 tcp:0-65535,udp:0-65535,icmp default-allow-rdp default INGRESS 65534 tcp:3389 default-allow-ssh default INGRESS 65534 tcp:22 managementnet-allow-icmp-ssh-rdp managementnet INGRESS 1000 icmp,tcp:22,tcp:3389 mynetwork-allow-icmp mynetwork INGRESS 1000 icmp mynetwork-allow-rdp mynetwork INGRESS 1000 tcp:3389 mynetwork-allow-ssh mynetwork INGRESS 1000 tcp:22 privatenet-allow-icmp-ssh-rdp privatenet INGRESS 1000 icmp,tcp:22,tcp:3389

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

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

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

タスク 2. VM インスタンスを作成する

以下のように 2 つの VM インスタンスを作成します。

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

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

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

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

    mynet-us-vmmynet-notus-vm はネットワーク図の一部として作成されています。

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

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

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 managementnet-us-vm
    リージョン
    ゾーン
  4. 左側のフレームで [マシンの構成] をクリックします。次の値が選択されていることを確認します。 | シリーズ | E2| | マシンタイプ | 2vCPU(4 GB メモリ、e2-medium)|

  5. 左側のフレームで [ネットワーキング] をクリックします。

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

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

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

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

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

  3. [パネル「同等のコード」の開閉を切り替える] をクリックします。

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

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 | "filled at lab start" }}} --machine-type=e2-medium --subnet=privatesubnet-us

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

NAME: privatenet-us-vm ZONE: {{{ project_0.default_zone | "filled at lab start" }}} MACHINE_TYPE: e2-medium PREEMPTIBLE: INTERNAL_IP: 172.16.0.2 EXTERNAL_IP: 34.70.73.27 STATUS: RUNNING
  1. 次のコマンドを実行して、すべての VM インスタンスのリストを表示します(ゾーンで並べ替えます)。
gcloud compute instances list --sort-by=ZONE

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

NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS mynet-notus-vm {{{ project_0.default_zone_2 | "filled at lab start" }}} e2-medium 10.132.0.2 35.205.124.164 RUNNING managementnet-us-vm {{{ project_0.default_zone | "filled at lab start" }}} e2-medium 10.130.0.2 35.226.20.87 RUNNING mynet-us-vm {{{ project_0.default_zone | "filled at lab start" }}} e2-medium 10.128.0.2 35.232.252.86 RUNNING privatenet-us-vm {{{ project_0.default_zone | "filled at lab start" }}} e2-medium 172.16.0.2 35.184.221.40 RUNNING
  1. Cloud コンソールのナビゲーション メニューナビゲーション メニュー アイコン)で、[Compute Engine] > [VM インスタンス] をクリックします。
    VM インスタンスが Cloud コンソールに一覧表示されることを確認します。

  2. [] で [ネットワーク] を選択します。

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

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

タスク 3. VM インスタンス間の接続性を調べる

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

外部 IP アドレスに ping する

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

  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 を入力>

応答があるはずです。

  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-vmSSH ターミナルに戻ります。
  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 ネットワーク内にあるためです。

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

タスク 4. 複数のネットワーク インターフェースを持つ VM インスタンスを作成する

VPC ネットワーク内のすべてのインスタンスには、デフォルトのネットワーク インターフェースがありますが、VM に接続する追加のネットワーク インターフェースを作成することが可能です。ネットワーク インターフェースを追加することで(インスタンスのタイプに応じて最大 8 つまで追加可能)、そのインスタンスを複数の VPC ネットワークに直接接続する構成を作り出すことができます。

複数のネットワーク インターフェースを持つ VM インスタンスを作成する

vm-appliance インスタンスを、privatesubnet-usmanagementsubnet-us および mynetwork のネットワーク インターフェースとともに作成します。これらのサブネットの CIDR 範囲は互いに重複しません。これは複数のネットワーク インターフェース コントローラ(NIC)を使用する VM を作成する際の要件となります。

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

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

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

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    名前 vm-appliance
    リージョン
    ゾーン
  4. 左側のフレームで [マシンの構成] をクリックします。

  5. 次の値が選択されていることを確認します。| シリーズ | E2| | マシンタイプ | 4 個の vCPU(16 GB メモリ、e2-standard-4)|

注: 1 つのインスタンスで使用できるインターフェース数は、インスタンスのマシンタイプと vCPU 数によって異なります。e2-standard-4 の場合、最大 4 つのネットワーク インターフェースを使用できます。使用できるインターフェース数の詳細については、複数のネットワーク インターフェースを持つインスタンスの作成に関するガイドをご覧ください。
  1. 左側のフレームで [ネットワーキング] をクリックします。

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

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

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    ネットワーク privatenet
    サブネットワーク privatesubnet-us
  4. [完了] をクリックします。

  5. [ネットワーク インターフェースを追加] をクリックします。

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

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    ネットワーク managementnet
    サブネットワーク managementsubnet-us
  7. [完了] をクリックします。

  8. [ネットワーク インターフェースを追加] をクリックします。

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

    プロパティ 値(値を入力するか、指定されたオプションを選択)
    ネットワーク mynetwork
    サブネットワーク mynetwork
  10. [完了] をクリックします。

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

ネットワーク インターフェースを詳しく調べる

Cloud コンソールおよび VM のターミナル内で vm-appliance のネットワーク インターフェースの詳細を調べます。

  1. Cloud コンソールのナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。
  2. [ネットワーク インターフェースの詳細] ページを開くには、vm-appliance の [内部 IP] アドレスで [nic0] をクリックします。
  3. nic0」が privatesubnet-us に接続され、そのサブネット内の内部 IP アドレス(172.16.0.0/24)が割り当てられ、該当するファイアウォール ルールが設定されていることを確認します。
  4. [nic0] をクリックし、[nic1] を選択します。
  5. nic1」 が managementsubnet-us に接続され、そのサブネット内の内部 IP アドレス(10.130.0.0/20)が割り当てられ、該当するファイアウォール ルールが設定されていることを確認します。
  6. [nic1] をクリックし、[nic2] を選択します。
  7. nic2」が mynetwork に接続され、そのサブネット内の内部 IP アドレス(10.128.0.0/20)が割り当てられ、該当するファイアウォール ルールが設定されていることを確認します。
注: 各ネットワーク インターフェースには、VM インスタンスがそれらのネットワークと通信できるように独自の内部 IP アドレスがあります。
  1. Cloud コンソールのナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。
  2. vm-appliance の [SSH] をクリックしてターミナルを起動し、接続します。
  3. 次のコマンドを実行して、VM インスタンス内のネットワーク インターフェースのリストを表示します。
sudo ifconfig

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

ens4: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 172.16.0.3 netmask 255.255.255.255 broadcast 0.0.0.0 inet6 fe80::4001:acff:fe10:3 prefixlen 64 scopeid 0x20 ether 42:01:ac:10:00:03 txqueuelen 1000 (Ethernet) RX packets 99 bytes 24688 (24.1 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 109 bytes 20015 (19.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 10.130.0.3 netmask 255.255.255.255 broadcast 0.0.0.0 inet6 fe80::4001:aff:fe82:3 prefixlen 64 scopeid 0x20 ether 42:01:0a:82:00:03 txqueuelen 1000 (Ethernet) RX packets 585 bytes 137966 (134.7 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 566 bytes 52713 (51.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ens6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1460 inet 10.142.0.3 netmask 255.255.255.255 broadcast 0.0.0.0 inet6 fe80::4001:aff:fe8e:3 prefixlen 64 scopeid 0x20 ether 42:01:0a:8e:00:03 txqueuelen 1000 (Ethernet) RX packets 19 bytes 4182 (4.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 36 bytes 3615 (3.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 8 bytes 868 (868.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 8 bytes 868 (868.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 注: sudo ifconfig コマンドを実行すると、Linux VM のネットワーク インターフェースと各インターフェースの内部 IP アドレスのリストが表示されます。

ネットワーク インターフェースの接続性を調べる

vm-appliance インスタンスが privatesubnet-usmanagementsubnet-usmynetwork に接続されていることを、これらのサブネットの VM インスタンスに ping して確認します。

  1. Cloud コンソールのナビゲーション メニューで、[Compute Engine] > [VM インスタンス] をクリックします。
  2. privatenet-us-vmmanagementnet-us-vmmynet-us-vmmynet-notus-vm の内部 IP アドレスを確認します。
  3. vm-applianceSSH ターミナルに戻ります。
  4. 次のコマンドを実行して、privatenet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、privatenet-us-vm の内部 IP に置き換えます。
ping -c 3 <privatenet-us-vm の内部 IP を入力>

応答があります。

  1. 次のコマンドを実行し、同じテストを繰り返します。
ping -c 3 privatenet-us-vm 注: VPC ネットワークには、内部 IP アドレスではなくその DNS 名でインスタンスを指定できる内部 DNS サービスがあるため、名前で privatenet-us-vm に ping を通すことができます。インスタンスのホスト名を使った内部 DNS クエリが行われると、インスタンスのプライマリ インターフェース(nic0)に解決されます。そのため、この場合は privatenet-us-vm に対してのみ正常に ping を通すことができます。
  1. 次のコマンドを実行して、managementnet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、managementnet-us-vm の内部 IP に置き換えます。
ping -c 3 <managementnet-us-vm の内部 IP をこちらに入力>

応答があります。

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

応答があります。

  1. 次のコマンドを実行して、mynet-notus-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、mynet-notus-vm の内部 IP アドレスに置き換えます。
ping -c 3 <mynet-notus-vm の内部 IP をこちらに入力> 注: これには応答がありません。複数インターフェースのインスタンスでは、すべてのインターフェースが、そのインターフェースが属するサブネットのルートを取得します。さらに、インスタンスは、プライマリ インターフェース ens4 に関連付けられるデフォルト ルートを 1 つ取得します。インスタンスから送信されるトラフィックの宛先が直接接続されているサブネット以外の場合、手動で別途構成しない限り、トラフィックは ens4 のデフォルト ルートを経由します。
  1. vm-appliance インスタンスのルートを一覧表示するには、次のコマンドを実行します。
ip route

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

default via 172.16.0.1 dev ens4 proto dhcp src 172.16.0.3 metric 100 10.130.0.0/20 via 10.130.0.1 dev ens5 10.130.0.0/20 via 10.130.0.1 dev ens5 proto dhcp src 10.130.0.3 metric 100 10.130.0.1 dev ens5 scope link 10.130.0.1 dev ens5 proto dhcp scope link src 10.130.0.3 metric 100 10.142.0.0/20 via 10.142.0.1 dev ens6 10.142.0.0/20 via 10.142.0.1 dev ens6 proto dhcp src 10.142.0.3 metric 100 10.142.0.1 dev ens6 scope link 10.142.0.1 dev ens6 proto dhcp scope link src 10.142.0.3 metric 100 169.254.169.254 dev ens5 proto dhcp scope link src 10.130.0.3 metric 100 169.254.169.254 dev ens6 proto dhcp scope link src 10.142.0.3 metric 100 169.254.169.254 via 172.16.0.1 dev ens4 proto dhcp src 172.16.0.3 metric 100 172.16.0.0/24 via 172.16.0.1 dev ens4 proto dhcp src 172.16.0.3 metric 100 172.16.0.1 dev ens4 proto dhcp scope link src 172.16.0.3 metric 100 注: プライマリ インターフェース ens4 はデフォルト ルート(default via 172.16.0.1 dev ens4)を取得し、3 つのインターフェース(ens4、ens5、ens6)はそれぞれサブネットのルートを取得します。mynet-notus-vm のサブネット(10.132.0.0/20)はこのルーティング テーブルに含まれていないので、そのインスタンスへの ping は vm-appliance(異なる VPC ネットワーク上)の ens4 を経由します。

ポリシー ルーティングを構成することでこの動作を変更する方法については、複数のネットワーク インターフェースを持つインスタンスの作成に関するガイドをご覧ください。

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

まとめ

このラボでは、Cloud コンソールと gcloud コマンドラインを使って、複数のカスタムモード VPC ネットワーク、ファイアウォール ルール、VM インスタンスを作成しました。その後、VPC ネットワーク間の接続性をテストして、外部 IP アドレスに対しては ping が通るものの、内部 IP アドレスに対しては ping が通らないことを確認しました。そのため、3 つのネットワーク インターフェースを持つ VM インスタンスを作成し、その複数インターフェースの VM に接続されているサブネット上にある VM インスタンスの内部の接続性を検証しました。

ラボを終了する

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

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

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

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

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

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

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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