想ひ出9: 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
元ネタはこちらです。
やりたいこと
対応 | 結果 |
---|---|
vmsからvm1にcurlコマンド | 成功 |
ローカルMacからvm1にcurlコマンド | 失敗 |
vm1からvm2へのmysql接続コマンド | 成功 |
やること
1. カスタムサブネットを使用して新しいVPCネットワークを作成する
2. カスタムネットワーク内にインスタンスを作成
3. ファイアウォール ルールを作成する
4. 確認する
5. 嬉しい
1. カスタムサブネットを使用して新しいVPCネットワークを作成する
VPCネットワークとサブネットを作成します。
完了後。
GCPのVPCには自動モードとカスタムモードという概念があります。 簡単に説明すると下記な感じ。
- 自動モード --- 事前定義されたIP範囲(10.128.0.0/9 CIDRブロック)で自動でサブネットも作成してくれて、手軽にネットワーク構築できる。
- カスタムモード --- 自身が選択したリージョンで、指定したIP範囲を使用してサブネットを作成する。本番環境にはこちら推奨。
2. カスタムネットワーク内にインスタンスを作成
カスタムネットワークの場合、赤枠の箇所をクリックして設定する必要があるよ!
vmsを作成してるザマス。
これはwebserver。
This is database。
3. ファイアウォール ルールを作成する
とりあえずSSHを開放(例ではそんなことしてないんだけど)
vm1はsubnet1からしか見せないぜ!の設定
vm2のDBはvm1からしか触らせないぜ!の設定
4. 確認する
ローカルからvm1に対してcurlで内容を取得してみる
やった!見れねー!
vmsからvm1に対してcurlで内容を取得してみる
やった!取得できた!
vm1からvm2に対してmysql接続してみる
やった!接続成功!
5. 嬉しい
わーい。