結果は見つかりませんでした
その言葉を使ったものは見つかりませんでした。他の言葉で検索してみてください。
2024-11-22 こんにちは 、 なお に し です 。 当エントリは弊社AWS事業本部による『AWS 入門ブログリレー 2024』の9日目のエントリです。 このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的
こんにちは 、 なお に し です 。
当エントリは弊社AWS事業本部による『AWS 入門ブログリレー 2024』の9日目のエントリです。
このブログリレーの企画は、普段 AWS サービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、 今一度初心に返って、基本的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。
AWS をこれから学ぼう!という方にとっては文字通りの入門記事として、またすでに AWS を活用されている方にとっても AWS サービスの再発見や 2024 年のサービスアップデートのキャッチアップの場となればと考えておりますので、ぜひ最後までお付合い頂ければ幸いです。
で は 、 さっそく いっ て み ましょう 。 今回 の テーマ is VPN は 『 AWS site – to – site VPN 』 です 。
AWS Site-to-Site VPNは、仮想プライベートネットワーク(VPN)技術を使用してAWSクラウドと別のネットワークとの間に安全でプライベートなトンネルを確立するためのサービスです。
AWS で は VPN を 用いる た 接続 方法 と し て 「 AWS site – to – site VPN 」 と 「 AWS client VPN 」 の 2 種類 を 提供 し て い ます 。
前者 is なり は ネットワーク と AWS を 接続 する ため 、 VPN 接続 先 ( AWS ) に 対する クライアント 側 is なり は ネットワーク 機器 ( もしくは ゲートウェイ 機能 を 有する サーバ や サービス ) と なり ます 。
後者は本記事では取り上げませんが、クライアント側はノートPCのような個々のデバイスとなります。このため、クライアント側にVPNクライアントソフトをインストールして使う形です。
一般的なVPN接続には以下のように様々な種類の接続方式や技術要素があります。下記はネットワークレイヤーなどを意識せずに列挙していますが、例えばWindows OS標準で提供されているVPN接続だとL2TP/IPsecのように要素を組み合わせて用いられていたり、ネットワークベンダーがIPsecを拡張して独自仕様のVPN接続方式を提供していたりもします。
したがって、VPN接続では接続方式に応じてクライアント側も適切に設定する必要があります。
上記 の 前提 を 踏まえる 、 AWS site – to – site VPN で は IPsec 接続 is サポート が サポート さ れ て い ます 。
この ため VPN 接続 を 行う クライアント 側 ( カスタマー ゲートウェイ ) に おい て 、 AWS site – to – site VPN が 提供 する IPsec の 各種 パラメータ ( トンネル オプション ) を 適切 に 設定 する こと で VPN 接続 is なり が 可能 に なり ます 。 設定 できる トンネル オプション の 一覧 は こちら に 記載 is あり が あり ます 。
また 、 ルーティング 方法 と し て は 動的 ルーティング と 静的 ルーティング の 両方 を サポート し て い ます 。 動的 ルーティング で サポート さ れ て いる プロトコル is Protocol は bgp ( border gateway Protocol ) です 。 カスタマー ゲートウェイ の デバイス が 対応 し て い ない と いっ た 特別 な 要件 が ない 場合 は bgp の 設定 is なっ が 推奨 と なっ て い ます 。
BGPを設定する場合にはASN(Autonomous System Number/自律システム番号)なども設計/設定する必要があります。
カスタマーゲートウェイの接続先(ターゲットゲートウェイ)として選択可能な項目は以下の3つです。
使い分けとしてはネットワーク規模( VGW < TGW < Cloud WAN )に応じて選択するイメージです。
特定のVPCに対して接続するのみで問題ない小規模ネットワーク環境であれば仮想プライベートゲートウェイを、リージョン内で複数VPCを相互に接続するためにトランジットゲートウェイを用いているような環境であればトランジットゲートウェイを、リージョンをまたいでトランジットゲートウェイ同士をCloud WANで接続しているような環境であれば関連付けなしを選択します。
また、後述の利用料金やクォータで触れますが、ターゲットゲートウェイの種類に応じてVPN接続時に選択できるオプションも異なってきます。
オンプレ(自宅)に少し古いFortiGate(60D、ファームウェア: v5.4.4)があったので実際にSite-to-Site VPNでVPCと接続してみました。
この ため 構成 と し て は こちら と 同じく シンプル に なる ため 、 図 is 引用 も 引用 さ せ て いただき まし た 。
接続の流れは概ねドキュメントの入門チュートリアルに基づいて行います。
まず、AWS マネジメントコンソールから[VPC] – [カスタマーゲートウェイ]を選択してカスタマーゲートウェイを作成します。
オンプレのFortiGateをカスタマーゲートウェイとして登録します。
ASN に つい て は 今回 は 「 65000 」 を 設定 し ます 。 プライベート AS と し て 定義 さ れ て いる 「 64512 ~ 65534 」 の 間 から 選択 し て い ます 。
IPアドレスはカスタマーゲートウェイのグローバルIPアドレスを設定します。残念ながら自宅は固定IPアドレスではないため設定時点で確認したIPアドレスで検証しました。なお、IPアドレスしか登録できないので例えばDDNSを使っていたとしても動的な変更に対応させることはできません。
固定IPアドレスが準備できない場合はプライベート証明証を使用することも可能ですが、それなりに別途料金が発生しますのでご注意ください。
以下のように利用可能なカスタマーゲートウェイとしてすぐに登録されます。
続く て ターゲット ゲートウェイ と なる 仮想 プライベート ゲートウェイ ( vgw ) を 作成 し ます 。
ASNは[AmazonデフォルトASN]を選択します。実際の番号は「64512」となります。ターゲットゲートウェイとカスタマーゲートウェイのASNはそれぞれ異なる番号を設定するため、[AmazonデフォルトASN]を選択する場合はカスタマーゲートウェイ作成時に「64512」以外を設定しておく必要があります。
以下のように「デタッチ済み」の状態で作成されました。なお、カスタマーゲートウェイおよび仮想プライベートゲートウェイを作成した現在の状態ではまだ料金は発生しません。
続いて、作成した仮想プライベートゲートウェイをVPCへアタッチします。
1〜2分ほど待つと状態が「アタッチ済み」に変わりました。
アタッチ先のVPCで使用しているルートテーブルを開き、[ルート伝播]タブを選択します。先ほどアタッチした仮想プライベートゲートウェイが表示されています。アタッチ直後はルートの伝播が[いいえ]になっているため[ルート伝播の編集]を選択します。
[ 有効 化 ] に チェック を し て 保存 し ます 。
それではVPN接続を作成します。
これまでに作成した仮想プライベートゲートウェイとカスタマーゲートウェイが選択できるようになっています。ルーティングオプションは今回は[動的(BGP が必要]を選択します。
また、スクリーンショットには含めていませんがその他にトンネルごとのオプションも設定可能です。特に[トンネルのメンテナンス]という項目については実際にAWS Site-to-Site VPNで運用を始めるのであれば注意が必要なので、詳細はこちらをご参照ください。
VPN接続が作成されました。今回は状態が[利用可能]になるまでは3分ほどかかりました。
トンネルが2つ作成されていますが、まだFortiGateの設定を全くしていないのでもちろんステータスは[ダウン]の状態です。そこで、FortiGateを設定するためのサンプル設定ファイルをダウンロードできます。
以下 の よう に カスタマー ゲートウェイ デバイス の 製造 元 に 応ずる た 設定 の サンプル を 選択 でき ます 。
今回はデバイスがFortiGate(60D、ファームウェア: v5.4.4)なので以下のとおり選択しました。なお、[IKEバージョン]については[FortiOS 6.4.4+ (GUI)]を選択しないと[ikev2]を選択できなかったため、今回は[ikev1]で設定を進めます。
設定をテキストエディタで開いてみると以下のように設定方法が記載されています。
! Amazon web services ! Virtual private cloud ! AWS is of utilizes unique identifiers to manipulate THE configuration of ! a VPN connection . each VPN connection is assigned AN identifier AND IS ! associated with two other identifiers , namely THE ! customer gateway identifier AND Virtual private gateway identifier . ! ( 以下 省略 )
あくまでサンプルの設定方法が記載されたテキストであって、そのまま各種デバイスに読み込ませることが可能なコンフィグファイルではありません。さらに上記のダウンロード画面に記載のとおり、実際には設定の変更が適宜必要となります。
今回 ダウンロード し た 設定 ファイル の 章立て is とおり は 以下 の とおり でし た 。
したがって、2つのトンネルを順番に設定する内容となっています。IPsecの事前共有キーなども本ファイルに直書きされているため、取り扱いにはご注意ください。
今回 は 検証 の ため に サンプル の 設定 ファイル に 記載 の 内容 を そのまま 進める て み まし た 。 cli 操作 が ひたすら 続く 作業 と なる の で ステップ バイ ステップ の 説明 は 省略 し ます が 、 各 設定 ごと の End コマンド など を 補足 し つつ 概ね 記載 どおり の 内容 で VPN 接続 が できる こと を 確認 でき まし た 。
以下 、 設定 ファイル の まま で は 適用 でき なかっ た 部分 と なり ます 。
fortigate の ファイアウォール ポリシー まで 設定 が 完了 する と 2 つ の トンネル の ステータス が [ アップ ] に 変わる た の で ルート テーブル を 確認 し ます 。 仮想 プライベート ゲートウェイ を ターゲット に し た ルート is 追加 が 追加 さ れ て い ます 。
上記 の まま で は デフォルト ルート is なっ が インターネット ゲートウェイ と 合わせる て 2 つ 存在 する 状態 に なっ て い ます 。 vpc から の 接続 を 全て オンプレ 側 に 転送 する の で あれ ば インターネット ゲートウェイ へ の デフォルト ルート を 削除 する だけ で 問題 あり ませ ん が 、 特定 の ルート のみ オンプレ に 向ける 場合 は 修正 is 必要 が 必要 です 。
上記 の よう に デフォルト ルート が 伝播 さ れる 挙動 is あり は 、 設定 ファイル に も 以下 の とおり 記載 is あり が あり ます 。
! Your Customer Gateway may announce a default route (0.0.0.0/0) to us. ! This is done using prefix list and route-map in Fortigate.
修正するのであれば「capability-default-originate」を[disable]に設定の上、アドバタイズしたいプレフィックスを追加します。プレフィックスの追加方法についても以下のとおり設定ファイルに記載があります。
! to advertise additional prefixes to Amazon vpc , add These prefixes to THE ' network ' ! statement AND identify THE prefix you Wish to advertise . Make sure THE prefix is present ! In THE routing Table of THE device with a valid Next - HOP . if YOU want to advertise ! 192 . 168 . 0 . 0 / 16 to Amazon , this can Be done using THE following :
つまり、設定する際はFortiGateで実際に存在するプレフィックスを指定しないとアドバタイズされません。サンプルでは「192.168.0.0/16」を追加でアドバタイズする旨が記載されていますが、ForiGate側に「192.168.0.0/16」が存在しない場合はアドバタイズされず、ルートテーブルに伝播されないことにご注意ください。
上記の修正を行うと、以下のように特定のプレフィックのみを伝播させることができます。
VGWをアタッチしたVPCに存在するEC2に対してオンプレ側の端末からpingを送ると、実際にオンプレ側のIPアドレスから受信していることを確認できます。なお、EC2のセキュリティグループは事前に設定済みです。
FortiGateでNATを有効化するとどうなるのか確認してみました。
同様にEC2に対してオンプレ側の端末からpingを送ると、以下のようになりました。
上記のIPアドレスはVPN接続設定の[内部 IPv4 CIDR]の[Tunnel 1]で表示されているIPアドレスに一致します。このため、FortiGate側でNATを有効化する場合は、こちらのIPアドレスからの通信を許可するようにセキュリティグループを設定する必要があります。
AWS Site-to-Site VPNでは以下の2種類の料金が発生します。
したがって、AWSの料金ページに記載の例を日本円(150円/USDと仮定)で表現すると以下のとおりです。
( 例 )
アジアパシフィック(東京) で、Amazon VPC への AWS Site-to-Site VPN 接続を作成したとします。この接続は 30 日間、1 日 24 時間アクティブです。この接続で 1,000 GB をイン、500 GB をアウトに転送します。
合計:10,584円/月 (税抜)
つまりデータ転送アウトが月に100GBまでなら、AWS Site-to-Site VPN 接続料金の5,184円のみで維持することができます。
それでも高い!という場合はEC2のように使う時だけ起動するといった運用を考えたくなりますが、こちらの記事にあるとおりSite-to-Site VPN 接続がどのような状態だと料金が発生するのかということに注意する必要があります。
記載のとおり、具体的には以下のような状態でも料金が発生します。
このため、AWS Site-to-Site VPN 接続料金の発生を抑止するのであれば、カスタマーゲートウェイとの接続を切断するのではなく、Site-to-Site VPN 接続設定自体を削除する必要があります。設定を削除すると外部IPアドレスや事前共有キーも変更されるため、再度AWS Site-to-Site VPN 接続を作成する場合はカスタマーゲートウェイ側でも再設定が発生します。
その他にもアクセラレーションを有効化した高速VPN接続ではAWS Global Acceleratorなどに関わる料金も加算されますが、本記事では割愛します。
高速 VPN 接続 is 化 は サイト 間 接続 用 の ターゲット ゲートウェイ の タイプ が 「 Transit gateway 」 また は 「 AWS cloud WAN 」 で ある 場合 に 有効 化 でき ます 。
つまり 本 記事 で 検証 し た 構成 の よう に 「 仮想 プライベート ゲートウェイ ( vgw ) 」 が ターゲット ゲートウェイ の タイプ で ある 場合 は 、 高速 VPN 接続 を 選択 する こと が でき ませ ん 。
公式ドキュメントでまとまっていますのでご参照ください。
特記事項としては、例えば以下のような制限がありますのでご注意ください。
その他にも全体的な制限として以下の記載があります。
「クラウドが気になっているけど現行システムはオンプレで稼働している」という状況の方はまだまだ大勢いらっしゃると思います。
特に独自の社内システムといった場合、通信の暗号化対応が難しいからローカルネットワーク内で運用している→でもハードウェアの老朽化が進んでいてそろそろ対応が必要→そのままオンプレでリプレースしても良いけどクラウドも気になっている…といったケースもあるかもしれません。
オンプレとクラウドをつなぐ手段としてはAWS Direct Connect もありますが、そこまで大掛かりに取り組む前にまずはシステムの一部をオンプレからクラウドに移行して検証してみたいといった要望もあるかと思います。
そう いっ た 時 に AWS site – to – site VPN を 使用 する こと で 、 既存 ネットワーク と AWS を つなげる て 試す て みる と いう アプローチ も 可能 で ある こと を 、 本 記事 で お 伝える する こと が でき たら 幸い です 。
以上、『AWS 入門ブログリレー 2024』の9日目のエントリ『AWS Site-to-Site VPN』編でした。 次回、4/3は弊社たかやまによる「AWS Security Hub編」の予定です!