はじめに
AWSには12か月間の無料枠があります。今回は無料枠を活用して、AWSのVPCと自宅ネットワークをIPsec VPNで接続し、自宅からAWSのVPC内に設置されたEC2インスタンスへ接続することを実施します。
ただし、AWSでVPN接続を利用することは無料枠の対象外となりますので、実践される方は費用が発生することを認識したうえで実施するようお願いします。費用感としては、東京リージョンの場合はサイト間 VPN 接続1時間ごとに 0.048 USDです。また、VPN接続を利用した通信のデータ転送料も追加で発生するようです。

また、無料枠といってもインスタンスを起動させたままにしてしまうと無料期間終了後に費用が発生することになるようなので、一通り遊び終わったらAWS上で作成したインスタンスは停止または削除するか、AWSのアカウントを削除することを忘れないようにしてください。
参考までに、AWSの無料枠でできること一覧については以下ページをご確認ください。

構築するネットワークの構成
以下のようなネットワークを構築します。
環境は以下の通りです。
- 自宅側インターネット環境
- WiMax (NAT機能あり)
- あらかじめグローバルIPを取得しておく
- WiMax (NAT機能あり)
- 自宅側VPNルータ
- WiMax配下に設置
- 機種:FortiGate 60E
- ファームウェアバージョン v6.0.6
- NATトラバーサル利用
IPsec VPNの構築
AWS側の環境構築
AWS側で設定する項目は以下の通りです。
- AWSアカウントの作成
- リージョンの選択
- VPCの作成
- サブネットの作成
- カスタマーゲートウェイの作成
- 仮想プライベートゲートウェイの作成
- VPN接続の作成
- ルートテーブルの編集
- EC2インスタンスの起動
項目が多いように見えますが、一つ一つの設定はすぐ終わるので安心してください。
AWSアカウントの作成
AWSアカウントの作成は以下ページから実施できます。
作成手順については以下の公式ページに説明がありますので参考にしつつ作成してください。

アカウントが作成できたらAWSマネジメントコンソールにログインしてください。
リージョンの選択
まずはリージョンを選択します。
リージョンとは、AWSのサーバが設置されているデータセンターのロケーションと考えておけば良いと思います。詳しくは以下を参照下さい。
以下の画像の通り選択し、リージョンを「アジアパシフィック (東京)」としてください。
VPCの作成
次にVPCを作成します。
VPCとは Virtual Private Cloud の略で、AWS上の自分用のプライベートネットワークと考えておけばよいと思います。詳しくは以下を参照ください。
まずは、コンソール画面から以下のようにVPCを選択します。
続いて以下のように「VPCの作成」を選択します。
VPCの作成画面になりますので以下のように各項目を指定し「作成」をクリックします。
以下の画面となります。「閉じる」をクリックします。
VPCが作成できていることを確認します。
サブネットの作成
続いてVPCを細分化するサブネットを作成します。
今回はVPC 10.0.0.0/16 の中にEC2インスタンス用のサブネット 10.0.1.0/24 を作成します。
コンソール画面で以下のように「サブネットの作成」を選択します。
サブネットの作成画面となりますので、以下のように指定し「作成」をクリックします。
以下の画面となります。「閉じる」をクリックします。
サブネットが作成できていることを確認します。
カスタマーゲートウェイの作成
カスタマーゲートウェイを作成します。
カスタマーゲートウェイとは、リモート側のVPNルータの情報と考えておけばよいと思います。
詳細は以下を参照ください。
コンソール画面で以下のように「カスタマーゲートウェイの作成」を選択します。
カスタマーゲートウェイの作成画面となりますので、以下のように指定し「カスタマーゲートウェイの作成」をクリックします。
以下の画面となります。「閉じる」をクリックします。
カスタマーゲートウェイが作成できていることを確認します。
仮想プライベートゲートウェイの作成
続いて仮想プライベートゲートウェイを作成します。
仮想プライベートゲートウェイとは、VPC側のVPNルータのようなものと考えておけばよいと思います。
以下のページが参考になると思います。
コンソール画面で以下のように「仮想プライベートゲートウェイの作成」を選択します。
仮想プライベートゲートウェイの作成画面となりますので、以下のように指定し「仮想プライベートゲートウェイの作成」をクリックします。
以下の画面となります。「閉じる」をクリックします。
仮想プライベートゲートウェイが作成できていることを確認します。
作成した仮想プライベートゲートウェイはどのVPCにも関連付いていない状態となっています。
そのため、作成した仮想プライベートゲートウェイを上で作成したVPCに関連付ける(アタッチ)設定をします。
リストの中の作成した仮想プライベートゲートウェイ上で右クリックし「VPCにアタッチ」を選択します。
VPCにアタッチの画面となります。以下のように選択し「はい、アタッチします」を選択します。
仮想プライベートゲートウェイをVPCにアタッチできたことを確認します。
VPN接続の作成
続いてVPN接続を作成します。
上で作成したカスタマーゲートウェイと仮想プライベートゲートウェイを材料にして作成されるのがVPN接続となります。
コンソール画面で以下のように「VPN接続の作成」を選択します。
※以下の設定後VPN接続の費用が発生しますのでご注意ください
VPN接続の作成画面となりますので、以下のように指定し「VPN接続の作成」をクリックします。
以下の画面となります。「閉じる」をクリックします。
VPN接続が作成されたことを確認します。以下画面でグローバルIPなどが確認できます。
対象のVPN接続を選択した状態で「設定のダウンロード」をクリックすると、対向VPNルータ(リモート側ルータ)に設定する必要のあるコンフィグファイルをダウンロードすることができます。
ただし、環境によってはダウンロードしたコンフィグそのままではVPN接続できない場合がありますので注意してください。
ルートテーブルの編集
VPN接続を介してリモートネットワークに接続するためのルートテーブルの編集を行います。
ルートテーブルとは、ルータのルーティングテーブルのようなものです。
詳細は以下ページを参照してください。
コンソール画面で以下のように「ルートの編集」を選択します。
ルートの編集画面となるので、以下のように設定し「ルートの保存」をクリックしてください。
以下の画面となりますので、「閉じる」をクリックします。
EC2インスタンスの起動
VPN接続時の通信試験で使用するEC2インスタンス(仮想マシン)を起動させます。
コンソール画面にて以下のようにEC2を選択します。
EC2の管理画面になりますので、以下のように「インスタンスの作成」を選択します。
以下のようにインスタンスウィザードが表示されます。画像の通り複数のOSが用意されていて、無料枠でも主要なOSが選択できます。
今回はpingで疎通確認するだけなのでとりあえず一番上のAmazon Linuxを選択します。
続いてインスタンスタイプの選択ですが、無料枠では選択の余地はないためそのまま次のステップに進みます。
続いてインスタンスの詳細設定となります。以下の通り設定し次のステップに進みます。
続いてストレージの追加となりますが、そのまま次のステップへ進みます。
続いてタグの追加となります。適当にキーと値を追加しておきます。
続いてセキュリティグループの設定となります。
セキュリティグループとはファイアウォールのポリシーみたいなものと考えればよいと思います。
ここでは以下の通りセキュリティグループを新規作成します。
最後に確認画面となります。問題なければ「起動」をクリックします。
以下のSSH用のキーペア作成の画面になります。
EC2インスタンスにSSH接続する際に必要なキーペアとなりますので、ダウンロードして無くさないように保管しておきます。キーペアをダウンロードしたら「インスタンスの作成」をクリックします。
以下の画面となりますので、「インスタンスの表示」をクリックします。
EC2インスタンス画面で作成したインスタンスのプライベートIPを確認してください。
以上でAWS側の環境構築は完了です。
自宅側の環境構築
続いて自宅側のVPNルータ(FortiGate 60E)の設定をしていきます。
AWSのVPN接続の画面からダウンロードしたコンフィグファイルを参考に設定していきます。
一部環境に合わせて設定を調整しました。
以下、トンネル1用の設定のみ掲載します。トンネル2用も同様に設定すればOKです。
IPsecトンネルの作成
以下の画像の通り設定します。
インターフェースの設定
以下の画像の通り設定します。
スタティックルートの設定
以下の画像の通り設定します。
ポリシーの設定
以下の画像の通り設定します。
AWS01がトンネルインターフェース、VLAN10が内部用のインターフェースです。
※送信元、送信先、サービスは厳密に設定したほうが良いのですが、今回はVPN接続の試験が目的なのでとりあえずALLにしています
IPsecトンネルのステータス確認
以下画面でステータスがアップになっていることを確認します。
AWS側でもステータス確認します。アップになっていることが確認できます。
EC2インスタンスとの疎通試験
自宅のクライアントPC (10.1.10.4) からVPC内のEC2インスタンス (10.0.1.129) へ ping が通ることを確認します。
ちなみに tracert の結果は以下の通りです。
おわりに
AWS 側の使用しなくなった VPC 各リソースの削除、EC2 インスタンスの停止、VPN 接続の削除を忘れずに!
おまけ
AWSの課金に関する良い記事をQiitaで見つけたためリンクを貼っておきます。

―――――――――――――――――
FortiGate 学習ロードマップ <<完>>
―――――――――――――――――