LoginSignup
1
2

More than 1 year has passed since last update.

AWS Site To Site VPN

Posted at

背景・概要

VPNは、ハンズオンの機会が少ないため、Black Beltから知識をインプットする。

内容

オンプレからAWSに接続する種類

image.png

以下の3種類がある。

  • Client VPN
  • Site-to-Site VPN
    •  VGW(Virtual Private Gateway)に接続する。
      •  VGWは、冗長化済み
    •  オンプレから特定のVPCイン接続する。
    •  ユーザ側はCGW(Customer Private Gate)に接続する。
  • Direct Connect
    • TGW(Transit Gateway)に接続する。
      • TGWは、冗長化
    • 複数のVPCに接続できる。

Site-to-Site VPNとは?

  • CGWとTGW or VGW間は、インターネット接続でIPsecにより暗号化
  • IPSec対応ルーターと固定Public IPで用意に構築可能(事前共有キーによる認証方式)
  • TGWとVGWの使い所
    • 用途により使い分ける。
      • VGWは一つのVPCとつなぐ
      • TGWは複数のVPCとつなぐ
        • VPNの料金の他にTGWの料金が発生 ## VPNの設定
  • CGWの準備
  • CGW
    • インターネットルーティングが可能な固定のIPアドレスにリソース名を定義する。AWSに登録する
      • 証明書による認証の場合、固定IPは不要
  • ルーティングのタイプ
    • 静的or動的が選択可能。デバイスが対応しているのであれば、動的(BGP)を推奨
    • BGPの設計時に拠点ごとにユニークなASNを用意すること。
  • ターゲットゲートウェイ
    • AWS側の仮想ゲートウェイを指す。
    • VGW or TGWを予め作成し、VPCと関連付けしておくこと。
    • ASNはCGWとは異なる値を設定すること

ルーティングタイプについて

  • 基本的に動的を選ぶ。CGWデバイスが非対応な場合のみ、静的を利用する。
  • VPCのサブネットのルートテーブルのルート伝搬を有効化する。
  • 動的(BGP)にするメリット
    • 2つのトンネル間で冗長性が高まる。片方利用できな場合、スムーズな切り替えが可能になる。
    • オンプレミスとVPCのCIDR増減時に、自動的に対応できる。

認証タイプについて

  • 固定パブリックIPアドレスを用意する。事前共有キー(Pre-shared keys)を方式を推奨。
  • 非固定のパブリックIPアドレスが用意できない場合、プライベート証明書による認証を検討する。
    • CGW側で対応を確認する。
      • 事前共有キーは多くのベンダーが対応している。
      • プライベート証明書は予め確認が必要。
  • 拠点の移転などで固定パブリックIPが変更になる場合、VPN接続の作り直しは不要。
    • ただし、ユーザ側のルーターの設定は必要

MTUについて

  • 最大送信単位を指す。
  • Site-to-Site VPNでは、パスMTG検出(Path MTU Discovery)に対応してない。予めEnd-to-Endでパケットサイズが1399以下になるように、ホストとNW機器のMTU設定を行うこと。

VGWとTGWについて

  • どちらが良いか?
    • 主に通信対象のVPCの数で判断だが、利用機能などで総合的に検討する。
ターゲットゲートウェイ 構成 柔軟さ 備考
VGW シンプル
関連リソースが少なく設定が容易。
VPC毎に個別の環境を用意する場合に向いている。
1つのVPCに接続し、選択肢が少ない。
TGW 大規模 複数のルーティングテーブルを使いわけ、柔軟なルーティング設計が可能。

TGWのメリット

  1. 複数のVPCに接続可能
    • VPC内のTGW ENIにアタッチメントすることで複数のVPCに接続ポイントを設けることができる。
  2. 柔軟なルート設計
    • VPCごとに参照するルートテーブルを変える事が可能。
    • 例)
      • IGWを含むVPCを用意することでFW機能を集約できる。
  3. 複数のVPNによるAct-Act通信

    • 複数のVPN接続を束ねることが可能。
    • Equal Cost Multi Path(ECMP)を利用して帯域を増やすことが可能。
    • 1つのIPsecトンネルあたり、最大1.25Gbpsまで使える。。
    • 更にVPN接続を追加し、最大で50Gbpsまでのバーストを検証済み。
  4. Acceleratedサイト間VPNオプション

    • 通常のVPN接続であれば、インターネットの接続影響を受けやすい。
    • Route53やCloudFrontで利用しているAWS Edge LocationにVPN接続Endpointを配置可能。
      • Edge LocationからRegionまではAWSのグローバルNWを利用でき、安定的な通信が可能になる。

VPN接続の冗長化

VGWの場合

  • 1つのSite-to-Site VPNを作成すると、2つのIPsecトンネルが利用可能。
    • 両方のトンネルをUp状態に保つことが重要。
    • VGWは内部的に、冗長化してある。
    • VPC側もマルチAZ構成にしておくことが重要。
  • CGW(ユーザ側のルーター)も冗長化しSPOFを解消する。
    • 2IPsec * 2VPN接続で合計4つのIPsecトンネルで冗長化
    • 冗長化した場合には、どちらのVPN接続が優先されるのか。
      • AWS→オンプレミス方向
        • AWSアルゴリズムでどちらかが選択される。(Active-Standby)優先度を設定することはできない。
        • ユーザ側のルータで、AS Path PrependMEDを設定することで、どの経路を利用するか制御が可能になる。
      • オンプレミス→AWS方向
        • CGWのMEDによる制御に対応している場合、MED値により各接続ごとに優先させるIPsecトンネルが決定される。
        • MED値が等価の場合に、Act-Actになる。

TGWの場合

  • 1つのVPN接続=2つのIPsecトンネル。(VGWと同じ)
  • TGWから、VPCとのアタッチはAZごとに推奨。
  • ECMPにより複数のVPN接続に分散し高い帯域することが可能
    • TGWでECMPを有効化することで、同じTGWに接続する全てのVPN接続にECMPが有効となる。
    • オンプレ→AWS方向への通信はユーザルータへ適切な設定を行うことで分散される。
    • 非対称ルーティング(行きと帰りのトラフィックが異なる)になる可能性がある。設定によりパケットがドロップする可能性があるため、ルーターの非対称ルーティングの設定が必要。

Direct ConnectとVPNの併用

  • Direct Connect(Dx)のバックアップとしてVPNを利用する場合に使う。2本Dxを用意することが困難な場合に使われることが多い。
  • VPN接続はBGPを利用することが推奨される。
  • AWS→クライアント方向は必ずDxが使割れる。

TGW接続のDx/VPN接続

  • TGWに終端&静的経路を設定した場合は、TGWのルートテーブルにVPN側にも静的経路を設定する必要がある。そのためVPNが優先される。
  • Direct Connectの場合、DxGW→TGW
  • VPNの場合、VPN→TGW

CloudHub

  • 同一のVGW/TGWに接続された動的AWS VPN間でASNをユニークにすることで、折返し通信が可能。
    • オンプレ1→AWS→オンプレ2のように
  • 折り返したくない場合、AS番号(ASN)を同一にするとBGPの特性上、同じAS番号がついているものはルートテーブルに追加しない。

運用

  • VPC>サイト間のVPN接続でトンネルのステータスがアップになっている事がわかる。
    • ステータスの最終変更日や詳細でエラーがいつ、何が起きたかわかる。
  • VPC Reachability Analyzerで到達性が確認できる
  • VPCフローログにより情報をキャプチャできる。
  • ユーザのルーターのログ
    • 時刻同期は設定しておくこと。

用語の整理

  • BGP
  • ASN(AS番号)
  • 事前共有キー
  • MTU
  • ECMP

考察

TBD

参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2