ラボの設定手順と要件
アカウントと進行状況を保護します。このラボを実行するには、常にシークレット ブラウジング ウィンドウとラボの認証情報を使用してください。

Terraform と Cloud Shell を使用してファイアウォール ルールを変更する

ラボ 1時間 30分 universal_currency_alt クレジット: 5 show_chart 入門
info このラボでは、学習をサポートする AI ツールが組み込まれている場合があります。
このコンテンツはまだモバイル デバイス向けに最適化されていません。
快適にご利用いただくには、メールで送信されたリンクを使用して、デスクトップ パソコンでアクセスしてください。
重要アイコン 重要:

パソコン / ノートパソコンのアイコン このハンズオンラボは、デスクトップまたはノートパソコンでのみ完了するようにしてください。

チェック アイコン ラボごとに 5 回までしか試行できません。

クイズのターゲット アイコン なお、最初の試行で全問正解できないことや、タスクをやり直す必要があることはよくあります。これは学習プロセスの一部です。

タイマー アイコン ラボを開始すると、タイマーを一時停止することはできません。1 時間 30 分後にラボは終了し、最初からやり直す必要があります。

ヒントアイコン 詳しくは、ラボでの技術的なヒントの資料をご覧ください。

アクティビティの概要

ファイアウォール ルールは、クラウド環境に出入りできるトラフィックを制御するため、クラウド ネットワークのセキュリティにおいて重要な役割を果たします。クラウド ネットワーキングの性質は常に変化し、複雑です。組織のニーズは変化し、新しいクラウド リソースが追加または削除され、新しい脆弱性が発見されます。つまり、これらの変更に対応するために、ファイアウォール ルール構成の調整、維持を継続的に行う必要があります。

クラウド環境の重要なアップデートを追跡して管理することは、時として困難を伴いますが、幸いなことに、Infrastructure as Code(IaC)を活用して、クラウド リソースの構成を管理することができます。IaC は、再利用可能なスクリプトを使用してインフラストラクチャをプロビジョニングおよび管理することです。ファイアウォール ルールの更新などのワークフローを自動化するために使用できます。

Terraform と Cloud Shell を使用すると、ファイアウォール ルールを簡単に管理して効率的に更新できます。Terraform 構成ファイルに目的のファイアウォール ルールを記述し、Cloud Shell で Terraform コマンドを実行することで、ネットワーク セキュリティ ポリシーの一貫性を維持し、バージョン管理できます。このアプローチは、時間の経過に伴う変更の維持と追跡に役立ちます。

このラボでは、Terraform リポジトリのクローンを作成し、VPC ネットワークとファイアウォールをデプロイする方法を学びます。

シナリオ

Cymbal Bank の新しいバンキング アプリケーションをデプロイする準備が整いました。これは Virtual Private Cloud(VPC)でホストする必要があります。チームリーダーのクロエは、Terraform を使用してアプリケーションのネットワーク インフラストラクチャを定義し、プロビジョニングしたいと考えています。Terraform を使用すると、クラウド インフラストラクチャを再現性と一貫性がある形で安全にプロビジョニングできます。これにより、必要な変更を簡単かつ迅速に行うことができます。あなたは Terraform を使用してネットワークとファイアウォール ルールを作成するよう指示されました。

方法は次のとおりです。まず、Cloud Shell をアクティブにします。次に、Terraform リポジトリのクローンを作成します。最後に、VPC ネットワークとファイアウォールをデプロイします。

設定

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

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

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

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

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

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

  1. [ラボを開始] ボタンをクリックします。左側の [ラボの詳細] パネルには、以下が表示されます。

    • 残り時間
    • [Google Cloud コンソールを開く] ボタン
    • このラボで使用する必要がある一時的な認証情報
    • このラボを行うために必要なその他の情報(ある場合)
    注: ラボの料金をお支払いいただく必要がある場合は、表示されるポップアップでお支払い方法を選択してください。
  2. [Google Cloud コンソールを開く] をクリックします(Chrome ブラウザを使用している場合は、右クリックして [シークレット ウィンドウで開く] を選択します)。新しいブラウザタブで [ログイン] ページが開きます。

    ヒント: タブをそれぞれ別のウィンドウで開き、並べて表示しておくと、簡単に切り替えられます。

    注: [アカウントの選択] ダイアログが表示されたら、[別のアカウントを使用] をクリックします。
  3. 必要に応じて、下のGoogle Cloud ユーザー名をコピーして、[ログイン] ダイアログに貼り付けます。[Next] をクリックします。

{{{user_0.username | "Google Cloud username"}}}

[ラボの詳細] パネルでも Google Cloud ユーザー名を確認できます。

  1. 以下の Google Cloud パスワードをコピーして、[ようこそ] ダイアログに貼り付けます。[Next] をクリックします。
{{{user_0.password | "Google Cloud password"}}}

[ラボの詳細] パネルでも Google Cloud のパスワードを確認できます。

重要: ラボで提供された認証情報を使用する必要があります。Google Cloud アカウントの認証情報は使用しないでください。 注: このラボでご自身の Google Cloud アカウントを使用すると、追加料金が発生する場合があります。
  1. その後次のように進みます。
    • 利用規約に同意します。
    • 一時的なアカウントですので、復元オプションや 2 要素認証プロセスは設定しないでください。
    • 無料トライアルに登録しないでください。

しばらくすると、このタブで Cloud コンソールが開きます。

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

タスク 1. Terraform リポジトリのクローンを作成する

このタスクでは、Cloud Shell ターミナルを使用して Terraform サンプル リポジトリのクローンを作成します。Terraform のサンプルには、ファイアウォール ルールのプロビジョニングに使用する構成ファイルが含まれています。

  1. Google Cloud コンソールで、「Cloud Shell をアクティブにする」アイコン(Cloud Shell をアクティブにするアイコン)をクリックします。
  2. [続行] をクリックします。

Cloud Shell 環境のプロビジョニングと接続には、さほど時間はかかりません。

  1. 以下のコマンドを Cloud Shell にコピー入力します。
cloudshell_open --repo_url "https://github.com/terraform-google-modules/docs-examples.git" --print_file "./motd" --dir "firewall_basic" --page "editor" --tutorial "./tutorial.md" --open_in_editor "main.tf" --force_new_clone

このコマンドは、Terraform サンプル ディレクトリのクローンを作成します。

  1. Enter キーを押します。

このコマンドによって、次のアクションが実行されます。

  • terraform-google-modules のクローンを作成する。
  • motd ファイル名を画面に出力する。
  • firewall_basic ディレクトリへ切り替える。
  • クローニングされたファイル(tutorial.md など)をチェックする。
  • Cloud Shell エディタで main.tf を開く。

クローン作成が完了すると、ターミナルで ~/cloudshell_open/docs-examples/firewall_basic に移動されます。Cloud Shell プロンプトに、次の例のような出力が表示されます。

student_01_c2e095df84e2@cloudshell:~/cloudshell_open/docs-examples/firewall_basic (qwiklabs-gcp-04-fde36f013e65)$
  1. 次のコマンドを Cloud Shell ターミナルにコピーして、ディレクトリの内容を一覧表示します。
ls

ディレクトリ内にいくつかのファイルがダウンロードされたことに気づくはずです。backing_file.tfmain.tfmotdtutorial.md です。

  1. 次のコマンドを Cloud Shell ターミナルにコピーして、ファイアウォール ルールの構成を分析します。
cat main.tf
  1. Enter キーを押します。

main.tf ファイルは、Terraform が作成するリソースを定義する構成ファイルです。2 つのリソースが作成されます。1 つは、ポート 80、8080、1000~2000 からの ICMP トラフィックと TCP トラフィックを許可するルールを持つ test-firewall-${local.name_suffix} という名前のファイアウォール ルール google_compute_firewall、もう 1 つは test-network-${local.name_suffix} という名前の VPC ネットワーク google_compute_network です。変数 ${local.name_suffix} は、リソースの一意の名前を自動的に生成するローカル変数です。

タスク 2. VPC ネットワークとファイアウォールをデプロイする

このタスクでは、新しい VPC ネットワークと新しいファイアウォール ルールをデプロイします。このタスクでは、VPC ネットワークとサブネットの構築を実際に体験できます。

注: Cloud Shell ターミナルで次のコマンドを順番に実行します。
  1. 以下のコマンドを Cloud Shell にコピー入力します。
export GOOGLE_CLOUD_PROJECT={{{project_0.project_id | Project ID}}}

このコマンドはプロジェクト ID を設定します。

  1. Enter キーを押します。

  2. 以下のコマンドを Cloud Shell にコピー入力します。

terraform init

このコマンドは、Terraform スクリプトを初期化します。

  1. Enter キーを押します。

出力には、Terraform が正常に初期化されたことを示すメッセージが表示されます。少し時間をかけて結果を確認します。Terraform によって新しいファイアウォールと VPC ネットワークが作成されます。

Terraform の初期化が成功した後の出力メッセージ。

  1. 初期化が完了したら、次のコマンドを Cloud Shell ターミナルにコピーします。
terraform apply

このコマンドは、変更を適用して Terraform スクリプトをデプロイします。

  1. Enter キーを押します。
注: [Cloud Shell の承認] ダイアログ ボックスが表示されたら、[承認] をクリックして、gcloud コマンドで認証情報を使用する権限を付与します。
  1. コマンド プロンプトで「Enter a value」と入力するように求められます。「yes」と入力して、Enter キーを押します。

これにより、VPC ネットワークとファイアウォール ルールの作成が開始されます。

完了すると、出力に次のメッセージが返されます。

Apply complete! Resources: 3 added, 0 changed, 0 destroyed.

これは、VPC とファイアウォールが正常にデプロイされたことを意味します。

[進行状況を確認] をクリックして、このタスクが正しく完了したことを確認します。 進行状況を確認

タスク 3. リソースのデプロイを確認する

このタスクでは、新しく作成した VPC とファイアウォール ルールが正常にデプロイされたことを確認します。

  1. Google Cloud コンソールのナビゲーション メニュー(ナビゲーション メニュー アイコン)から、[VPC ネットワーク] > [VPC ネットワーク] を選択します。[VPC ネットワーク] ページが開きます。
  2. 2 つの VPC ネットワーク、default と、先ほど作成した新しい test-network が表示されます。[test-network] をクリックして VPC ネットワークの詳細にアクセスします。
  3. [ファイアウォール] をクリックします。「開く」矢印を使用して、vpc-firewall-rules を開きます。[プロトコルとポート] と [アクション] で、ファイアウォール ルールが構成ファイルで定義されたルール(許可tcp:801000~20008080 icmp)と同じであることに注目してください。
注: リソース名が一意になるように、test-networktest-firewall の両方の名前に一意の識別子が動的に追加されます(例: test-network-curly-penguin)。この一意の識別子は、構成ファイルで定義されているローカル変数 ${local.name_suffix} によって自動的に生成されます。これにより、リソースの名前付けの競合を防ぎ、インフラストラクチャ コンポーネントを適切に整理できます。

まとめ

これで完了です。

Terraform と Cloud Shell を使用して VPC ネットワークとサブネットを構築できました。このラボは、システム管理者が Terraform で使用できる高度な自動化ソリューションを開発するための基盤となります。

VPC ネットワークとファイアウォールを作成することで、ファイアウォール ルールのプロビジョニングと変更のプロセスを自動化する方法について理解を深めることができました。これにより、さまざまな環境で一貫性を確立できるとともに、人的ミスの可能性を減らすことができます。

ラボを終了する

すべてのタスクが問題なく完了したことを確認してから、ラボを終了してください。準備ができたら、[ラボを終了] をクリックし、[送信] をクリックします。

ラボを終了すると、ラボ環境へのアクセス権が削除され、完了した作業にもう一度アクセスすることはできなくなります。

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

始める前に

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

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

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

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

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

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

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

ありがとうございます。

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

1 回に 1 つのラボ

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

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

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