🐼

【AWS/Site-to-Site VPN接続】初心者が構築したときの勉強方法とその備忘録

に公開

どうも!前歯すきっ歯です🦷

今回はSite-to-Site接続を自分で構築したので、
その時の勉強方法や個人的に分かりやすかった資料、学んだことをまとめていきます。

0.はじめに

0-1.前提

本記事では以下の前提で学習した勉強方法をご紹介します。

  • AWS上にクラウド想定、オンプレ想定どちらの環境も作成。(リージョンとVPCは分けます)
  • カスタマーゲートウェイ想定のルーターにVyosを使用します。
  • 両リージョンのクライアントサーバ間で通信の確認が取れることが最終ゴール
    (Pingが双方向で通ればOK)

1.勉強方法(基礎知識収集~構築)

1-1.IPSec、VPN接続の概要

いつぞやは勉強したのですが、VPN接続の原理や各プロトコルの役割って忘れちゃますよね…。おさらいしましょう!この記事は各VPN接続のメリデメが記載されており分かりやすいです!
https://amnimo.com/column/037/

1-2.もう少し深くIPSecの仕組みを知る

実際に構築する時に色々な設定項目が出てくるので、少し難しいですが以下記事でIPSecの仕組みを知ると、設定項目の意味が理解しやすいです。特にトンネル1オプションなどの詳細な設定項目を理解するにあたり非常に勉強になりました!
https://milestone-of-se.nesuke.com/nw-basic/ipsec/ipsec-summary/?utm_source=chatgpt.com

1-3.手を動かす前にBlack Beltを一読

若干古い資料ですが、まだまだこのBlack Beltを活用できそうです!
▼PDF版
https://pages.awscloud.com/rs/112-TZM-766/images/202110_AWS_Black_Belt_Site-to-Site_VPN.pdf
▼動画版
https://youtu.be/RxiARNnP3nM?si=2kX5htxzunyh6h9q

1-4.Site-to-Site接続実践

オンプレ想定の仮想ルーターをAWS上パブリックサブネットに置く想定の勉強方法です!
約3年前の動画なのでUIが若干異なったり、仮想ルーターのバージョンが違いますが、
以下AWS公式のハンズオンの通りに実践するとSite-to-Site接続ができます!
https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Network2-2022-reg-event.html?trk=aws_introduction_page

2.Site-to-Site接続の設定項目に関する知識を理解する

2-1.ASN番号関連

普段サーバ側のエンジニアをしているので、お恥ずかしながらASNについて自信がなく、
色々と調べていて個人的に理解しやすいと感じた記事をご紹介します。

2-1-1.とりあえずpiyopiyoさんに聞いて漠然と知りたい

小難しく言葉で説明されても分からないので、とりあえずpiyopiyoさんに聞いてから詳しく調べるのは自分だけでしょうか…!?
https://wa3.i-3-i.info/word12229.html

2-1-2.AWS上でのASN番号の扱い方

DirectConnectGWやTrangitGWの例があり、理解度が深まった気がします。
https://blog.serverworks.co.jp/tech/2020/07/01/asn-with-dx-transitgateway/

2-1-3.AWSデフォルトのASNは64512

「実際にVGWやCGWをするところで”デフォルト”って書いてあるけどいくつなんだよ!」…と自分は思って調べてしまいました…。
https://docs.aws.amazon.com/ja_jp/vpn/latest/s2svpn/cgw-options.html

2-1-4.Site-to-Site接続における」ASN番号の設計(以下資料P60~P62参照)

先にご紹介した記事の中で、Site-to-Site接続においてASN番号を調整することでルーティングを制御する技の記載もあり、周囲のNWと異なる値を設定するだけではないことを学べました。
https://pages.awscloud.com/rs/112-TZM-766/images/202110_AWS_Black_Belt_Site-to-Site_VPN.pdf

2-1-5.ルーティングオプション 動的(BGPが必要)

ハンズオンではルーティングテーブルでVGWに対して動的な設定を行って、ルーティングテーブルにSite-to-Site接続のNWを自動的に反映させていました。それらがないとどうなるのか分かりやすく解説してくださっています!
https://zenn.dev/nnydtmg/articles/aws-route-propagation

2-2.トンネルのライフサイクル制御とは

実際に行っている様子が以下の記事であり、イメージが湧きやすかったです!
https://dev.classmethod.jp/articles/aws-site-to-site-vpn-lifecycle-control/

2-3.ローカルIpv4ネットワークとリモートIpv4ネットワークのデフォルト値0.0.0.0/0を変えた話。

基本的にデフォルト値で良いのですが、それらを変更するとどうなるか解説してくださっていて、上記項目への理解が深まります。
https://youtu.be/Hap_x1vriAs?feature=shared

3.その他(個人的に気になった記事)

3-1.帯域のクォータが1.25Gbps

意外と帯域を1.25Gbps以上欲しい企業さんはいるのではないかと思い、気になった次第です。
(帯域が気になるならばDirectConnectを使った方が良いということでもありそう。)
https://docs.aws.amazon.com/ja_jp/vpn/latest/s2svpn/vpn-limits.html

3-2.セグメントが重複する拠点をAWS Site-to-Site VPNで接続した例

セグメントが重複する時はオンプレ側でNATする旨がBlackBeltで公式から出ていますが、それを実践してくださっている興味深い記事を発見しました!
https://techblog.ap-com.co.jp/entry/2024/08/26/093000

4.おわりに

何か他にも勉強しやすい資料等あれば、コメントにて教えていただけると助かります!
またの機会に以下記事を参照してAWS⇔AzureのVPN接続をしてみたいなと思っています~。

Discussion