AWS VPCへVPN接続

VPN Basic

VPN接続時に接続先が認識するIPについて

いつもの インターネット

「自分」 -> 「ルータ(IP:xxx.xxx.xxx.xxx)」 -> 「接続先」(お!IP:xxx.xxx.xxx.xxxというやつが接続してきたぞ)

VPNを使ったインターネット パターン1

「自分」 -> 「ルータ(IP:xxx.xxx.xxx.xxx)」 -> 「VPN接続先(IP:yyy.yyy.yyy.yyy)」 -> 「接続先」(お!IP:yyy.yyy.yyy.yyyというやつが接続してきたぞ)

VPNを使ったインターネット パターン2

「自分」 -> 「ルータ(IP:xxx.xxx.xxx.xxx)」 -> 「VPN接続先(IP:yyy.yyy.yyy.yyy)」 -> 「接続先」(お!IP:xxx.xxx.xxx.xxxというやつが接続してきたぞ)

パターン1,2の違いは?

パターン1

  • VPNのIPを使うパターン
  • 以下の設定を入れるとVPNのIPを使う

windowなら

  • TCP/IP詳細設定 -> 「全般」->「リモート ネットワークでデフォルト ゲートウェイを使う」にチェック

macなら

  • VPN設定を作った -> Advanced.. -> Send all traffic over VPN connectionのチェック

パターン2

上の設定でチェックを外す

VPN接続Option

  • AWS ハードウェア VPN
  • AWS Direct Connect
  • AWS VPN CloudHub
  • ソフトウェア VPN

VPCのセキュリティ

3つのfeature

  • セキュリティグループ(Security Group)
  • ネットワークアクセスコントロールリスト (ACLs - Network access control lists)
  • フローフラグ(Flow logs)

instanceとsecurity group

  • instanceを起動するときにsecurity groupに属することになる
  • security groupを指定しないとdefault security groupが自動に割り当てられる。
  • security group以外にACLsでsecond layer of defenseをすることができる

Comparison of Security Gruops and Network ACLs

Security Group Network ACL
Operates at the instance level (first layer of defense) Operates at the subnet level (second layer of defense)
Supports allow rules only Supports allow rules and deny rules

接続イメージ

VPCにVPN Gatewayを追加して外部と接続可能にする

接続に使えうもの

まだ2つの違いがなにかはわからない。

VPNピアリング

  • AWSコンテンツの集約
    • Redshiftなどを複数のVPCからアクセスし1つに集約したいときに使用する。
  • アカウント間の通信
    • AWSアカウントが複数ある場合で通信を行いたい際に使用する。
  • VPNを使用する場合
    • AWSとVPNを使用する際には、同一IPで2つのVPNを作成できない制約があります。
    • VPCピアリングと踏み台サーバを利用することでVPN経由でSSHなどを使用することができます。
    • ※踏み台を挟まないとVPCを跨いで直接通信することはできない。

やってみよう

ここでは docket-ipsec-vpn-serverを利用してVPN serverを構築する

client setting

https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients.md

macOS

iOS

uninstall VPN

用語

default VPC

  • 削除しては行けない
    • 削除するとセキュリティグループとか一緒に削除される
  • 削除した場合には「AWS サポートに問い合わせ」する

NAT

  • ネットワークアドレス変換
  • IPアドレスレンジを他のIPアドレスレンジに変換するマプを持っている
  • NAT では、複数のプライベート IP アドレスが 1 つのパブリック IP アドレスにマップされます
  • NAT デバイスは Elastic IP アドレスを持ち、インターネットゲートウェイを介してインターネットに接続されます

VPNトンネル

  • ハードウェアVPN接続では2つのVPNトンネルを使用します
  • これはAWSの冗長性確保の思想によるもの
  • 1つのトンネルに障害が発生し使用出来なくなった場合、仮想プライベートゲートウェイは自動的にもう1つのトンネルにルーティングする

setup-ipsec-vpnで設置してみる

Option 1: Have the script generate random VPN credentials for you (will be displayed when finished):

centosを利用

yum update
wget https://git.io/vpnsetup-centos -O vpnsetup.sh && sudo sh vpnsetup.sh

ubuntuを利用

sudo apt-get update && apt-get dist-upgrade
wget https://git.io/vpnsetup -O vpnsetup.sh && sudo sh vpnsetup.sh

UDP ports 500 & 4500, and TCP port 22を許可

References

slide

VPN peering

VPN basic

results matching ""

    No results matching ""