Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS×VPN

Shinya Omori
September 13, 2020

 AWS×VPN

Shinya Omori

September 13, 2020
Tweet

More Decks by Shinya Omori

Other Decks in Technology

Transcript

  1. “ AWS×
    VPN"
    JAWS-UG会津

    View Slide

  2. 2
    ⼤森 信哉 @shinpy
    株式会社アトミテック
    クラウド事業 を担当
    福島県会津若松市 在住(フル・リモート)
    ※超運動不⾜中
    インフラエンジニア兼エバンジェリスト
    好きなサービス:S3

    View Slide

  3. 3
    @Cloudii_jp
    https://cloudii.jp/
    ※近⽇リニューアル予定!!
    ハッシュタグ #Cloudii
    Cloudii Blog
    AWS案件も取り扱ってます!!

    View Slide

  4. 4
    会津⽀部
    JAWS-UG 会津 第1回 勉強会
    • 2013年8⽉10⽇開催
    https://peatix.com/event/15727?lang=ja
    発⾜からなんだかんだで7年!!

    View Slide

  5. 5
    会津⽀部
    (吉田 真吾さんより)

    View Slide

  6. 6
    “ AWS × VPN "
    • コロナ情勢もあり、リモートワークが増えた
    • ⾃宅からクラウド環境へセキュアに接続したい
    • 安価で⼿軽にクライアント・リモートVPN環境を構築したい
    ※UTMまではいらない、、、
    • OpenVPNを採⽤
    ※ (https://openvpn.net/ )
    GPLライセンスで公開されているオープンソースのVPNソフトウェア

    View Slide

  7. 7
    • スタートアップ企業からVPN環境構築依頼(初OpenVPN)
    • ⽇本とヨーローッパ諸国のエンジニアが利⽤する環境にVPNしたい
    • ⼈数は少ないので、EC2(Amazon Linux)にOpenVPNを設定しコストを抑える
    • フランクフルト・リージョンに1⽇で環境構築
    最初の案件
    public subnet
    AWS Cloud
    VPC
    EC2
    OpenVPNサーバー
    Internet
    Internet gateway
    private subnet
    SV等
    【お客様】
    K2 Vision 合同会社 様
    モバイルサービス開発とビッグデータ
    分析の基盤構築やコンサルの仕事をメ
    インに活動
    https://k2-vision.jp/about.html

    View Slide

  8. 8
    「公式サイトから抜粋」
    AWS Client VPN は、オンプレミスネットワーク内の AWS リソースに安全にアクセス
    できるようにする、クライアントベースのマネージド VPN サービスです。クライア
    ント VPN を使⽤すると、OpenVPN ベースの VPN クライアントを使⽤して、どこか
    らでもリソースにアクセスできます。
    https://docs.aws.amazon.com/ja_jp/vpn/latest/clientvpn-admin/what-is.html
    • ある程度の接続数がある。
    • VPNサーバーをマネージドにしたい。
    • 証明書もAWS内で管理したい。
    • 少しでもGUIが欲しい。
    AWS Client VPN
    AWS Client VPN

    View Slide

  9. 9
    AWS Client VPNを⾒てみよう(´・Д・)」

    View Slide

  10. 10
    subnet
    AWS Cloud
    VPC
    WEB01
    WEB02
    Internet
    Internet gateway
    Client VPN Endpoint
    AWS Certificate Manager
    サーバー証明書
    クライアント証明書
    10.11.0.0/16
    10.11.0.0/24
    172.18.0.0/16
    10.11.0.100/24
    10.11.0.110/24
    subnet 10.11.1.0/24
    WEB03
    10.11.1.10/24
    NAT Gateway Internet
    今回準備した仮構成
    • 2つのサブネットに接続許可
    • WEB01への接続NG
    • WEB03のようにプライベート
    サブネット環境にも接続許可
    • スプリットトンネル:有効
    VPNユーザー

    View Slide

  11. 11
    ⽐較ポイント
    OpenVPN
    サーバー
    AWS
    Client
    VPN
    vs
    1.構築難易度
    ※個⼈的主観
    • どちらかといえばAWS Client VPNのほうが敷居が低い
    • 初めての⽅はGUIあると優しいかも?
    ※画⾯が更新されると(ry その時はCLI対応しておく
    • 公式マニュアルが分かりやすい
    • AWS強者の⽅々がブログ等でUPされているので参考になる
    2.構築速度
    • ベースとなるサーバー構築が不要で、⼿軽に構築できる
    ※慣れですが、、、
    OpenVPN
    サーバー
    AWS
    Client
    VPN
    vs

    View Slide

  12. 12
    ⽐較ポイント
    OpenVPN
    サーバー
    AWS
    Client
    VPN
    vs
    3.コスト
    ※個⼈的主観
    • AWS Client VPNはマネージドなだけあって、OpenVPNサーバー
    単体よりは割⾼になる。
    • マネージド・サービスにすることにより運⽤コストは下がる
    • パターンによりコストが変わってくる
    ※VPNクライアント接続数、接続先サブネット数、運⽤⼿間等
    OpenVPN
    サーバー
    AWS
    Client
    VPN
    vs
    4.詳細な要件対応
    • AWS Client VPNでは提供していない利⽤⽅法が出てきた時の適
    応性はOpenVPNサーバー単体のほうが勝っている。
    • どんなパターン例があるかは⼀例を次のスライドで紹介

    View Slide

  13. 13
    「接続ユーザ毎に接続サーバへのより詳細な接続制限をする」
    ※接続ユーザー毎にログイン画⾯を変更したいという要望
    • ユーザーAはWEBサーバーの「TCP/81」へのみ接続OK
    • ユーザーBはWEBサーバーの「TCP/82」へのみ接続OK
    「設定⽅法」
    • ユーザー毎にVPN接続時に配布するIPを予め予約
    • OpenVPNサーバーのiptablesで接続制限設定
    ユーザーA
    ユーザーB
    WEBサーバー
    ( 10.11.1.10 )
    OpenVPN
    サーバー
    OpenVPNでの詳細要件パターン例
    ・ユーザーA専⽤画⾯を閲覧
    ・VPN IP=172.18.0.10を配布
    172.18.0.10のVPNクライアントは
    「http://10.11.1.10:81」のみ接続可
    ・ユーザーA専⽤画⾯を閲覧
    ・VPN IP=172.18.0.10を配布
    172.18.0.10のVPNクライアントは
    「http://10.11.1.10:82」のみ接続可

    View Slide

  14. 14
    まとめ
    • 要件やコストを考慮しながら「AWS Client VPN」or「OpenVPNサーバー」を決定
    • 運⽤コスト削減したい!マネージド!=「AWS Client VPN」
    • より詳細な設定をしたい!他クラウドでも設定継承して利⽤したい!=「OpenVPNサーバー」
    • ネット上に⽂献も沢⼭あるので検討の⼀つとして、「OpenVPN」を (´・Д・)」

    View Slide

  15. ご清聴ありがとうございました(´・Д・)」
    JAWS-UG会津

    View Slide