Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【祝・東京リージョン上陸!】AWS Client VPNを使ってみる
Search
hmatsu47
PRO
June 20, 2019
1
2.2k
【祝・東京リージョン上陸!】AWS Client VPNを使ってみる
JAWS-UG名古屋/AWS Summit Tokyo 2019 振り返り勉強会 LT 2019/06/20
hmatsu47
PRO
June 20, 2019
Tweet
Share
More Decks by hmatsu47
See All by hmatsu47
Claude 3.5 で Haiku
hmatsu47
PRO
0
8
HeatWave on AWS の PrivateLink インバウンドレプリケーションで Aurora フェイルオーバーに追従する
hmatsu47
PRO
0
8
大吉祥寺.pm の LT で ChatGPT の力を借りて Next.js App Router ベースの投句箱を作って、 Lambda Web Adapter を使って公開した話
hmatsu47
PRO
0
8
ある日突然 DB の性能が 1/2(サイズのインスタンス相当)になった話
hmatsu47
PRO
0
31
pgvectorscale と pgai の話(ざっくり)
hmatsu47
PRO
0
49
pgvector 0.7.0 の新機能と、これから来る(かもしれない)pgvectorscale
hmatsu47
PRO
0
35
大人の社会科見学 ~ NTT 技術史料館に行ってみよう!
hmatsu47
PRO
0
420
pgvector 0.6.0 以降の進化についてざっくり取り上げてみる
hmatsu47
PRO
0
64
Cloudflare Workes からMySQL 系 DB への接続事情(2024/4 現在)
hmatsu47
PRO
0
130
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Thoughts on Productivity
jonyablonski
67
4.3k
The Pragmatic Product Professional
lauravandoore
31
6.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Agile that works and the tools we love
rasmusluckow
327
21k
Speed Design
sergeychernyshev
25
620
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Transcript
【祝・東京リージョン上陸!】 AWS Client VPNを使ってみる JAWS-UG名古屋/AWS Summit Tokyo 2019 振り返り勉強会 LT
2019/06/20
はじめに • 自己紹介は省略します • JPタワーでAWSを使って何かやってる人です • ちょっとタイトル詐欺気味です • この場で接続の実演はしません •
こちらの記事に設定方法を書きました • https://qiita.com/hmatsu47/items/ce0cc8b7f5747dbb3190 • 記事の中からAWS Client VPNの設定上・使用上のポイントを ピックアップしました
AWS Client VPNとは • AWSのVPCにVPN接続するためのサービスです • クライアント用VPN接続です • OpenVPNのクライアントから接続することができます •
ルーターモード(dev tun)で接続します • 最近ようやく東京リージョンでサービスインしました • Active Directory認証(+サーバ証明書認証)と、証明書によ る相互認証が可能です • 併用することも可能です
設定の流れ(1/3) • オレオレ認証局(CA)を立てます • 必要な証明書を発行しACMへインポートします(例:サーバ証明書) $ git clone https://github.com/OpenVPN/easy-rsa.git $
cd easy-rsa/easyrsa3/ $ ./easyrsa init-pki $ ./easyrsa build-ca nopass $ ./easyrsa build-server-full server nopass $ mkdir published $ cp pki/ca.crt published/ $ cp pki/issued/server.crt published/ $ cp pki/private/server.key published/ $ cd published/ $ aws acm import-certificate --certificate file://server.crt --private-key file://server.key --certificate-chain file://ca.crt --region ap-northeast-1
設定の流れ(2/3) • Client VPNエンドポイントを作成します
設定の流れ(3/3) • クライアントをインストール・設定します
ポイント① 認証オプションの選択 • Active Directory(AD)認証 • VPNサーバ側でADと連携してユーザ名・パスワードでクライアントを認 証します(ユーザを認証) • 証明書による相互認証
• VPNサーバ側でクライアント証明書を使ってクライアントを認証します (端末を認証) • VPNサーバ側でのクライアントの認証対象が違います • クライアント側ではともにサーバ証明書を使ってサーバを認証します • 前述の通り併用も可能です
ポイント① 認証オプションの選択 【注】証明書にパスワードを付けることはできません • パスワード認証が必要ならActive Directory認証を設定します
ポイント② 証明書と有効期限 • 証明書はACM(AWS Certificate Manager)にインポートします • 証明書には有効期限があります • CA(認証局)証明書
• サーバ証明書 • クライアント証明書(相互認証の場合に使用) • ACMでは証明書を自動更新してくれません • オレオレ認証局で更新してACMに(再)インポートする必要があります • CA証明書を更新したら設定ファイルの再ダウンロードが必要です
ポイント③ クライアントソフト • コンソールから設定ファイルをダウンロードし、クライアント ソフトにインポートして使います
ポイント③ クライアントソフト • そのため、GUIで設定できるもの(例:vpnux Client)よりも、 設定ファイルをインポートして使うソフトのほうが向いていま す(例:OpenVPN GUI for Windows)
• 相互認証では以下の行を追記します • cert 【証明書ファイル名】 • key 【キーファイル名】
ポイント④ Client VPNのルーティング • Client VPNはAWSとしては異例の「外→中(VPC)→外のルー ティングができるサービス」です • OpenVPNクライアントから接続する場合、クライアントの通信 は全てClient
VPNエンドポイントにルーティングされます • そのままではVPN接続中のクライアントから直接インターネットアクセ スができなくなります
ポイント④ Client VPNのルーティング • クライアントからインターネットアクセスさせる場合は、 Client VPNエンドポイントから0.0.0.0/0への受信の承認と ルーティングを設定する必要があります
ポイント④ Client VPNのルーティング ※同じ原理で、オンプレネットワーク(Direct Connect先等) への接続も可能です
まとめ • 認証オプションを適切に選択しましょう • 証明書の更新を忘れずに • クライアントソフトは設定ファイルのインポートが可能なもの が向いています • ルーティングを上手に設定して快適なVPNライフを
ありがとうございました