概要
このラボでは、複数の VPC ネットワークと VM インスタンスを作成し、ネットワーク間で接続性をテストします。具体的には次のネットワーク図のように、ファイアウォール ルールと VM インスタンスを持つカスタムモード ネットワークを 2 つ(managementnet と privatenet )作成します。
この Qwiklabs プロジェクトには、ファイアウォール ルールと 2 つの VM インスタンス(mynet-notus-vm と mynet-us-vm )が設定された mynetwork ネットワークがすでに作成されています。
目標
このラボでは、次のタスクの実行方法について学びます。
ファイアウォール ルールを含むカスタムモードの VPC ネットワークを作成する
Compute Engine を使用して VM インスタンスを作成する
VPC ネットワーク間の VM インスタンスの接続性を調べる
複数のネットワーク インターフェースを持つ VM インスタンスを作成する
設定と要件
各ラボでは、新しい Google Cloud プロジェクトとリソースセットを一定時間無料で利用できます。
[ラボを開始 ] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
左側の [ラボの詳細 ] パネルには、以下が表示されます。
[Google Cloud コンソールを開く ] ボタン
残り時間
このラボで使用する必要がある一時的な認証情報
このラボを行うために必要なその他の情報(ある場合)
[Google Cloud コンソールを開く ] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く ] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン ] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択 ] ダイアログが表示されたら、[別のアカウントを使用 ] をクリックします。
必要に応じて、下のユーザー名 をコピーして、[ログイン ] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}}
[ラボの詳細 ] パネルでもユーザー名 を確認できます。
[次へ ] をクリックします。
以下のパスワード をコピーして、[ようこそ ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}}
[ラボの詳細 ] パネルでもパスワード を確認できます。
[次へ ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。
注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
その後次のように進みます。
利用規約に同意してください。
一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
注: Google Cloud のプロダクトやサービスのリストを含むメニューを表示するには、左上のナビゲーション メニュー をクリックするか、[検索 ] フィールドにサービス名またはプロダクト名を入力します。
タスク 1. ファイアウォール ルールを含むカスタムモードの VPC ネットワークを作成する
上り(内向き)トラフィック(SSH 、ICMP 、および RDP )を許可するファイアウォール ルールとともに、managementnet と privatenet の 2 つのカスタム ネットワークを作成します。
managementnet ネットワークを作成する
Cloud コンソールを使用して managementnet ネットワークを作成します。
Google Cloud コンソールのナビゲーション メニュー ( )で、[VPC ネットワーク ] > [VPC ネットワーク ] をクリックします。
default ネットワークと mynetwork ネットワーク、そのサブネットがあることを確認します。
Google Cloud プロジェクトはいずれも、開始時に default ネットワークを備えています。また、このラボでは、ネットワーク図に示されているように mynetwork ネットワークがあらかじめ作成されています。
[VPC ネットワークを作成 ] をクリックします。
[名前 ] に「managementnet 」と入力します。
[サブネット作成モード ] で [カスタム ] をクリックします。
[新しいサブネット ] で、次のように指定し、残りの設定はデフォルトのままにします。
プロパティ
値(値を入力するか、指定されたオプションを選択)
名前
managementsubnet-us
リージョン
IPv4 範囲
10.130.0.0/20
[完了 ] をクリックします。
[同等のコマンドライン ] をクリックします。
これらのコマンドは、gcloud
コマンドラインを使用してネットワークとサブネットを作成できることを示しています。このようなコマンドに同様のパラメータを指定して、privatenet ネットワークを作成します。
[閉じる ] をクリックします。
[作成 ] をクリックします。
privatenet ネットワークを作成する
gcloud
コマンドラインを使用して privatenet ネットワークを作成します。
Google Cloud コンソールで、Cloud Shell をアクティブにする アイコン( )をクリックします。
プロンプトが表示されたら、[続行 ] をクリックします。
次のコマンドを実行して、privatenet ネットワークを作成します。
gcloud compute networks create privatenet --subnet-mode=custom
次のコマンドを実行して、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
次のコマンドを実行して、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
次のコマンドを実行して、使用可能な 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:
注: default と mynetwork は自動モードのネットワークで、各リージョンにサブネットが自動的に作成されます。managementnet と privatenet はカスタムモードのネットワークで、サブネットがない状態で開始されるため、サブネットはユーザーが柔軟に作成できます。
次のコマンドを実行して、使用可能な 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 ネットワークはカスタムモードのネットワークであるため、ユーザーが作成したサブネットのみが含まれています。
Google Cloud コンソールのナビゲーション メニュー ( )で、[VPC ネットワーク ] > [VPC ネットワーク ] をクリックします。
Cloud コンソールにも同じネットワークとサブネットが一覧表示されることを確認します。
managementnet 用のファイアウォール ルールを作成する
managementnet ネットワーク上の VM インスタンスに対する SSH 、ICMP 、および RDP の上り(内向き)トラフィックを許可するように、ファイアウォール ルールを作成します。
Cloud コンソールのナビゲーション メニュー ( )で、[VPC ネットワーク ] > [ファイアウォール ] をクリックします。
[ファイアウォール ルールを作成 ] をクリックします。
次のように指定し、残りの設定はデフォルトのままにします。
プロパティ
値(値を入力するか、指定されたオプションを選択)
名前
managementnet-allow-icmp-ssh-rdp
ネットワーク
managementnet
ターゲット
ネットワーク上のすべてのインスタンス
ソースフィルタ
IPv4 範囲
送信元 IPv4 範囲
0.0.0.0/0
プロトコルとポート
指定したプロトコルとポート
[tcp ] には 22 と 3389 のポートを指定します。
[その他のプロトコル ] をクリックして、「icmp 」と入力します。
注: すべてのネットワークを指定するために、[送信元 IPv4 範囲 ] には /0 を含めます。
[同等のコマンドライン ] をクリックします。
これらのコマンドは、gcloud
コマンドラインでもファイアウォール ルールを作成できることを示しています。これらのコマンドに同様のパラメータを指定して、privatenet のファイアウォール ルールを作成します。
[閉じる ] をクリックします。
[作成 ] をクリックします。
privatenet 用のファイアウォール ルールを作成する
gcloud
コマンドラインを使用して privatenet ネットワーク用のファイアウォール ルールを作成します。
Cloud Shell に戻ります。必要に応じて、Cloud Shell をアクティブにする アイコン( )をクリックします。
次のコマンドを実行して、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
次のコマンドを実行して、すべてのファイアウォール ルールのリストを表示します(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 つのファイアウォール ルール(privatenet や managementnet )に定義することも、複数のルール(default と mynetwork )間で分けることも可能です。
Cloud コンソールのナビゲーション メニュー ( )で、[VPC ネットワーク ] > [ファイアウォール ] をクリックします。
Cloud コンソールにも同じファイアウォール ルールが一覧表示されることを確認します。
[進行状況を確認 ] をクリックして、目標に沿って進んでいることを確認します。
ファイアウォール ルールを含むカスタムモードの VPC ネットワークを作成する
タスク 2. VM インスタンスを作成する
以下のように 2 つの VM インスタンスを作成します。
managementnet-us-vm を managementsubnet-us に作成
privatenet-us-vm を privatesubnet-us に作成
managementnet-us-vm インスタンスを作成する
Cloud コンソールを使用して managementnet-us-vm インスタンスを作成します。
Cloud コンソールのナビゲーション メニュー ( )で、[Compute Engine ] > [VM インスタンス ] をクリックします。
mynet-us-vm と mynet-notus-vm はネットワーク図の一部として作成されています。
[インスタンスを作成 ] をクリックします。
次のように指定し、残りの設定はデフォルトのままにします。
プロパティ
値(値を入力するか、指定されたオプションを選択)
名前
managementnet-us-vm
リージョン
ゾーン
左側のフレームで [マシンの構成 ] をクリックします。次の値が選択されていることを確認します。
| シリーズ | E2|
| マシンタイプ | 2vCPU(4 GB メモリ、e2-medium)|
左側のフレームで [ネットワーキング ] をクリックします。
[ネットワーク インターフェース ] でプルダウン アイコンをクリックして編集モードにします。
次のように指定し、残りの設定はデフォルトのままにします。
プロパティ
値(値を入力するか、指定されたオプションを選択)
ネットワーク
managementnet
サブネットワーク
managementsubnet-us
注: 選択可能なサブネットは、選択したリージョンのサブネットに限定されます。
[完了 ] をクリックします。
[同等のコード ] をクリックします。
これらのコマンドは、gcloud
コマンドラインでも VM インスタンスを作成できることを示しています。これらのコマンドに同様のパラメータを指定して、privatenet-us-vm インスタンスを作成します。
[パネル「同等のコード」の開閉を切り替える ] をクリックします。
[作成 ] をクリックします。
privatenet-us-vm インスタンスを作成する
gcloud
コマンドラインを使用して privatenet-us-vm インスタンスを作成します。
Cloud Shell に戻ります。必要に応じて、Cloud Shell をアクティブにする アイコン( )をクリックします。
次のコマンドを実行して、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
次のコマンドを実行して、すべての 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
Cloud コンソールのナビゲーション メニュー ( )で、[Compute Engine ] > [VM インスタンス ] をクリックします。
VM インスタンスが Cloud コンソールに一覧表示されることを確認します。
[列 ] で [ネットワーク ] を選択します。
米国にはインスタンスが 3 つ、米国以外にはインスタンスが 1 つあります。これらのインスタンスは 3 つの VPC ネットワーク(managementnet 、mynetwork 、privatenet )に分散されており、どのインスタンスも他のインスタンスと同じゾーンまたはネットワーク内にありません。次のタスクでは、これが内部の接続性に及ぼす影響について調べます。
[進行状況を確認 ] をクリックして、目標に沿って進行していることを確認します。
VM インスタンスを作成する
タスク 3. VM インスタンス間の接続性を調べる
VM インスタンス間の接続性を調べます。具体的には、VM インスタンスが同じゾーン内にある場合と、同じ VPC ネットワーク内にある場合についてそれぞれの影響を確認します。
外部 IP アドレスに ping する
VM インスタンスの外部 IP アドレスに ping して、公共のインターネットからインスタンスにアクセスできるかどうかを調べます。
Cloud コンソールのナビゲーション メニュー で、[Compute Engine ] > [VM インスタンス ] をクリックします。
mynet-notus-vm 、managementnet-us-vm 、privatenet-us-vm の外部 IP アドレスをメモします。
mynet-us-vm で [SSH ] をクリックしてターミナルを起動し、接続します。
次のコマンドを実行して、mynet-notus-vm の外部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、mynet-notus-vm の外部 IP アドレスに置き換えます。
ping -c 3 <mynet-notus-vm の外部 IP を入力>
応答があるはずです。
次のコマンドを実行して、managementnet-us-vm の外部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、managementnet-us-vm の外部 IP に置き換えます。
ping -c 3 <managementnet-us-vm の外部 IP を入力>
応答があるはずです。
次のコマンドを実行して、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 ネットワーク内からインスタンスにアクセスできるかどうかを調べます。
Cloud コンソールのナビゲーション メニュー で、[Compute Engine ] > [VM インスタンス ] をクリックします。
mynet-notus-vm 、managementnet-us-vm 、privatenet-us-vm の内部 IP アドレスをメモします。
mynet-us-vm の SSH ターミナルに戻ります。
次のコマンドを実行して、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 を通すことができます。
次のコマンドを実行して、managementnet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、managementnet-us-vm の内部 IP に置き換えます。
ping -c 3 <managementnet-us-vm の内部 IP を入力>
注: 100% パケットロスで、ping に対する応答はありません。
次のコマンドを実行して、privatenet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、privatenet-us-vm の内部 IP に置き換えます。
ping -c 3 <privatenet-us-vm の内部 IP を入力>
注: この場合も 100% パケットロスで、ping に対する応答はありません。managementnet-us-vm と privatenet-us-vm の内部 IP アドレスに ping を通すことはできません。これらの IP アドレスは ping のソース(mynet-us-vm )と同じゾーンにありますが、別の VPC ネットワーク内にあるためです。
デフォルトでは、VPC ネットワークは分離されたプライベート ネットワーク ドメインです。ただし、内部 IP アドレスによるネットワーク間通信は、VPC ピアリングや VPN などのメカニズムを設定しない限り許可されません。
タスク 4. 複数のネットワーク インターフェースを持つ VM インスタンスを作成する
VPC ネットワーク内のすべてのインスタンスには、デフォルトのネットワーク インターフェースがありますが、VM に接続する追加のネットワーク インターフェースを作成することが可能です。ネットワーク インターフェースを追加することで(インスタンスのタイプに応じて最大 8 つまで追加可能)、そのインスタンスを複数の VPC ネットワークに直接接続する構成を作り出すことができます。
複数のネットワーク インターフェースを持つ VM インスタンスを作成する
vm-appliance インスタンスを、privatesubnet-us 、managementsubnet-us および mynetwork のネットワーク インターフェースとともに作成します。これらのサブネットの CIDR 範囲は互いに重複しません。これは複数のネットワーク インターフェース コントローラ(NIC)を使用する VM を作成する際の要件となります。
Cloud コンソールのナビゲーション メニュー で、[Compute Engine ] > [VM インスタンス ] をクリックします。
[インスタンスを作成 ] をクリックします。
次のように指定し、残りの設定はデフォルトのままにします。
プロパティ
値(値を入力するか、指定されたオプションを選択)
名前
vm-appliance
リージョン
ゾーン
左側のフレームで [マシンの構成 ] をクリックします。
次の値が選択されていることを確認します。| シリーズ | E2|
| マシンタイプ | 4 個の vCPU(16 GB メモリ、e2-standard-4)|
注: 1 つのインスタンスで使用できるインターフェース数は、インスタンスのマシンタイプと vCPU 数によって異なります。e2-standard-4 の場合、最大 4 つのネットワーク インターフェースを使用できます。使用できるインターフェース数の詳細については、複数のネットワーク インターフェースを持つインスタンスの作成に関するガイド をご覧ください。
左側のフレームで [ネットワーキング ] をクリックします。
[ネットワーク インターフェース ] でプルダウン アイコンをクリックして編集モードにします。
次のように指定し、残りの設定はデフォルトのままにします。
プロパティ
値(値を入力するか、指定されたオプションを選択)
ネットワーク
privatenet
サブネットワーク
privatesubnet-us
[完了 ] をクリックします。
[ネットワーク インターフェースを追加 ] をクリックします。
次のように指定し、残りの設定はデフォルトのままにします。
プロパティ
値(値を入力するか、指定されたオプションを選択)
ネットワーク
managementnet
サブネットワーク
managementsubnet-us
[完了 ] をクリックします。
[ネットワーク インターフェースを追加 ] をクリックします。
次のように指定し、残りの設定はデフォルトのままにします。
プロパティ
値(値を入力するか、指定されたオプションを選択)
ネットワーク
mynetwork
サブネットワーク
mynetwork
[完了 ] をクリックします。
[作成 ] をクリックします。
ネットワーク インターフェースを詳しく調べる
Cloud コンソールおよび VM のターミナル内で vm-appliance のネットワーク インターフェースの詳細を調べます。
Cloud コンソールのナビゲーション メニュー で、[Compute Engine ] > [VM インスタンス ] をクリックします。
[ネットワーク インターフェースの詳細 ] ページを開くには、vm-appliance の [内部 IP ] アドレスで [nic0 ] をクリックします。
「nic0 」が privatesubnet-us に接続され、そのサブネット内の内部 IP アドレス(172.16.0.0/24)が割り当てられ、該当するファイアウォール ルールが設定されていることを確認します。
[nic0 ] をクリックし、[nic1 ] を選択します。
「nic1 」 が managementsubnet-us に接続され、そのサブネット内の内部 IP アドレス(10.130.0.0/20)が割り当てられ、該当するファイアウォール ルールが設定されていることを確認します。
[nic1 ] をクリックし、[nic2 ] を選択します。
「nic2 」が mynetwork に接続され、そのサブネット内の内部 IP アドレス(10.128.0.0/20)が割り当てられ、該当するファイアウォール ルールが設定されていることを確認します。
注: 各ネットワーク インターフェースには、VM インスタンスがそれらのネットワークと通信できるように独自の内部 IP アドレスがあります。
Cloud コンソールのナビゲーション メニュー で、[Compute Engine ] > [VM インスタンス ] をクリックします。
vm-appliance の [SSH ] をクリックしてターミナルを起動し、接続します。
次のコマンドを実行して、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-us 、managementsubnet-us 、mynetwork に接続されていることを、これらのサブネットの VM インスタンスに ping して確認します。
Cloud コンソールのナビゲーション メニュー で、[Compute Engine ] > [VM インスタンス ] をクリックします。
privatenet-us-vm 、managementnet-us-vm 、mynet-us-vm 、mynet-notus-vm の内部 IP アドレスを確認します。
vm-appliance の SSH ターミナルに戻ります。
次のコマンドを実行して、privatenet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、privatenet-us-vm の内部 IP に置き換えます。
ping -c 3 <privatenet-us-vm の内部 IP を入力>
応答があります。
次のコマンドを実行し、同じテストを繰り返します。
ping -c 3 privatenet-us-vm
注: VPC ネットワークには、内部 IP アドレスではなくその DNS 名でインスタンスを指定できる内部 DNS サービスがあるため、名前で privatenet-us-vm に ping を通すことができます。インスタンスのホスト名を使った内部 DNS クエリが行われると、インスタンスのプライマリ インターフェース(nic0)に解決されます。そのため、この場合は privatenet-us-vm に対してのみ正常に ping を通すことができます。
次のコマンドを実行して、managementnet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、managementnet-us-vm の内部 IP に置き換えます。
ping -c 3 <managementnet-us-vm の内部 IP をこちらに入力>
応答があります。
次のコマンドを実行して、mynet-us-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、mynet-us-vm の内部 IP に置換します。
ping -c 3 <mynet-us-vm の内部 IP をこちらに入力>
応答があります。
次のコマンドを実行して、mynet-notus-vm の内部 IP アドレスへの接続性をテストします。コマンドのプレースホルダは、mynet-notus-vm の内部 IP アドレスに置き換えます。
ping -c 3 <mynet-notus-vm の内部 IP をこちらに入力>
注: これには応答がありません。複数インターフェースのインスタンスでは、すべてのインターフェースが、そのインターフェースが属するサブネットのルートを取得します。さらに、インスタンスは、プライマリ インターフェース ens4 に関連付けられるデフォルト ルートを 1 つ取得します。インスタンスから送信されるトラフィックの宛先が直接接続されているサブネット以外の場合、手動で別途構成しない限り、トラフィックは ens4 のデフォルト ルートを経由します。
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 の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。