JAWS SONIC 2020 https://jawssonic2020.jaws-ug.jp/
“ AWS×VPN"JAWS-UG会津
View Slide
2⼤森 信哉 @shinpy株式会社アトミテッククラウド事業 を担当福島県会津若松市 在住(フル・リモート)※超運動不⾜中インフラエンジニア兼エバンジェリスト好きなサービス:S3
3@Cloudii_jphttps://cloudii.jp/※近⽇リニューアル予定!!ハッシュタグ #CloudiiCloudii BlogAWS案件も取り扱ってます!!
4会津⽀部JAWS-UG 会津 第1回 勉強会• 2013年8⽉10⽇開催https://peatix.com/event/15727?lang=ja発⾜からなんだかんだで7年!!
5会津⽀部(吉田 真吾さんより)
6“ AWS × VPN "• コロナ情勢もあり、リモートワークが増えた• ⾃宅からクラウド環境へセキュアに接続したい• 安価で⼿軽にクライアント・リモートVPN環境を構築したい※UTMまではいらない、、、• OpenVPNを採⽤※ (https://openvpn.net/ )GPLライセンスで公開されているオープンソースのVPNソフトウェア
7• スタートアップ企業からVPN環境構築依頼(初OpenVPN)• ⽇本とヨーローッパ諸国のエンジニアが利⽤する環境にVPNしたい• ⼈数は少ないので、EC2(Amazon Linux)にOpenVPNを設定しコストを抑える• フランクフルト・リージョンに1⽇で環境構築最初の案件public subnetAWS CloudVPCEC2OpenVPNサーバーInternetInternet gatewayprivate subnetSV等【お客様】K2 Vision 合同会社 様モバイルサービス開発とビッグデータ分析の基盤構築やコンサルの仕事をメインに活動https://k2-vision.jp/about.html
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 VPNAWS Client VPN
9AWS Client VPNを⾒てみよう(´・Д・)」
10subnetAWS CloudVPCWEB01WEB02InternetInternet gatewayClient VPN EndpointAWS Certificate Managerサーバー証明書クライアント証明書10.11.0.0/1610.11.0.0/24172.18.0.0/1610.11.0.100/2410.11.0.110/24subnet 10.11.1.0/24WEB0310.11.1.10/24NAT Gateway Internet今回準備した仮構成• 2つのサブネットに接続許可• WEB01への接続NG• WEB03のようにプライベートサブネット環境にも接続許可• スプリットトンネル:有効VPNユーザー
11⽐較ポイントOpenVPNサーバーAWSClientVPNvs1.構築難易度※個⼈的主観• どちらかといえばAWS Client VPNのほうが敷居が低い• 初めての⽅はGUIあると優しいかも?※画⾯が更新されると(ry その時はCLI対応しておく• 公式マニュアルが分かりやすい• AWS強者の⽅々がブログ等でUPされているので参考になる2.構築速度• ベースとなるサーバー構築が不要で、⼿軽に構築できる※慣れですが、、、OpenVPNサーバーAWSClientVPNvs
12⽐較ポイントOpenVPNサーバーAWSClientVPNvs3.コスト※個⼈的主観• AWS Client VPNはマネージドなだけあって、OpenVPNサーバー単体よりは割⾼になる。• マネージド・サービスにすることにより運⽤コストは下がる• パターンによりコストが変わってくる※VPNクライアント接続数、接続先サブネット数、運⽤⼿間等OpenVPNサーバーAWSClientVPNvs4.詳細な要件対応• AWS Client VPNでは提供していない利⽤⽅法が出てきた時の適応性はOpenVPNサーバー単体のほうが勝っている。• どんなパターン例があるかは⼀例を次のスライドで紹介
13「接続ユーザ毎に接続サーバへのより詳細な接続制限をする」※接続ユーザー毎にログイン画⾯を変更したいという要望• ユーザーAはWEBサーバーの「TCP/81」へのみ接続OK• ユーザーBはWEBサーバーの「TCP/82」へのみ接続OK「設定⽅法」• ユーザー毎にVPN接続時に配布するIPを予め予約• OpenVPNサーバーのiptablesで接続制限設定ユーザーAユーザーBWEBサーバー( 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」のみ接続可
14まとめ• 要件やコストを考慮しながら「AWS Client VPN」or「OpenVPNサーバー」を決定• 運⽤コスト削減したい!マネージド!=「AWS Client VPN」• より詳細な設定をしたい!他クラウドでも設定継承して利⽤したい!=「OpenVPNサーバー」• ネット上に⽂献も沢⼭あるので検討の⼀つとして、「OpenVPN」を (´・Д・)」
ご清聴ありがとうございました(´・Д・)」JAWS-UG会津