AWSとオンプレミスの「サイト間VPNの設定」です。証明書無しのやり方ですが・・・。オンプレ側ルーターは、シスコのASA5500 Series、手順は次の通りです。IPアドレスは、すべてIPv4アドレスです。上記画像は、VPN接続が成功している状態です。うまくいかないと上記の緑文字の2つのトンネルステータス「アップ」が赤文字で「ダウン」と表示されます。
オンプレミスとVPCのSiteToSiteVPN(BGP)について、シスコのドキュメントは 設定 ASA IPsec VTI 接続アマゾン Web サービス となります。AWSがAWと書かれていたり誤字脱字があります。
AWSの公式ドキュメントは AWS Site-to-Site VPN ユーザーガイド や 開始方法 - AWS Site-to-Site VPN となります。
それでは、早速、はじめていきます。
Certificate ARN無しでやってます。
ASNは重複しない様に気を付けてください。ASN(AS番号:Autonomous System Number)は、
となっています。
パブリックサブネット用とプライベートサブネット用のルートテーブルがある場合など、通信経路を考えて設定してください
※プロジェクトや環境ごとに差があると思いますが、プライベートサブネットのセキュリティグループ設定を「サイト間のVPN接続」ネットワーク内のローカルなIPv4 CIDRの範囲内で必要なプロトコルによる設定などを意識するといいと思います。
オンプレミスのシスコのルーターへの設定をダウンロードします。
ベンダー、プラットフォーム、ソフトウェアは利用するVPNルータに応じて変えてください。
ダウンロードした.txtファイルをシスコのルーターに読み込ませたり、その他にシスコにPPPoEなどの設定をしたりして「サイト間のVPN接続」を開始します。
※吐きだした設定ファイルの記載内容がすべて正しいと決めつけない様にご注意ください。
この状態で(2つのトンネル)ステータスが緑色文字で以下の様に「アップ」になっていればVPNは成功です。
シスコのログを見て何がおきているか?など確認してみてください。
Cisco ASA5500での自動切断回避方法ということで、原則としてAWSのVPNエンドポイント側からVPNを切断することは御座いませんとのことです。
AWSのサイト間VPN接続について、名前解決のわかりやすい回答が、日本語でググってもあまり見当たらなかったです。名前解決のやり方について、現在、正しい方法の記事を作成中です。
ネットワークACLでVPN用の設定を以下を参考にして行ってください。CISベンチマークでは非推奨デスガ、基本的にNetwork ACLはデフォルトでいけます。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/VPC_Scenario3.html#nacl-rules-scenario-3
シスコからAWSへの片道通行プライベートゲートウェイではなく双方向通信のトランジットゲートウェイを使えば解消されるのか?という論点ではないです。
さらに以下のファイヤーウォール設定も確認をしてください。
Configuring a firewall between the internet and your customer gateway device
その他には、VPN接続していないときに、ルートテーブルで該当するものを確認し、送信先とターゲットが以下と同じようになっているか、確認してください。念のためにルート伝搬も有効になっているか確認してください。なお、この2つはパブリックサブネット向けのルートテーブルという想定です。
2のインターネットゲートウェイは基本的にDMZのELB(ALB)だけパブリックサブネットにするようにしてください。他のインスタンスやELBのリソースは1だけでプライベートサブネットにしましょう。
ウェブシステムでをVPN配下で管理画面をSSLで見る/操作したいなどの場合、キャッシュなどが残りやすいので、必ず、ブラウザのシークレットウィンドウで検証する様にしてください。
「サイト間のVPN接続」はデフォルト設定だと60分くらいでタイムアウトします。そのため、検証に死ぬほど時間がかかります。複数の業者さんが連携してテストして、サイト間のVPN接続がうまくいかないと、関係者全員にとって最悪の時間泥棒になります。うまくVPN接続出来ない時は、時短を強くお勧めします。
AWSの「サイト間のVPN接続」は、主に
となっています。検証作業の待ち時間を短くするには、Phase 2を最小設定値15分(900秒)に変えます。Modify VPN Tunnel OptionsのSaveはmodifyに5~10分くらいかかります。トンネル2つ分なので2倍の時間をmodifyに要します。
※操作しにくい画面ですが、2つのトンネル(Tunnel1/Tunnel2)に別々で同じ設定を行う必要があり、この作業自体にもトンネル1個につき5~10分くらいの待ち時間がかかります。
Cisco Internetwork Operating System(IOS)を使う場合は気を付けましょう。
AWSへのVPN接続におけるサンプルコンフィグの注意点:Cisco IOS編
アップの接続中にルートテーブルで、ダウンの切断時にルートテーブルで、それぞれルート伝搬が正しく行われているか?確認してください。