想ひ出のへっぽこBlogⅡ from35

~ 自身の備忘録および学習促進のためにブログります。~

想ひ出9: GCP/VPCネットワークでファイヤーウォールしてみる

f:id:moqrin3:20181201105123p:plain
GCP VPC

おはようございます、moqrinです。

GCP楽しいですねー!
GCPが楽しくて、とりあえず触っています。
今回はVPCです。これがまた、AWSと仕組みが結構異なっていて面白いですねー。

仕組みがどう異なるのかっていうのは、諸先輩方が触れている記事がいっぱいあるので、 そこには特に触れるつもりはありませんー。

VPCを使って、ファイヤーウォールチュートリアル(?)を改変した構成を設定してみました。 下記が構成例です。

  • IP範囲が 10.240.10.0/24のサブネット moqrin3-subnet1
  • IP範囲が 192.168.1.0/24のサブネット moqrin3-subnet2
  • タグがwebserver、内部IPが 192.168.1.2 の moqrin3-subnet2 内のインスタンスvm1
  • タグがdatabase、内部IPが 192.168.1.3 の moqrin3-subnet2 内のインスタンスvm2

元ネタはこちらです。

f:id:moqrin3:20181201093059p:plain

やりたいこと

対応 結果
vmsからvm1にcurlコマンド 成功
ローカルMacからvm1にcurlコマンド 失敗
vm1からvm2へのmysql接続コマンド 成功

やること

1. カスタムサブネットを使用して新しいVPCネットワークを作成する
2. カスタムネットワーク内にインスタンスを作成
3. ファイアウォール ルールを作成する
4. 確認する
5. 嬉しい

1. カスタムサブネットを使用して新しいVPCネットワークを作成する

VPCネットワークとサブネットを作成します。

f:id:moqrin3:20181201092817p:plain

完了後。

f:id:moqrin3:20181201092631p:plain


GCPVPCには自動モードとカスタムモードという概念があります。 簡単に説明すると下記な感じ。

  • 自動モード --- 事前定義されたIP範囲(10.128.0.0/9 CIDRブロック)で自動でサブネットも作成してくれて、手軽にネットワーク構築できる。
  • カスタムモード --- 自身が選択したリージョンで、指定したIP範囲を使用してサブネットを作成する。本番環境にはこちら推奨。

2. カスタムネットワーク内にインスタンスを作成

カスタムネットワークの場合、赤枠の箇所をクリックして設定する必要があるよ!

f:id:moqrin3:20181201092711p:plain

vmsを作成してるザマス。

f:id:moqrin3:20181201092730p:plain

これはwebserver。

f:id:moqrin3:20181201092650p:plain

This is database。

f:id:moqrin3:20181201092608p:plain

3. ファイアウォール ルールを作成する

とりあえずSSHを開放(例ではそんなことしてないんだけど)

f:id:moqrin3:20181201092754p:plain

vm1はsubnet1からしか見せないぜ!の設定

f:id:moqrin3:20181201092934p:plain

vm2のDBはvm1からしか触らせないぜ!の設定

f:id:moqrin3:20181201093003p:plain

4. 確認する

ローカルからvm1に対してcurlで内容を取得してみる

f:id:moqrin3:20181201092849p:plain

やった!見れねー!

vmsからvm1に対してcurlで内容を取得してみる

f:id:moqrin3:20181201093131p:plain

やった!取得できた!

vm1からvm2に対してmysql接続してみる

f:id:moqrin3:20181201092917p:plain

やった!接続成功!

5. 嬉しい

わーい。

参考:

ファイアウォール ルールの使用

Virtual Private Cloud(VPC)ネットワークの概要

VPC ネットワークの使用

カスタムモードの VPC ネットワークでのインスタンスの作成