更新日:2026.5.5 FortiOS:8.00
| このページの内容 |
今回構築する構成

![]() |
今回は上の図のようにFGVM(Fortigate VM)を建ててみたいと思います。ゴールは、PC1からFGVMに管理アクセスできることと、yk_winsv1~FGVM間でpingokとなることとします。 |
![]() |
ん?FGVM、Port1が必要なのはわかるけど、Port2はなぜ作成するのですか?subnetも新しく172.26.2.0/24というのを作成するんですね? |
![]() |
そうだね。今回だけで見ればPort2や新subnetは必要ないんだけど、今後色々な検証ができるように先を見据えて作成しておこうと思う。 |
![]() |
色々な検証って、例えばどんなことができるのですか? |
![]() |
新subnet内にもwindows VMを建てて、そのVMからFGVM経由でインターネットへ向かう通信に対してUTM検査(アンチウイルス検査など)を行ってみたり、認証をかけてみたりとかね。それらはまた後日取り上げたいと思います。 |
新subnet(172.26.2.0/24)を作成

![]() |
さて、今回の作業の流れはざっくり以下の通り。 172.26.2.0/24のsubnet作成 ということでまずは172.26.2.0/24のsubnet作成から。 |
①画面左上の・が集まったマーク → VPCの順にクリック。

②左メニューの「Subnets」→ 右上の「Create subnet」の順に進む。

③どのVPCの中にsubnetを作成するかを選択します。今回もyk_vpc_172.26.0.0/16を選択。
subnet nameは任意の名前を入力。今回はyk_sub_172.26.2.0/24にしました。
ipv4 subnet CIDR blockに、作成するsubnetのNWアドレスを入力します。今回は172.26.2.0/24と入力。
その他はデフォルトのままで画面右下のCreate subnetをクリック。

port1用とport2用のSGを作成

![]() |
続いて上図の赤枠部分のPort1とPort2用のSGを作成します。ルールは以下のようにしようと思います。 ■Port1用 受信:ping、https、sshの3つのみ許可 送信:全許可 ■Port2用 送受信ともに全許可 |
![]() |
Port2用は送受信共に全許可でよいのでしょうか? |
![]() |
ああ。Port2の先は172.26.2.0/24のsubnetしかなく、インターネットから攻撃を受けたりしないので全許可で大丈夫だと思う。 |
![]() |
なるほど。 |
①VPC dashboard → 左メニューのsecurity group → 画面右上のCreate security groupへ進む。

②Security group nameに任意の名前を入力。今回はyk_SG_FGVM1_port1にしました。
Descriptionも入力を求められたのでping_https_ssh_okと入力。
VPCはyk_vpc_172.26.0.0/16を選択。Inbound rulesを編集するため画面左下のAdd ruleへ。

③ICMPとHTTPSとSSHを受信可能にするルールを追加。outbound rulesはデフォルトで全許可になっているのでこのままでok。画面右下のcreate security groupへ。

④作成完了。

⑤同じ要領でport2用のSGも作成します。
Security group nameに任意の名前を入力。今回作成するものは送受信全許可なので、色々なところで適用させる予定です。
そのためyk_SG_FGVM1_port2という名前にはせずyk_SG_allpermitにしました。
Descriptionもallpermit。
VPCはyk_vpc_172.26.0.0/16を選択。
Inbound rulesも編集して全許可にして作成しました。

⑥作成後のSGの一覧画面です。
前回のwindows VM構築時と同様、作成直後のSGの場合、Security group name欄は入力されていますが、Name欄は空白になっています。
そのため赤枠のとおり、Name欄に手動で名前を入力しておきます。

port1用とport2用のNetwork Interfaceを作成

![]() |
続いて上図の赤枠部分のPort1とPort2用のNW interfaceを作成します。作成したものは後ほどFGVMに組み込む予定です。 |
![]() |
ん?VM構築時にPortも作成するのではなく、予めパーツを作成しておくんですね。こうするしかないのでしょうか? |
![]() |
いや、VM構築時にPortを作成することもできることはできるんだ。 ただ今回のように1つのVMに複数のNW interfaceを組み込む場合は、前回windows VMを建てたときのような動的GIP(Global IP address)を割り当てることができないんだ。そうなると固定GIP(AWSではElastic IPという呼称)を割り当てる必要がある。で、そのあたりを設定するにあたっては、先にNW interfaceを作成しておく方が個人的にはわかりやすいのでそうしているんだ。正直、好みもあると思うのでどちらでもいいとは思います。 |
![]() |
なるほど・・・。固定GIPって動的GIPよりも高いんですよね? |
![]() |
そうだね。動的でも固定でも1時間あたりの使用料は変わらないけど、動的はVM起動中のみ課金なのに対して、固定だと起動中も停止中も課金されてしまう。 |
![]() |
VM停止中でもそのIPを確保しているわけだから、課金されてしまうのはしょうがないのかもですね。 |
![]() |
そうだね。1ヵ月の使用料は4$くらい(600円くらい)。個人的にはわりと大きいと思う額なので、複数interface利用時でも動的IPを使えるようにAWSが改善してくれることを期待しています。ということで手順へ。 |
①Port1用のNetwork interfaceを作成します。
EC2のダッシュボードを開き、左メニューのNetwork Interfaces → 右上のCreate network interfaceの順に進む。

②Descriptionにyk_NWIF_YK_FGVM1_port1と入力。
subnetはport1が所属する予定のsubnet-010fd~(yk_sub_172.26.1.0/24)を選択。
Private IPv4 addressはCustomを選択し、IPv4 addressに172.26.1.240を入力。
Security groupは先程作成しておいたyk_SG_FGVM1_port1を選択。
右下のCreate network interfaceをクリック。

③作成完了。NW interfaceも作成直後はNameが空白になっているので、赤枠のとおり自分で入力しておきます。

④赤枠のようにチェックを入れ、右上のActionsからChange source/dest checkへ。

⑤デフォルトだと赤枠のところにチェックが入っているため、それを外してSaveをクリック。(理由は後述)

⑥port2用のNWIFの作成します。Descriptionにyk_NWIF_YK_FGVM1_port2と入力。
subnetはport2が所属する予定のsubnet-08c68~(yk_sub_172.26.2.0/24)を選択。
Private IPv4 addressはCustomを選択し、IPv4 addressに172.26.2.240を入力。
Security groupはyk_SG_allpermitを選択。
右下のCreate network interfaceをクリックして作成。
あとの手順は割愛しますが、port1用と同様に、作成後はName欄に名前を入力し、source/destのチェックも外しておきます。

![]() |
source/destのチェックを外すとどうなるのですか? |
![]() |
チェックを外すと、そのNW interfaceをパケットが通過することができるようになるんだ。 チェックが入っている状態だと下図のように、NW interfaceのIPアドレス自体が宛先や送信元になっている通信はOKだけど、赤矢印のようにNW interface上を通過するパケットは通信NGになっているんだ。けれど先程のチェックを外すとそれが可能になるんだ。 |
■チェックを外す前

■チェックを外した後

![]() |
なるほどですね。これもなかなかの罠ですね・・・。 |
![]() |
そうだね。なかなかの罠だと思う・・・。 |
固定GIP(Elastic IP)を取得しPort1に紐づけ

![]() |
続いて、固定GIP(Global IP address)を取得して先程作成したPort1用のNW interfaceに紐づけます。 AWSではこの固定GIPのことをElastic IPといいます。 |
![]() |
Port1用のNW interfaceの実IPは172.26.1.240/24ですよね。GIPを紐づけることでインターネットからはGIPでアクセスできるようになるってことですよね。 |
![]() |
そうだね。IGW(Internet GateWay)がGIPとPIP(Private IP address)を相互にNATしてくれるようになります。 |
①EC2 dashboardの左メニューのElastic IPs → 右上のAllocate Elastic IP addressの順に進む。

②そのまま右下のAllocateをクリック。

③成功画面が表示されます。Name欄が空白になっているので、任意の名前を入力しておきます。今回はyk_EIP_YK_FGVM1_port1と入力。
NW interfaceに紐づけるため、右上のActionsからAssociate Elastic IP addressへ。

④Resource typeはNetwork interfaceを選択。
Network Interfaceはeni-00019~(yk_NWIF_YK_FGVM1_port1)を選択。
Private IP addressは172.26.1.240を選択。そしたら右下のAssociateへ。

⑤成功画面が表示されました。

FGVM作成

![]() |
さていよいよ上図の赤枠部分のFGVMを作成します。 |
![]() |
ふう~。ここまで長かったなあ。いよいよか、なんかドキドキしますね! |
![]() |
そうだね。私も最初に建てた時は「おお~」って思ったなあ。 |
①EC2のdashboardの左メニューのInstances→ 右上のLaunch instanceの順に進む。

③NameにYK_FGVM1と入力。Application and OS Imagesにfortigateと入力しenter。

④AWS Marketplace AMIsのタブを開き、Fortinet Fortigate VM Next-Generation Firewallの右側のSelectへ。
※一覧の中に、「Fortinet FortiGate (BYOL) Next-Generation Firewall」というものも並んでいますが、こちらは別物です。
BYOLはBring Your Own Lisenceの略で、ライセンスを自分で購入して持ち込む必要があります。
長期間起動しつづけるならBYOLのほうが安く有利ですが、そうでない場合は選ばないようにしましょう。

⑤Subscribe and launchをクリック。

⑥元の画面に戻る。赤枠のとおりFortigate-VMが選択されている。

⑦Instance typeはc6in.xlargeを選択。というよりも赤線のとおりデフォルトでこれが推奨になっています。
メモリ8GB以上を個人的にも推奨したいと思いますのでこのinstanceでよいかと思います。
尚、c6in.xlargeのリソース使用料は2枚目の図のとおり1.02$/hです。高いですが8GB以上の中では最安クラスですので仕方ない・・・。
Key pairは前回のwindows VM同様、yk_osaka_keyを選択。


⑧Network settingsのeditをクリック。

⑨VPCはyk_vpc_172.26.0.0/16を選択。
subnetはyk_sub_172.26.1.0/24を選択。
Firewall(security groups)はSelect existing security groupを選択。
Advanced network configurationを開き、Network interfaceからeni-00019~(yk_NWIF_YK_FGVM1_port1)を選択。

⑩port2用のNW interfaceを追加するため、Add network interfaceをクリック。

⑪SubnetはSelectを選択。Network interfaceはeni-06051~(yk_NWIF_YK_FGVM1_port2)を選択。

⑫右下のLaunch Instanceをクリック。

⑬Successと表示されVMが無事構築されました。赤枠のinstance IDをクリックすると詳細を確認可能です。

動作確認

![]() |
それでは動作確認をしていこうと思います。まずは上図の通り、PC1からFGVMへの管理アクセス(https、ssh、ping)から。 |
■PC1 → FGVM1 https
①PC1のブラウザにhttps://15.152.208.186を入力してアクセス。証明書の警告画面が表示されますが無視して進むと下図が表示。
usernameがadmin。passwordはinstance-idでログインするよう記載されています。

②usernameはadmin。passwordはinstance-idを入力しLogin。

③PW変更を求められるので任意のPWに変更します。

④再度ログイン画面が表示されたため、新しいPWを使ってログインを試行。いくつかの質問にも順当に答えていった結果、ついに下図の通りGUI画面が表示されました。

■PC1 → FGVM1 ssh
①teratermでsshを試行。usernameとpasswordを入力しOKへ。

②無事ssh接続できました。

■PC1 → FGVM1 ping
Pingも成功

![]() |
全部成功ですね。 |
![]() |
そうだね。では次にFGVM ⇔ winsv1間のPingを。 |
■FGVM1 → winsv1 PingOK

■winsv1 → FGVM1 PingOK

![]() |
こちらも成功ですね。 |
![]() |
そうだね。それでは今回はここまで。ここまで見てくれてありがとうございました。 次回はwindows VMをもう1台建てて、FGVM越しにインターネット通信をしたりしようと思います。 |

