チェックポイント
Create a custom network, subnetworks and firewall rules
/ 50
ネットワーキング(基礎編)
GSP016
概要
このラボでは、Google Cloud(Compute Engine インスタンスを含む)で基本的なネットワーキング タスクを実行する方法と、Google Cloud 環境とオンプレミス環境との違いについて学びます。1 つのネットワークと 3 つのサブネットワークを作成し、最終的に次のような環境にします。
最後に、ファイアウォール ルールを作成し、インスタンス タグを使用してそのファイアウォール ルールを適用する方法について説明します。
学習内容
- Google Cloud ネットワークの基本コンセプトと構造
- デフォルト ネットワークとユーザー作成ネットワークの構成方法
- ファイアウォール ルールを作成し、インスタンス タグを使用してそのファイアウォール ルールを適用する方法
設定と要件
[ラボを開始] ボタンをクリックする前に
こちらの手順をお読みください。ラボの時間は記録されており、一時停止することはできません。[ラボを開始] をクリックするとスタートするタイマーは、Google Cloud のリソースを利用できる時間を示しています。
このハンズオンラボでは、シミュレーションやデモ環境ではなく、実際のクラウド環境を使ってご自身でラボのアクティビティを行うことができます。そのため、ラボの受講中に Google Cloud にログインおよびアクセスするための、新しい一時的な認証情報が提供されます。
このラボを完了するためには、下記が必要です。
- 標準的なインターネット ブラウザ(Chrome を推奨)
- ラボを完了するために十分な時間を確保してください。ラボをいったん開始すると一時停止することはできません。
ラボを開始して Google Cloud コンソールにログインする方法
-
[ラボを開始] ボタンをクリックします。ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。 左側の [ラボの詳細] パネルには、以下が表示されます。
- [Google Cloud コンソールを開く] ボタン
- 残り時間
- このラボで使用する必要がある一時的な認証情報
- このラボを行うために必要なその他の情報(ある場合)
-
[Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウでリンクを開く] を選択します)。
ラボでリソースが起動し、別のタブで [ログイン] ページが表示されます。
ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておきましょう。
注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。 -
必要に応じて、下のユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。
{{{user_0.username | "Username"}}} [ラボの詳細] パネルでも [ユーザー名] を確認できます。
-
[次へ] をクリックします。
-
以下のパスワードをコピーして、[ようこそ] ダイアログに貼り付けます。
{{{user_0.password | "Password"}}} [ラボの詳細] パネルでも [パスワード] を確認できます。
-
[次へ] をクリックします。
重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。 -
その後次のように進みます。
- 利用規約に同意してください。
- 一時的なアカウントなので、復元オプションや 2 要素認証プロセスは設定しないでください。
- 無料トライアルには登録しないでください。
その後、このタブで Google Cloud コンソールが開きます。
Cloud Shell をアクティブにする
Cloud Shell は、開発ツールと一緒に読み込まれる仮想マシンです。5 GB の永続ホーム ディレクトリが用意されており、Google Cloud で稼働します。Cloud Shell を使用すると、コマンドラインで Google Cloud リソースにアクセスできます。
- Google Cloud コンソールの上部にある「Cloud Shell をアクティブにする」アイコン をクリックします。
接続した時点で認証が完了しており、プロジェクトに各自の PROJECT_ID が設定されます。出力には、このセッションの PROJECT_ID を宣言する次の行が含まれています。
gcloud
は Google Cloud のコマンドライン ツールです。このツールは、Cloud Shell にプリインストールされており、タブ補完がサポートされています。
- (省略可)次のコマンドを使用すると、有効なアカウント名を一覧表示できます。
-
[承認] をクリックします。
-
出力は次のようになります。
出力:
- (省略可)次のコマンドを使用すると、プロジェクト ID を一覧表示できます。
出力:
出力例:
gcloud
ドキュメントの全文については、gcloud CLI の概要ガイドをご覧ください。
リージョンとゾーンについて
一部の Compute Engine リソースは、リージョンまたはゾーンに属します。リージョンとは、リソースを実行できる特定の地理的位置です。各リージョンには、1 つまたは複数のゾーンがあります。たとえば、リージョン us-central1 は米国中部のリージョンを指し、ゾーン us-central1-a
、us-central1-b
、us-central1-c
、us-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 と同じリージョンに存在している必要があります。
Google Cloud ネットワークの概念
Google Cloud Platform では、ネットワークがクラウド リソース(主に Compute Engine インスタンス)とのデータ接続を提供します。データの安全を確保し、リソースへのアクセスを制御するためには、ネットワークの保護が不可欠です。
Google Cloud Platform では、相互に関連のないリソースが、プロジェクト、ネットワーク、サブネットワークによって柔軟かつ論理的に分離されます。
プロジェクトは最も外側のコンテナで、同じ信頼境界を共有しているリソースのグループ分けに使用されます。プロジェクトごとに個別のアクセス ポリシー(IAM)とメンバーリストが割り当てられるため、デベロッパーの多くはプロジェクトをチームにマッピングします。リソース消費が反映される課金情報と割り当ての詳細をまとめるのもプロジェクト単位になります。プロジェクトには、サブネットワーク、ファイアウォール ルール、ルートを含むネットワークが含まれます(下のアーキテクチャ図をご覧ください)。
ネットワークは、リソースを他のリソースや外部と直接接続し、ファイアウォールを使用して、着信接続と発信接続に関するアクセス ポリシーを実装します。ネットワークは、グローバル(複数のリージョンにまたがる水平方向のスケーラビリティを提供する)、リージョン別(単一のリージョン内で低レイテンシを提供する)のいずれの実装も可能です。
サブネットワークを使用すれば、関連するリソース(Compute Engine インスタンス)を RFC1918 プライベート アドレス空間にグルーピングできます。サブネットワークはリージョン単位でのみ利用でき、自動モードまたはカスタムモードに設定可能です。
- 自動モードのネットワークはリージョンごとに 1 つのサブネットを持ち、それぞれにあらかじめ決められた IP 範囲とゲートウェイが割り当てられます。自動モードのネットワークを作成するとこのようなサブネットが自動的に作成され、各サブネットの名前はネットワーク全体と同じ名前になります。
- カスタムモードのネットワークでは、ネットワークの作成時にサブネットが作成されません。カスタムモードのネットワーク内にインスタンスを作成するには、まずそのリージョンでサブネットワークを作成し、IP 範囲を指定する必要があります。カスタムモードのネットワークでは、リージョンごとに 0 から複数個のサブネットを作成できます。
リージョンとゾーンを設定する
一部の Compute Engine リソースは、リージョン内やゾーン内に存在します。リージョンとは、リソースを実行できる特定の地理的なロケーションです。1 つのリージョンには 1 つ以上のゾーンがあります。
Cloud Shell で次の gcloud
コマンドを実行して、ラボのデフォルトのリージョンとゾーンを設定します。
タスク 1. デフォルト ネットワークを確認する
新しいプロジェクトを作成すると、デフォルトのネットワーク構成として、リージョンごとに自動サブネット ネットワークが 1 つ作成されます。1 つのプロジェクトに、最大 4 つのネットワークを追加作成できます。追加するネットワークは、自動サブネット ネットワーク、カスタム サブネット ネットワーク、レガシー ネットワークから選択できます。
サブネットワーク内で作成された各インスタンスには、そのサブネットワークの範囲から取得した IPv4 アドレスが割り当てられます。
- ネットワークを確認します。ナビゲーション メニュー > [VPC ネットワーク] をクリックします。
ファイアウォール
ファイアウォール ルールを使用してサブネットワークを分離する方法の詳細については、サブネットワークおよびファイアウォール ルールをご覧ください。
各ネットワークのデフォルトのファイアウォールは、インスタンスに向かうすべての受信トラフィックをブロックします。インスタンスに向かう受信トラフィックを許可するには、ファイアウォールの「許可」ルールを作成する必要があります。また、「下り(外向き)」ファイアウォール構成が外部接続をブロックするように構成されていない限り、インスタンスからのトラフィックは許可されます。そのため、デフォルトとして、上り(内向き)のアクセスを許可するトラフィックに「許可」ルールを作成し、下り(外向き)のアクセスを制限するトラフィックに「拒否」ルールを作成するとよいでしょう。デフォルトの下り(外向き)拒否ポリシーを作成し、外部接続を完全に禁止することもできます。
一般的には、通過させたいトラフィックの種類には対応する、できるだけ制限の厳しいファイアウォール ルールを構成することをおすすめします。たとえば、一部のインスタンスに到達するトラフィックを許可する一方で、他のインスタンスに到達するトラフィックを制限する必要がある場合、対象のインスタンスのみへのトラフィックを許可するルールを作成します。制限の厳しい構成にすることで、すべてのインスタンスへのトラフィックを許可する大規模なファイアウォール ルールよりも予測が容易になります。特定の「許可」ルールをオーバーライドする「拒否」ルールが必要な場合は、ルールごとに優先度レベルを設定できます。最も番号の小さい優先度のルールが最初に考慮されます。ただし、大規模で複雑な優先ルールを作成すると、意図しないトラフィックが許可されたり、ブロックされたりすることがあります。
デフォルト ネットワークでは、以下に示すようなファイアウォール ルールが自動的に作成されます。ネットワークの種類を問わず、手動で作成したネットワークでファイアウォール ルールが自動的に作成されることはありません。デフォルト ネットワークを除くすべてのネットワークでは、必要に応じてファイアウォール ルールを作成する必要があります。
デフォルト ネットワーク用に自動的に作成される上り(内向き)ファイアウォール ルールを次に示します。
|
ネットワーク上のインスタンス間で行われる、任意のプロトコルとポートでのネットワーク接続を許可します。 |
|
任意の送信元からネットワーク上の任意のインスタンスへの、TCP ポート 22 を介した SSH 接続を許可します。 |
|
任意の送信元からネットワーク上の任意のインスタンスへの、TCP ポート 3389 を介した RDP 接続を許可します。 |
|
任意の送信元からネットワーク上の任意のインスタンスへの ICMP トラフィックを許可します。 |
- デフォルトのファイアウォール ルールを確認するには、Cloud コンソールでナビゲーション メニュー > [VPC ネットワーク] > [ファイアウォール] をクリックします。
ネットワーク ルート
すべてのネットワークでは、インターネットへのルート(デフォルト ルート)とネットワーク内の IP 範囲へのルートが自動的に作成されます。ルート名は自動的に生成され、プロジェクトごとに違う名前になります。
- デフォルト ルートを確認するには、ナビゲーション メニュー > [VPC ネットワーク] > [ルート] をクリックし、[ネットワーク] と [リージョン] を選択して [ルート] を表示します。
タスク 2. カスタム ネットワークを作成する
サブネットワークの範囲を手動で割り当てる場合は、まずカスタム ネットワークを作成してから、リージョンに配置するサブネットを作成します。サブネットワークは、すべてのリージョンに対して直ちに指定する必要はなく、また、まったく指定しなくてもかまいません。ただし、サブネットワークが定義されていないリージョンにインスタンスを作成することはできません。
新しいサブネットワークを作成するときは、ネットワークが異なっても、リージョンが同じ場合はプロジェクト内で一意の名前にする必要があります。リージョンが異なる場合は、プロジェクト内で同じ名前を使用できます。サブネットワークにはネットワーク レベルの IPv4 範囲やゲートウェイ IP がないため、これらの情報は表示されません。
カスタム ネットワークは、コンソールまたは Cloud Shell で作成できます。両方の方法を説明しますが、このラボでどちらを使用するかを決めておく必要があります。たとえば、コンソールの手順に沿ってセクションを進めているのに、gcloud
コマンドラインを使用することはできません。
カスタム ネットワークを作成するには:
-
ナビゲーション メニュー > [VPC ネットワーク] をクリックします。
-
[VPC ネットワークを作成] をクリックし、「
taw-custom-network
」という名前を付けます。 -
[カスタム] タブで次のように入力します。
- サブネット名: subnet-
- リージョン:
- IP アドレス範囲:
10.0.0.0/16
- サブネット名: subnet-
-
[完了] をクリックします。
-
次に [サブネットを追加] をクリックし、次の 2 つのサブネットをそれぞれのリージョンに追加します。
- subnet-
, , 10.1.0.0/16 - subnet-
, , 10.2.0.0/16
- subnet-
-
[作成] をクリックして完了します。
この時点でネットワークには、インターネットへのルートと、今後作成するインスタンスへのルートが用意されています。ただし、インスタンスへのアクセスを許可するファイアウォール ルールが存在しないため、他のインスタンスからのものも含め、アクセスは許可されません。アクセスを許可するには、ファイアウォール ルールを作成する必要があります。
ファイアウォール ルールの追加セクションに進みます。
タスク 3. ファイアウォール ルールを追加する
VM インスタンスへのアクセスを許可するには、ファイアウォール ルールを適用する必要があります。このラボでは、インスタンス タグを使用して VM インスタンスにファイアウォール ルールを適用します。ファイアウォール ルールは同じインスタンス タグを持つすべての VM に適用されます。
- まず、HTTP インターネット リクエストを許可するためにファイアウォールを開いてから、ファイアウォール ルールを追加します。
コンソールを使用してファイアウォール ルールを追加する
- Cloud コンソールで [VPC ネットワーク] に移動し、taw-custom-network をクリックします。
- [ファイアウォール] タブをクリックし、次に [ファイアウォール ルールを追加] をクリックします。
- 次の情報を入力します。
フィールド |
値 |
コメント |
名前 |
nw101-allow-http |
新しいルールの名前 |
ターゲット |
指定されたターゲットタグ |
ファイアウォール ルールの適用先のインスタンス |
ターゲットタグ |
http |
作成したタグ |
ソースフィルタ |
IPv4 範囲 |
インターネットのどの IP アドレスに対してもファイアウォールを開きます |
送信元 IPv4 範囲 |
0.0.0.0/0 |
インターネットのどの IP アドレスに対してもファイアウォールを開きます |
プロトコルとポート |
[指定したプロトコルとポート]、[tcp] の順にチェックボックスをオンにし、「80」と入力します |
HTTP のみ |
画面は次のようになります。
- [作成] をクリックし、コマンドが成功するまで待ちます。次に、必要に応じて追加のファイアウォール ルールを作成します。
追加のファイアウォール ルールを作成する
追加で作成するこれらのファイアウォール ルールによって、ICMP、内部通信、SSH、RDP が許可されます。これらのファイアウォール ルールはコンソールを使用して作成できます。
- ICMP
フィールド |
値 |
コメント |
名前 |
nw101-allow-icmp |
新しいルールの名前 |
ターゲット |
指定されたターゲットタグ |
[ターゲット] プルダウンから選択します |
ターゲットタグ |
rules |
タグ |
ソースフィルタ |
IPv4 範囲 |
このリストにあるどの IP アドレスに対してもファイアウォールを開きます |
送信元 IPv4 範囲 |
0.0.0.0/0 |
インターネットのどの IP アドレスに対してもファイアウォールを開きます |
プロトコルとポート |
[指定したプロトコルとポート]、[その他のプロトコル] の順にチェックボックスをオンにし、「icmp」と入力します |
ファイアウォールが適用されるプロトコルとポート |
- 内部通信
フィールド |
値 |
コメント |
名前 |
nw101-allow-internal |
新しいルールの名前 |
ターゲット |
ネットワーク上のすべてのインスタンス |
[ターゲット] プルダウンから選択します |
ソースフィルタ |
IPv4 範囲 |
ルールを特定のトラフィック ソースに適用するために使用するフィルタ |
送信元 IPv4 範囲 |
10.0.0.0/16, 10.1.0.0/16, 10.2.0.0/16 |
インターネットのどの IP アドレスに対してもファイアウォールを開きます |
プロトコルとポート |
[指定したプロトコルとポート]、[tcp] の順にチェックボックスをオンにし、「0-65535」と入力します。[udp] をオンにし、「0-65535」と入力します。[その他のプロトコル] をオンにし、「icmp」と入力します |
Tcp:0-65535、udp:0-65535、icmp を許可します |
- SSH
フィールド |
値 |
コメント |
名前 |
nw101-allow-ssh |
新しいルールの名前 |
ターゲット |
指定されたターゲットタグ |
ssh |
ターゲットタグ |
ssh |
ファイアウォール ルールを適用するインスタンス |
ソースフィルタ |
IPv4 範囲 |
ルールを特定のトラフィック ソースに適用するために使用するフィルタ |
送信元 IPv4 範囲 |
0.0.0.0/0 |
インターネットのどの IP アドレスに対してもファイアウォールを開きます |
プロトコルとポート |
[指定したプロトコルとポート]、[tcp] の順にチェックボックスをオンにし、「22」と入力します |
tcp:22 を許可します |
- RDP
フィールド |
値 |
コメント |
名前 |
nw101-allow-rdp |
新しいルールの名前 |
ターゲット |
ネットワーク上のすべてのインスタンス |
[ターゲット] プルダウンから選択します |
ソースフィルタ |
IPv4 範囲 |
IP アドレスをフィルタリングします |
送信元 IPv4 範囲 |
0.0.0.0/0 |
インターネットのどの IP アドレスに対してもファイアウォールを開きます |
プロトコルとポート |
[指定したプロトコルとポート]、[tcp] の順にチェックボックスをオンにし、「3389」と入力します |
tcp:3389 を許可します |
- コンソールを使用してネットワーク内のファイアウォール ルールを確認します。次のようになります。
[進行状況を確認] をクリックして、目標に沿って進んでいることを確認します。
ラボを終了する
ラボが完了したら、[ラボを終了] をクリックします。ラボのプラットフォームから、アカウントと使用したリソースが削除されます。
ラボの評価を求めるダイアログが表示されたら、星の数を選択してコメントを入力し、[送信] をクリックします。
星の数は、それぞれ次の評価を表します。
- 星 1 つ = 非常に不満
- 星 2 つ = 不満
- 星 3 つ = どちらともいえない
- 星 4 つ = 満足
- 星 5 つ = 非常に満足
フィードバックを送信しない場合は、ダイアログ ボックスを閉じてください。
フィードバックやご提案の送信、修正が必要な箇所をご報告いただく際は、[サポート] タブをご利用ください。
お疲れさまでした
デフォルト ネットワークとユーザー作成ネットワークの構成方法、サブネットの追加方法、ファイアウォール ルールを適用してアクセスを制御する方法について学びました。
Google Cloud トレーニングと認定資格
Google Cloud トレーニングと認定資格を通して、Google Cloud 技術を最大限に活用できるようになります。必要な技術スキルとベスト プラクティスについて取り扱うクラスでは、学習を継続的に進めることができます。トレーニングは基礎レベルから上級レベルまであり、オンデマンド、ライブ、バーチャル参加など、多忙なスケジュールにも対応できるオプションが用意されています。認定資格を取得することで、Google Cloud テクノロジーに関するスキルと知識を証明できます。
マニュアルの最終更新日: 2024 年 10 月 22 日
ラボの最終テスト日: 2024 年 10 月 22 日
Copyright 2024 Google LLC All rights reserved. Google および Google のロゴは Google LLC の商標です。その他すべての企業名および商品名はそれぞれ各社の商標または登録商標です。